加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

从头认识java-1.8 创建和操纵对象(1)

发布时间:2020-12-13 21:05:36 所属栏目:PHP教程 来源:网络整理
导读:这1章节我们来讨论1些创建和操纵对象。 说来,上面的两个话题都看似简单。例如: 使用new创建对象: new String() 使用new来创建了1个文本对象。 使用援用操纵对象 String s; 新建1个s变量,s也是援用String这个类所创建的对象。 但是需要注意的是,如果单

这1章节我们来讨论1些创建和操纵对象。

说来,上面的两个话题都看似简单。例如:

使用new创建对象:


new String()

使用new来创建了1个文本对象。


使用援用操纵对象


String s;

新建1个s变量,s也是援用String这个类所创建的对象。


但是需要注意的是,如果单纯只是上面的那句,当s调用对象的方法时,系统将会出现异常,由于s还没有初始化。所以,1般的做法是:


String s=new String();

在建立变量的同时,初始化变量。


那末,如果这样的话,这个话题说完了,我们下面将会扩大这个话题,使用2⑶个章节来讨论他们的扩大话题。

1.创建的对象存储在哪里?

(1)寄存器-Registers。

寄存器在cup里面,它的运算最快,但是空间小,因此需要根据需求来分配,而且他不会根据我们的代码来分配,而是系统自己计算分配。

寄存器作用:

a.可将寄存器内的数据履行算术及逻辑运算

b.存于寄存器内的地址可用来指向内存的某个位置,即寻址

c.可以用来读写数据到电脑的周边装备。


(2)栈-stack

位于ram

存储对象援用的地方,不存储对象。

当需要1个对象,在堆栈里面查询援用,然后到堆(heap)去找到java对象,再把对象压到栈里面进行准备进行运算,当用完了对象,它会抛弃掉这个对象。

栈使用的是1级缓存, 他们通常都是被调用时处于存储空间中,调用终了立即释放。

栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是肯定的,缺少灵活性。另外,栈数据在多个线程或多个栈之间是不可以同享的,但是在栈内部多个值相等的变量是可以指向1个地址的。堆的优势是可以动态地分配内存大小,生存期也没必要事前告知编译器,Java的垃圾搜集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。


(3)堆-heap

位于ram

速度比栈低,存储对象的地方。

但是它比栈灵活,动态分配对象的存储空间,缺点是,分配和清算对象的时间较长


(4)常量存储-rom

常量1般是不改变的,所以1般存储在rom里面


(5)非ram存储-硬盘等


总结,这1章节介绍了对象的存储。


这1章节就到这里,谢谢。


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读