文档章节

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

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

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

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

使用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存储-硬盘等


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


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

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

目录


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

本文转载自:http://blog.csdn.net/raylee2007/article/details/49275223

共有 人打赏支持
raylee2015
粉丝 6
博文 265
码字总数 44224
作品 0
江门
JAVA 对象引用,以及对象赋值

关键字: java对象 引用 Java对象及其引用 关于对象与引用之间的一些基本概念。 有了这个模板,就可以用它来创建对象: 通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作。 ...

happy圈圈
2014/04/23
0
0
我所理解的JVM(一):内存结构

Java Memory Model 简称JMM,译为Java内存模型,属于Java虚拟机规范的一部分 java虚拟机运行时的内存区域分为:程序计数器、虚机机栈、本地方法栈、堆、方法区5部分。其中前3部分是线程独享的...

康斯但丁
2017/10/28
0
0
Java的初始化机制、垃圾回收机制和内存分配机制

刚才在网上看到一篇关于java初始化、垃圾回收机制和内存分配机制的文章,感觉不错,就拿来转发了,以后有空可以再看看,应该会有新的认识和新的收获。 文章: 2.1初始化顺序: [java]view p...

java_T
2013/03/17
0
0
一切皆是对象!

最近重新开始读《Java编程思想》,系统的复习一下Java基础知识,只有打好了坚实的基础,才能有进一步的提高。 在读的过程中发现好多东西又有了更深的理解,还有些东西已经遗忘,为了避免再次...

郏高阳
2012/05/20
0
0
《Java编程思想》第二章:一切都是对象

第二章:一切都是对象 如果我们说另一种不同的语言,那么我们就会发觉一个有些不同的世界。 ——Luduing Wittgerstein(1889-1951) Java是基于C++的,Java是一种更“纯粹”的面向对象程序设...

星汉
07/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

弹性工作制的魔咒

简评:你找到了一份完美的工作 —— 可以提前离开公司,还可以在晚上从家里回复邮件。既然如此,你为什么还会有那么强的负罪感呢? 或许是弹性工作制魔咒在作祟。 很多享受弹性工作制的人会始...

极光推送
3分钟前
0
0
KAFKA介绍(分布式架构)

Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以...

明理萝
9分钟前
0
1
os::NodeHandle::subscribe回调函数绑定对象

void Foo::callback(const std_msgs::Empty::ConstPtr& message){}Foo foo_object;ros::Subscriber sub = handle.subscribe("my_topic", 1, &Foo::callback, &foo_object); 参考: ht......

itfanr
11分钟前
0
0
React16.4 开发简书项目 从零基础入门到实战

React16.4 开发简书项目 从零基础入门到实战 关注我的订阅号下载 React16.4 开发简书项目 从零基础入门到实战

蜗牛奔跑
13分钟前
0
0
day57-20180815-流利阅读笔记-待学习

社恐怎么办?这个漫画或许能治愈你 毛西 2018-08-15 1.今日导读 近日,芬兰漫画家卡罗利娜·科尔霍宁创作的绘本《芬兰人的噩梦》在中国大火。一时间书中的主人公马蒂成为了人们茶余饭后热议的...

aibinxiao
17分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部