JAVA-对象
来源:互联网 发布:软件测试的工资待遇 编辑:程序博客网 时间:2024/05/24 15:39
1、一切都是对象,用引用控制对象
引用与对象是相互独立存在的
例如:
String s; //定义一个引用s,s没有与任何对象关联
String s = "hello" //定义一个引用s,并与对象关联
2、对象的作用域
{
String s = new String("hello");
}
引用s在作用域终点处消失了,但是s所指向的String对象永远占据着内存空间
3、对象赋值和函数传参
对象赋值,如:
String s1 = "aaaaa";
String s2 = "bbbbb";
s1 = s2; //s1与s2指向同一个对象"bbbbb"
函数传参,如
void set(String price){
price = "100"; //传递的是String对象的引用,所以可以正确修改对象的值
}
4、JAVA垃圾回收器
垃圾回收器只回收由new分配的内存,当对象不是通过new(C/C++中malloc)而获得了一块"特殊"的内存区域,这种情况下,垃圾回收器(没法执行free方法)是没办法释放这块内存的。
调用finalize方法,垃圾回收器会在下一次垃圾回收动作执行时,回收无效对象的内存。
在C/C++中,在堆上创建对象的代价是十分昂贵的,但是在JAVA中,由于垃圾回收机制的存在,在堆上创建对象的速度竟然可以和C/C++相媲美(JAVA中所有对象,除了基本类型,都在堆上创建)。
引用计数,由于对象之间的相互引用的问题,通常并不会在JAVA虚拟机中被使用。垃圾回收的思想:对于任何"活的对象",一定能够追溯到其存活在堆栈或者静态存储区中的引用,这个引用可能会贯穿数个对象的层次。
- Java对象
- Java对象
- java对象
- JAVA-对象
- java对象
- Java 对象
- Java对象
- java对象
- Java 对象
- java对象
- java对象
- java对象
- java对象
- Java 对象
- Java对象
- java对象
- Java对象
- java----Java面向对象
- 常见Hash算法
- 将字符数字转换为整型数字
- 《操作系统》原理笔(面)试题目总结--不定时更新
- VC编程,使子窗口在父窗口居中的方法
- 解决git cherry-pick xxx fatal: bad object xxx
- JAVA-对象
- 今天的问题
- poj_3268 Silver Cow Party
- 一个关于输入系统的想法
- POJ 1837 Balance(DP)
- 在Eclipse中配置NDK自动编译环境builders
- java线程——死锁
- 构造函数与析构函数执行顺序及其与虚函数关系
- Android import_includes export_includes