第二章 一切都是对象

1. 堆、栈、静态区

        通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、"hello"和常量都是放在静态区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至硬盘上的虚拟内存都可以被当成堆空间来使用。

堆区: 
    1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 
    2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 
栈区: 
    1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中 
    2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。 
    3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。 
方法区: 
    1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。 
    2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。

2. Java基本类型

Java基础类型一般都是8种,但《Thinking in Java》中却多了一种void。

参考《Java中Void是基本类型吗?基本类型是8种还是9种?》进行理解void。

基本类型大小最小值最大值包装器类型
boolean---Boolean
char16-bitUnicode 0Unicode 2^16 - 1Character
byte8 bits-128+127Byte
short16 bits-2^15+2^15 - 1Short
int32 bits-2^31+2^31 - 1Integer
long64 bits-2^63+2^63 - 1Long
float32 bitsIEEE754IEEE754Float
double64 bitsIEEE754IEEE754Double
void---Void

3. static关键字

        static修饰属性或方法后,属性和方法不在属于某个特定的对象,而是所有共享,也可以说是static成员不依赖某个对象,在类加载时就被初始化。static修饰的属性或方法,可以直接使用类名调用,而不用先实例化对象再调用。static变量都指向同一个地址。

4. 关于注释

        写注释总觉得很麻烦,特别是项目时间紧迫,压力大的时候。但是写注释不仅是对项目的负责,也是自己能力的体现。在适当的位置加上适当的注释,能给之后的维护和别人的阅读带来极大的便利。

Java三种注释

单行注释: // 注释内容
多行注释: /*...注释内容....*/

文本注释: /**...注释内容....*/

注意:文本注释可以用来自动的生成文档。当项目有需求时,可以用文本注释通过javadoc工具来生成HTML文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值