文档章节

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

raylee2015
 raylee2015
发布于 2015/10/21 08:10
字数 774
阅读 2
收藏 0

精选30+云产品,助力企业轻松上云!>>>

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

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

使用new创建对象:

new String()

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

使用引用操纵对象

String s;

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

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

String s=new String();

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

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

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

(1)寄存器-Registers。

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

寄存器作用:

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

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

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


(2)栈-stack

位于ram

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

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

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

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


(3)堆-heap

位于ram

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

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


(4)常量存储-rom

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


(5)非ram存储-硬盘等


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


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

-----------------------------------

目录


版权声明:本文为博主原创文章,未经博主允许不得转载。

raylee2015
粉丝 6
博文 265
码字总数 44224
作品 0
江门
私信 提问
加载中
请先登录后再评论。
对Java对象的认识与理解

  今天是我学习编程以来第一次写博客,记下平日学习所得,本来这几日都在学习web框架 但觉得梳理一下之前所学很有必要。毕竟之前学习Java感觉很粗略只是以考试为目的。所以就以《Thinking ...

osc_n86o8vc0
2018/08/01
2
0
对Java对象的认识与理解

  今天是我学习编程以来第一次写博客,记下平日学习所得,本来这几日都在学习web框架 但觉得梳理一下之前所学很有必要。毕竟之前学习Java感觉很粗略只是以考试为目的。所以就以《Thinking ...

手挥死一片
2018/08/01
0
0
Java编程思想(第4版)下载 򐲍

<h2>下载地址: <a style="color: blue;" href="http://www.gqylpy.com/di/13">http://www.gqylpy.com/di/13</a></h2> 《Java编程思想(第4版)》PDF高清完整版-下载 内容简介 编辑 本书赢得了全......

osc_h0wb1wlt
2019/08/18
2
0
JAVA 对象引用,以及对象赋值

转载:https://zwmf.iteye.com/blog/1738574 关键字: java对象 引用 Java对象及其引用 关于对象与引用之间的一些基本概念。 初学Java时,在很长一段时间里,总觉得基本概念很模糊。后来才知道...

osc_3jn62rhp
2019/06/04
2
0
JAVA 对象引用,以及对象赋值

关键字: java对象 引用 Java对象及其引用 关于对象与引用之间的一些基本概念。 初学Java时,在很长一段时间里,总觉得基本概念很模糊。后来才知道,在许多Java书中,把对象和对象的引用混为一...

osc_7zkrlaio
2018/08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

在Python中从字符串转换为布尔值? - Converting from a string to boolean in Python?

问题: Does anyone know how to do convert from a string to a boolean in Python? 有谁知道如何在Python中从字符串转换为布尔值? I found this link . 我找到了此链接 。 But it doesn't......

javail
今天
19
0
中国饭店协会数据表明

记者了解到,中国饭店协会数据表明,2018年全国餐饮收入42716亿元,同比增长9.5%.根据国家统计局数据显示,截至2017年底,限额以上餐饮行业的从业人数达到2232万人,巨大的餐饮市场背后,餐饮行业的...

asd369
今天
35
0
OSChina 周六乱弹 —— 日本的丧尸光天化日之下都开始……

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《風の手枕》- 増田俊郎 手机党少年们想听歌,请使劲儿戳(这里) @码界农民工 :...

小小编辑
今天
55
0
Hacker News 简讯 2020-07-11

更新时间: 2020-07-11 04:01 Investors say agroforestry is climate friendly and also profitable - (mongabay.com) 投资者表示,农林复合林对气候友好,而且也有利可图 得分:86 | 评论:52...

FalconChen
今天
163
0
是否有可能从另一个git存储库中挑选一个提交? - Is it possible to cherry-pick a commit from another git repository?

问题: I'm working with a git repository that needs a commit from another git repository that knows nothing of the first. 我正在使用一个git存储库,需要从另一个不知道第一个存储库......

技术盛宴
昨天
41
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部