JavaSE知识要点总结。
1、整型常量在Java中3中表现形式(10进制、0开始,8进制、0x
开始,16进制)
2、byte1->short2–>int4—>long8字节; 一字节=8位;
3、默认情况下小数都被看做double8型,要用float4字节型需在
小数尾加F/f.
4、局部变量和成员变量名字相同时,成员变量在此方法中暂时
失效。
5、StringBuilder:字符串生成器
6、类访问权限不加修饰符默认包访问权限
7、this 还可以在无参构造方法中调用同类中的有参构造方法(
this仅限于无参第一句)。
8、JVM作为程序与操作系统之间桥梁,Java内存分配一切原理都
在JVM中进行。
在JAVA中,有六个不同的地方可以存储数据:
1)寄存器(register),JVM内部虚共享拟寄存器,最快
的存储区,程序不可控制。
2)堆(heap)位于通用RAM中,存放动态产生的数据(new
出来的对象(只包含属于各自的成员变量,不包含成员方法,因
为同一类的对象拥有各自成员变量,存储于各自堆中,但他们)
该类方法,需要时把该方法压栈,调用结束则释放),通过栈指
针通过上下移动分配内存,效率仅次于寄存器,
3)栈(stack)保存局部变量值(包括对象的引用(指针
))必须初始化,另外栈中数据可以共享。
4)常量池:指的是在编译期被确定,并被保存在已编译的
.class文件中的一些数据。它包括了关于类、方法、接口等中的
常量,也包括字符串常量(包装类|Double、Float没有实现|,
String实现了常量池技术),常量池存在于堆中(Java中数学运
算都在栈中进行)。
5)代码段:用来存放从硬盘上读取的源程序代码
6)数据段:用来存放static定义的静态成员、字符串常
量
栈空间方法调用结束立即自动释放局部变量、引用变量占有的
内存空间;堆空间则等待垃圾回收机制自动回收(如下:)
9、当一个对象不再有任何一个引用变量指向它时,这个对象
就被应用抛弃了。或者说,这个对象可以被垃圾回收机制回收了
;JVM的垃圾回收机制有多个算法。除了引用计数法是用来判断
对象是否已被抛弃外,其它算法是用来确定何时及如何做回收。
JVM的垃圾回收机制要在时间和空间之间做个平衡。