Java基础补充(一)

学习《Java编程思想》

巩固基础。

堆栈和堆的区分

堆栈是栈,存储对象引用;堆中存储对象。

编译器不知道存储的数据在堆里存活多长时间。
但是用堆进行存储分配和清理可能比用堆栈进行存储分配需要更多的时间。

Java中所有数值类型都有正负号,没有无符号数值类型。
boolean类型所占存储空间的大小没有明确指定,仅定义为能够取字面值true或false。

高精度数字

java提供了两个用于高精度计算的类:BigInteger和BigDecimal,二者属于“包装器类”的范畴,但二者都没有对应的基本类型。

BigInteger支持任意精度的整数,可以准确表示任何大小整数值,而不会丢失任何信息。
BigDecimal支持任何精度的定点数。

Java确保数组会被初始化,而且不能在它的范围之外被访问。

Java会对成员变量进行初始化,不会对局部变量初始化(可能得到的是任意值)。

方法名+参数列表 合起来被称为“方法签名”

a.f(); 消息是f(),对象是a,这种调用方法的行为通常被称作为发送消息给对象。

字符串中的每个字符的尺寸都是16位或2个字节,以此来提供对Unicode字符集的支持。

static:
需求:
1:只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本不创建任何对象。
2:希望某个方法不与包含它的类的任何对象关联在一起。

当声明一个事物是static时,就意味着这个域或方法不会与包含它的那个类的任何对象实例关联在一起。

非static域和方法必须知道它们一起运作的特定对象。

使用类名是引用static变量的首选方式,这不仅是因为它强调了变量的static结构,而且在某些情况下它还为编译器进行优化提供了更好的机会。

static对每个类都只有一份存储空间,而非static字段则是对每个对象有一个存储空间。
但是如果static作用于某个方法,差别却没有那么大。

java.lang是默认导入到每个Java文件中的,所以它的所有类都可以被直接使用。

public static void main(String[] args){},args用来存储命令行参数。

javadoc只能为public和protected成员进行文档注释,private和包内可访问成员的注释会被忽略掉,所以输出结果看不到它们。这样做是有道理的,因为只有public和protected成员才能在文件之外被使用。

javadoc会丢弃位于每一行开头的星号和前导空格,对所有内容重新格式化,使其与标准的文档外观一致。
不要在嵌入式HTML中使用标题标签如


,因为javadoc会插入自己的标题,可能会发生冲突。

你可能感兴趣的:(JavaSE)