java编程思想笔记02-一切都是对象
2018-01-15 11:58
267 查看
如果我们说另一种不同的语言,那么我们就会发现一个有些不同的世界.
堆栈,位于用用ram(随机方位存储器)中,通过堆栈指针可以从处理器哪里获得直接支持.堆栈指针向下移动,则分配新的内存;若向上移动,则释放那些内容.这是一种快速有效的分配存储方法,仅次于存储器.创建程序时,java系统必须知道存储在堆栈内所有项的确切声明周期,以便上下移动指针.这一约束限制了程序的灵活性,所以某些java数据存储于堆栈中----特别是对象的引用,但是java对象并不存储于其中.
堆,一种通用的内存池(也位于ram),用于存放所有java对象.堆不同于堆栈的好处是:编译器并不知道存储的数据在堆里活多长时间.因此,在堆里分配内存有很大的灵活性.当需要一个对象时,只需要new写一段简单的代码;当执行这行代码时,会自动在堆里进行内存分配.当然,为这种灵活性必须要付出相应的代价:用堆进行的存储分配和清理可能比用堆栈进行存储分配需要更多的事件.
常量存储,常量值通常直接存放在程序代码的内部,这样做是安全的,因为它们永远不会被改变.有时,在嵌入式系统中,常量本身会和其他部分隔离开,所以在这种情况,可以选择存放在rom(只读存储器)中.
非ram存储,持久化存储,硬盘
boolean 32位(因为当前cpu是32位,一次计算可以容纳32的数据,使用32位计算简便)
char 16
byte 8
short 16
int 32(默认的计算方式,因为计算机cpu的处理器32位)
long 64
float 32
double 64
int a = 12;
{
int b = 13;
}
}
垃圾回收器,用来监视用new创建的所有对象,并辨别那些不会再被引用的对象.随后释放这些对象的内存空间,以便供其他新的对象使用.
2.1 用引用操作对象(reference)
一切都被视为对象,因此可以采用单一固定的语法.尽管一切都看作对象,但操纵的标识符实际上是对象的一个"引用".2.2 必须由你创建对象
String s = new String("abc");2.2.1 存储到什么地方
寄存器,这是最快的存储区,因为它位于其他存储区不同的地方----处理器内部.但是寄存器的数量极其有限,所以寄存器根据需求进行分配.你不能直接控制,也不能在程序中感觉到寄存器的任何迹象.(c和c++允许您向编译器建议寄存器的分配方式).堆栈,位于用用ram(随机方位存储器)中,通过堆栈指针可以从处理器哪里获得直接支持.堆栈指针向下移动,则分配新的内存;若向上移动,则释放那些内容.这是一种快速有效的分配存储方法,仅次于存储器.创建程序时,java系统必须知道存储在堆栈内所有项的确切声明周期,以便上下移动指针.这一约束限制了程序的灵活性,所以某些java数据存储于堆栈中----特别是对象的引用,但是java对象并不存储于其中.
堆,一种通用的内存池(也位于ram),用于存放所有java对象.堆不同于堆栈的好处是:编译器并不知道存储的数据在堆里活多长时间.因此,在堆里分配内存有很大的灵活性.当需要一个对象时,只需要new写一段简单的代码;当执行这行代码时,会自动在堆里进行内存分配.当然,为这种灵活性必须要付出相应的代价:用堆进行的存储分配和清理可能比用堆栈进行存储分配需要更多的事件.
常量存储,常量值通常直接存放在程序代码的内部,这样做是安全的,因为它们永远不会被改变.有时,在嵌入式系统中,常量本身会和其他部分隔离开,所以在这种情况,可以选择存放在rom(只读存储器)中.
非ram存储,持久化存储,硬盘
2.2.2 基本数据类型
java的基本数据类型存储于堆栈中,因为这样更加高效.java要确定每一种基本类型所占存储空间的大小,它们的大小并不像其他大多数语言那样随着机器硬件架构的变化而变化.这是因为java使用了虚拟机.boolean 32位(因为当前cpu是32位,一次计算可以容纳32的数据,使用32位计算简便)
char 16
byte 8
short 16
int 32(默认的计算方式,因为计算机cpu的处理器32位)
long 64
float 32
double 64
2.2.3 java中的数组
当创建一个数组对象时,实际上就是创建了一个引用数组,并且每个引用都会自动的初始化为一个特定值,该值拥有自己的关键字null.2.3 永远不需要销毁对象
2.3.1 作用域 基本数据类型
{int a = 12;
{
int b = 13;
}
}
2.3.2 对象的作用域
java对象不具备和基本类型一样的生命周期,当用new创建一个java对象时,它可以存活作用域之外垃圾回收器,用来监视用new创建的所有对象,并辨别那些不会再被引用的对象.随后释放这些对象的内存空间,以便供其他新的对象使用.
2.4 创建新的数据类型:类
自己创建一个新类,它就是一个新的数据类型.2.4.1 字段和方法
成员变量的初始化值 null2.5 方法,参数和返回值
方法的唯一签名由方法名和参数列表构成2.6 static
2.7 编译和运行
编译器把我们写好的文件编译为class文件,虚拟机则负责解释并运行我们写好的程序.2.9 编码风格
方法 类,变量 包名(不做详细介绍)相关文章推荐
- Java编程思想 第四版 第二章 一切都是对象 笔记 思维导图
- [Java编程思想-学习笔记]第2章 一切都是对象
- java 编程思想的学习笔记 - 第二章 一切都是对象
- JAVA编程思想笔记--一切都是对象
- java编程思想学习笔记--第二章 一切都是对象
- Java编程思想-第二章-一切都是对象-2.1-2.2笔记
- Java编程思想学习笔记——一切都是对象
- 【笔记】Java编程思想—一切都是对象
- 《Java 编程思想》-第2章 一切都是对象 笔记
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习11
- 《Java 编程思想》--第二章:一切都是对象
- Java编程思想3感悟(8)---一切都是对象
- java编程思想之一切都是对象
- Java编程思想——ch02 一切都是对象
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习5
- Java编程思想 4th 第2章 一切都是对象
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习8
- 2.java编程思想之一切都是对象
- Java编程思想 第4版 练习题 / 第2章 一切都是对象 / 练习4
- Java编程思想--第二章 一切都是对象