## Java发展历史
![](https://img.kancloud.cn/78/be/78bebb5a85bde8b6b260c2ff87409bfc_805x290.png)
* 1995年5月23 Oak语言更名为Java
* 1996年1月23 JDK 1.0发布
* 1997年2月19日JDK 1.1发布
技术代表:JDBC,JAR文件格式,JavaBeans,RMI。
* 1998年12月4日里程碑版本 JDK1.2
技术体系拆分为面向桌面级应用开发的J2SE、面向企业级应用开发的J2EE、面向手机等移动端开发的J2ME;这本版本的 Java虚拟机第一内置了JIT(编译器)。
* 1999年4月27HotSpot虚拟机发布
HotSpot最初是一家小公司开发,由于其优秀的 表现,这家公司在1997年被sun公司收购,HotSpot虚拟机发布时是作为Java1.2的附加程序提供的,后来它成为了JDK1.3以及之后的所有版本的Sun JDK的默认虚拟机。
* 2004年9月30日 JDK1.5发布
工程代号Tiger,在语法易用性上做了很大的改进,例如:自动装箱,泛型,枚举,可变参数,遍历循环(foreach循环)等。
* 2006年11月13日 Sun公司宣布Java开源,建立OpenJDK组织对代码进行管理
* 2006年12月11日 JDK1.6发布
启用Java SE6,Java 6EE,Java ME6的命名方式,提供动态语言支持,提供编译API,微型HTT服务器API;同时这个版本对Java虚拟机内部做了大量改进,包括锁与同步、垃圾收集、类加载等方面的算法都有很大的改动。
* 2009年12月,SUN公司发布Java EE 6
* 2011年7月28日,Oracle公司发布Java SE 7
* 2014年3月18日,Oracle公司发表Java SE 8(市场主流版本)
* 2017年9月21日,Oracle公司发表Java SE 9
后续版本待更新……
## Java体系结构
![](https://img.kancloud.cn/6e/ff/6eff5c2b0017865c45f503c16f39513f_964x601.png)
主要包括Java虚拟机(JVM)、Java运行环境(JRE)以及一些工具(java、javac、javap等)共同构成Java开发套件(JDK)。
## 参考资料
* 周志明 * 《深入理解Java虚拟机》
- 面试突击
- Java虚拟机
- 认识字节码
- 000Java发展历史
- 000Macos10.15.7上编译OpenJDK8u
- 001熟悉Java内存区域
- 002熟悉HotSpot中的对象
- 003Java如何计算对象大小
- 004垃圾判定算法与4大引用
- 005回收堆和方法区中对象
- 006垃圾收集算法
- 007HotSpot虚拟机垃圾算法实现篇1
- 007HotSpot虚拟机垃圾算法实现篇2
- 007HotSpot虚拟机垃圾算法实现篇3
- 008垃圾收集器
- 009内存分配与回收策略
- 010Java虚拟机相关工具
- 011调优案例分析
- 012一次IDEA的启动速度调优
- 013类文件Class的结构
- 014熟悉字节码指令
- 015类加载机制(过程)
- 016类加载器
- IDEA的JVM参数
- Java基础
- Java自动装箱与拆箱
- Java基础数据类型
- Java方法的参数传递
- Java并发
- 001走入并行的世界
- 002并行程序基础
- 003熟悉Java内存模型JMM
- 004Java并发之volatile关键字
- 005线程池入门到精通
- 006Java多线程间的同步控制方法
- 007Java维基准测试框架JMH
- 008Java并发容器
- 009Java的线程实现
- 010Java关键字synchronized
- 011一些并行模式的熟悉
- 单例模式和不变模式
- 生产者消费者模式
- Future模式
- 012一些并行算法的熟悉
- 面试总结
- 长亮一面