Thinking in Java

来源:互联网 发布:信鸽群发软件怎么样 编辑:程序博客网 时间:2024/06/05 07:07

Thinking in Java 读书笔记

第一章~第四章

1,堆

用new 写一行简单的代码,当执行这行代码时,会自动在堆里进行存储分配。(这里的存储分配可能比堆栈进行存储分配需要更多的时间)

2,基本类型

直接储存值于堆栈中,不是对象。
基本类型具有的包装器类,使得可以在堆中创建一个非基本对象(如:Interger————int)

3,数组

当创建一个数组对象时,实际上就是创建了一个引用数组,并且每个引用都会被自动初始为null,表示没有指向对象。

4,不需要销毁对象

监视new创建的所有对象,并辨别那些不会再被引用的对象,随后释放这些对象的内存空间。

5,基本成员变量默认值

当变量作为类的成员使用时,Java才确保给定默认值。以确保哪些是基本类型的成员变量得到初始化。默认值为零。

6,static

调用static域或方法不需要创建任何对象。即使创建了两个对象,也只有一份存储空间。

7,别名现象

Obj1=Obj2; 使得Obj1的引用指向Obj2对象,Obj1对象被回收了。
将一个对象传递给方法时,也会出现别名现象。

8

所有逻辑表达式有一部分不必计算,以获得潜在的性能提升。

9

如果表达式以一个字符串开头,那么所有后续操作数都是字符串类型。

10

Java中危险的窄化转换
能容纳更多信息的数据类型转化成无法容纳那么多信息的类型。

11

浮点转整型的处理方法是截尾。

12

表达式中的最大类型决定了表达式最终类型。

13

int*int小心溢出。int32位最大值为2147483648。

0 0