java虚拟机相关学习

1,369 阅读2分钟

第一部分:走近java

java之父,詹姆斯.高斯林

java 文字狱(古代皇帝忌讳的词),即关键字

java不可忽视的优势:一次编写,到处运行

JDK:java程序设计语言、java虚拟机、java api 类库三部分

Java技术体系所包含的内容,以及JDK和JRE所涵盖的范围:

第二部分:自动内存管理机制

堆与栈的区别?

1、两个内存区,只是使用方式不同而已:

堆:主要用于存储new出来的对象

栈:主要用于对对象的引用,说简单点就是对象的地址

堆:引用类型

栈:值类型

堆:就是你家的空间

栈:就是你家的柜子

2、垃圾回收GC(Grabage Collection)回收思路:引用计数算法、根搜索算法

3、finalize()方法进行对象拯救,但只能使用一次

4、新生代(通常存活时间较短)、旧生代(与新生代不同,对象存活的时间比较长,比较稳定)

5、垃圾回收算法(方法论):标记-清除算法、复制法(新生代)、标记-整理算法(老生代)、分代收集算法(根据对象周期不同,将其堆按照新生、老生采取复制或标记)

6、垃圾收集器(具体实现):

7、jdk的命令行工具:jps、jstat、jinfo、jstack、jconsole

第三部分:虚拟机执行子系统

1、java class文件的结构

2、class文件版本号

3、class文件格式

4、类的加载过程

5、类的初始化:

(1)父类的 static 语句和 static 成员变量==》(2)子类的 static 语句和 static 成员变量 ==》(3)父类的 非 static 语句块和 非 static 成员变量 ==》(4)父类的构造方法 ==》(5)子类的 非 static 语句块和 非 static 成员变量 ==》(6)子类的构造方法

6、类加载器:

第四部分:程序编译与代码优化

1、

第五部分:高效并发

1、