java 是1991年是为了交互式电视设计,sun公司在1996年发布java1.0版本,java的特点是“一次编译,到处执行”,借助于
在浏览器上可执行java apple,渐渐流行起来,在1999年发布java1.2,分为javaee、javase、javame。
2006年11月,sun,通过GPL条款,开源了大部分jvm源码
2009年oracle收购了java
2000-05,java 1.3
2002-02,java 1.4.0
2004-10,java 1.5.0,这里有个版本号发生改变,更改为java 5,以前的j2sdk更名为jdk,j2re更名为jre,https://docs.oracle.com/javase/1.5.0/docs/
概要图
2006-04,java6访问地址:https://docs.oracle.com/javase/6/docs/
2011-07,java7访问地址:https://docs.oracle.com/javase/7/docs/
2014-03,java8访问地址:https://docs.oracle.com/javase/8/ 或 https://docs.oracle.com/javase/8/docs/
2017-09,java9访问地址:https://docs.oracle.com/javase/9/ ,界面风格改版
2018-03,java10访问地址:https://docs.oracle.com/javase/10/
2018-11,java11访问地址:https://docs.oracle.com/en/java/javase/11/
断言,https://docs.oracle.com/javase/8/docs/technotes/guides/language/assert.html
泛型,https://docs.oracle.com/javase/1.5.0/docs/guide/language/generics.html
增强了循环,https://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html
自动装箱/拆箱,https://docs.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html
Typesafe枚举(Effective Java 21 item),https://docs.oracle.com/javase/1.5.0/docs/guide/language/enums.html
可变参数,https://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html
静态导入(Effective Java 17 item),https://docs.oracle.com/javase/1.5.0/docs/guide/language/static-import.html
元数据(注解),https://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html
主要对security方面的增强,https://www.oracle.com/technetwork/java/javase/documentation/overview-156328.html
fork / join框架,https://docs.oracle.com/javase/7/docs/technotes/guides/concurrency/changes7.html
switch中使用String类型,https://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html
数值类型在二进制中的表达方式,https://docs.oracle.com/javase/7/docs/technotes/guides/language/binary-literals.html
try-with-resources语句,释放资源,https://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html
catch多种类型的异常,https://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html
在数值类型中添加下划线,便于阅读,https://docs.oracle.com/javase/7/docs/technotes/guides/language/underscores-literals.html
泛型中的类型推导,https://docs.oracle.com/javase/7/docs/technotes/guides/language/type-inference-generic-instance-creation.html
Lambda Expressions,https://docs.oracle.com/javase/8/docs/technotes/guides/language/enhancements.html#javase8
Stream,流式操作,https://docs.oracle.com/javase/tutorial/collections/streams/
并发增强,https://docs.oracle.com/javase/8/docs/technotes/guides/concurrency/changes8.html
模块化,对java的支持包,模块进行大的变动,意味着classLoader也发生了很大改变
创建不可修改集合,List.copyOf,Set.copyOf和Map.copyOf
局部变量推导,var,https://docs.oracle.com/javase/10/language/toc.htm#JSLAN-GUID-7D5FDD65-ACE4-4B3C-80F4-CC01CBD211A4
对java9和java10中的新特性经行整合
语言规范,http://cr.openjdk.java.net/~iris/se/11/latestSpec/java-se-11-jls-draft-diffs.pdf
虚拟机规范,http://cr.openjdk.java.net/~iris/se/11/latestSpec/java-se-11-jvms-draft-diffs.pdf
java1.4-java8语言层面大纲,https://docs.oracle.com/javase/8/docs/technotes/guides/language/enhancements.html#javase8
后续会依次列出io/nio、jdbc、jvm、集合、反射等历史经行罗列,并对各个知识点进行理解式输出。