第一部分:走近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、