Java一切皆对象

一:引用操作对象

在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>


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值