#Thinking in Java阅读笔记# 第二章 一切都是对象

Java中操纵对象的实际是引用。分为两步:1.创建对象变量以储存引用;2.关联引用和对象(new)
对象的存储地点:
1.寄存器:最快的储存区。数量有限,根据需求进行分配
2.堆栈:位于RAM中,对象引用与基本类型存储于其中。堆栈指针向上运动,则释放内存,向下运动则分配新内存。编译器需要知道所有项的生命周期,以便移动指针
3.堆:位于RAM中,用于存放所有JAVA对象,编译器不需要知道数据在堆里存活多长时间。
4.常量存放在程序代码内部。
5.非RAM储存:完全存活于程序之外,不受任何程序的控制。利于流对象和持久化对象。
常量的大续爱不会随机器硬件架构的变化而变化,因此JAVA具有很好的可移植性。
BigInteger和BigDecimal可以储存任意整数或浮点数而不损失精度,但对于与int/double相同的操作,两者需要调用方法(如BigInteger.add())。
Java数组在创建时确保了其进行了初始化。(对象数组即引用数组初始值为null,基本类型数组也被初始化)
JAVA具有垃圾回收机制:即垃圾回收器可以用来监控所有new创建的对象,如果能判断出这个对象以后不会被使用,则能自动销毁。
当变量是类的成员时,JAVA才能保证初始化以给定其默认值,而局部变量需要初始化,否则可能是任意值。
Static关键字:当一个变量是static时,意味着这个变量被分配了单一储存空间,不管对象存在与否、数量多少,它的储存空间一直在那,且被多个对象共享。一个方法也能是static的。它们即可以通过创建对象调用,也可以不用创建对象直接使用类名调用(className.StaticFuction/StaticVariant,这种常用)。
java.lang类库会自动导入到每个JAVA文件中,所以其中的类可以直接使用。

猜你喜欢

转载自blog.csdn.net/zhou373986278/article/details/78280963
今日推荐