Java的重大发展
-
1990年,在sun计算机公司中,由Patrick Naughton、MikeSheridan以及James Gosling领导的小组Green Team,开发出的新的编程语言,命名为Oak,后期命名为Java。
-
1995年,Sun正式发布Java和HotJava产品,Java首次公开亮相
-
1996年1月23日,发布JDK1.0
-
1998年,JDK1.2版本发布,同时Sun公司发布了JSP/Servlet、EJB规范,开始了将java分为J2EE、J2SE和J2ME,从此Java开始向企业、桌面应用和移动设备应用三大领域挺进
-
2000年,JDK1.3发布,Java HotSpot Virtual Machine正式发布,成为java的默认虚拟机
-
2002年,JDK1.4发布,Classic虚拟机开始退出java的舞台
-
2003年年底,Scala正式发布,同年Groovy也加入java阵营
-
2004年,JDK1.5发布,此时JDK1.5正式改名为JavaSE 5.0
-
2006年,JDK6发布,同年,Java开始开源,并建立OpenJDK,HotSpot成为OpenJDK中的默认虚拟机
-
2007年,Clojure加入java阵营
-
2008年,Oracle收购了BEA,获得了JRockit虚拟机
-
2009年,Twitter宣布把大部分程序从Ruby迁移到Scala,这是Java平台的又一次大规模应用
-
2010年,Oracle收购了sun,获得了Java商标以及HotSpot虚拟机,此时的Oracle已经拥有了两款最具市场价值的虚拟机,并计划将其整合为HotRockit
-
2011年,JDK7发布,在JDK1.7u4中正式开始启用新的垃圾回收器G1
-
2017年,JDK9发布,将G1设置为默认的GC,替代了CMS,并在同年IBM的J9开源,形成了Open J9社区
-
2018年,Android的Java侵权案,Google赔偿Oracle88亿美元,同年Oracle宣布JavaEE成为历史名词,JDBC、JMS、Servlet赠予Eclipse基金会,并发布了JDK11,也称作LTS版本的JDK,发布革命性的ZGC,调整JDK授权许可
-
2019年,JDK12发布,加入RedHat领导开发的Shenandoah GC
了解Java语言的特点
-
面向对象(封装、继承、多态)
-
平台无关性(在操作系统与java语言之间存在一个JVM虚拟机,开发者只需要维护java与JVM之间的关系)
-
支持多线程
-
可靠性
-
安全性
-
支持网络编程
-
半编译半解释型语言
Java与c语言,c++的区别
- c和c++是面向过程的语言
Java是面向对象的语言 - 面向过程:关注的是数据流的流向
面向对象:关注的是对象与对象之间的联系 - C/C++可以直接操作内存
Java运行内存交给JVM处理 - Java取消了c++和c语言中容易造成内存泄漏的指针
- C没有内置多线程机制,直接调用操作系统的多线程功能实现多线程,C++在2011年内置了多线程库
Java提供了多线程机制—但是其本质还是调用的操作系统的多线程 - Java的类只支持单继承(接口支持多继承),C++支持多继承
- C++支持方法重载和操作符重载,java只支持方法重载
- C/C++是编译型语言,Java是半解释半编译型语言