您的位置:首页 > 编程语言 > Java开发

Java一切皆对象

2016-06-24 07:30 344 查看
一:引用操作对象

在Java中,一切都被视为对象,既然一切都是对象,那就有一个相同的方式来操作对象,所操作的标示符实际上是对对象的一个引用。这里可以理解为遥控器操作电视机,遥控器是可以单独存在的,也就是说,你有一个引用,不代表你必须有和引用关联的对象。

String s = "Hellow,world";


上面创建一个引用并初始化。

String s = new String("hello");


上面创建一个引用,并且使用new操作符来关联一个新对象。这里不仅给了一个字符串,还说明了字符串是如何产生的。

二:对象的存储方式

1)寄存器:这是快的存储区,在处理器的内部,但是数量有限,无法直接控制

2)堆栈:位于通用的随机访问存储器中,堆栈指针向下移动,则分配新的内存,向上移动,释放内存。常用来存储java的对象引用

3)堆:通用的内存池,存放所有的java对象

4)常量存储:直接存放在程序代码的内部,这样非常的安全,常量的值不会被改变

三:java的垃圾回收机制

java存在一个垃圾回收器,监视所有使用new创建的对象,并判断哪些是不再被引用的对象,随后释放内存空间,这样很好的解决了编程的内存泄露问题。

操作案例:

<span style="font-size:18px;">package com.cloud.day1;
public class Demo3 {
public static void main(String[] args) {
//这里创建一个引用,并且初始化
String s = "Hello";
//创建一个引用并且使用new关联对象
String s1 = new String("MyString");
String s2 = new String("YourString");
//这里修改s2的引用的指向地址,指向s1引用指向的对象地址
//程序运行到这里就会产生一个垃圾对象"YourString"
//jvm启动垃圾回收时,就会回收该垃圾对象,释放空间
s2 = s1;
System.out.println("s1:"+s1);
System.out.println("s2:"+s2);
/**输出结果
* s1:MyString
* s2:MyString
*/
}
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: