moon 一切皆对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了moon 一切皆对象相关的知识,希望对你有一定的参考价值。
术语:
一)
1)用引用操纵对象
java是通过操纵标识符来完成对内存对象的一个“引用”(reference),相当于遥控操控电视,遥控是引用,对象是电视机
即java支持“按址传递” 还有有一些人称“对象引用“是是对象“按值传递”
2)创建对象
new :创建一个新对象,
java对象的存储:
a.寄存器-最快的存储区,位于处理器内部(CPU) 寄存器数量极其有限,是根据需求进行分配,你不能直接控制(c.C++例外)
b.堆栈:位于通用RAM(随机访问存储器)中,处理器控制堆栈指针(即获得处理器直接支持),若堆栈指针向下移动,则分配新的内存
若向上移动则,资源仅次于寄存器。故在创建程序时,java系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动
堆栈指针,这一约束限制了程序的灵活性,对象的引用就存储在堆栈中,java对象不存储其中
c.堆:通用的内存池(位于RAM区),用于存放java对象,编译器不需要知道存储数据在堆中的存活时间,故在堆中分配存储有很大的
灵活性,其灵活性代价:在堆中存储分配合清理可能比用堆栈进行分配更需要时间(c++是可以在栈中创建对象的)
d.常量存储:常量直接存放在程序代码内部,在嵌入式系统中,常量本身和其他部分隔开,可选择存放在ROM(只读存储器)
e。非RAM存储:数据完全存活于程序之外,不受程序任何控制,在程序没有运行时也可以存在,其中两个基本的例子:流对象和持久化
对象。流对象中,对象转为字节流,通常发送给另一台机器。在“持久化对象”中,对象被存放在磁盘上。
这种存储方式是 将对象转为可以存放在其它介质上的事物,在需要时,恢复成常规的,基于RAM的对象。
三)基本类型
基本类型时存放在堆栈中的,是按值传递的
以上是关于moon 一切皆对象的主要内容,如果未能解决你的问题,请参考以下文章