码迷,mamicode.com
首页 > 其他好文 > 详细

moon 一切皆对象

时间:2016-05-17 06:21:46      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

术语:

一)

     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 一切皆对象

标签:

原文地址:http://www.cnblogs.com/aishangliuling/p/5500129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!