Java技术体系发展史及未来展望 java虚拟机j2mej2se
程序员文章站
2022-04-03 10:05:06
...
1.Sun官方定义的java技术体系包括5部分:
①Java程序设计语言
②各种硬件平台上的Java虚拟机
③Class文件格式
④Java API类库
⑤第三方Java类库
2.JDK:我们把java程序设计语言,java虚拟机,Java API类库统称为JDK(Java Development Kit),JDK是用于支持Java开发环境的最小环境.
JRE:我们把Java API类库中Java SE API的子集和java虚拟机两部分称为JRE(Java Runtime Environment).JRE是支持Java程序运行的标准环境.
3.按照技术服务领域划分,Java体系可以划为4个平台:
①Java Card:支持运行一些Java小程序(Applets)运行在小内存设备(如智能卡)上.
②Java ME(Micro Edition,J2ME):支撑Java程序运行在移动端设备上,现在已经被Android替代.
③Java SE(Standard Edition,J2SE):支持桌面级应用的java平台,提供了完整的Java核心API.
④Java EE(Enterprise Edition,J2EE):支持使用多层架构的企业级应用(如ERP,CRM应用),除了提供Java SE的API外,并做了扩充,提供了部署支持.(扩充:以java.*为包名的包都是Java SE API的核心包部分,后来扩展加入了javax.*的包部分)
4.Java发展史:
1991.4,James Gosling的绿色计划,此计划的目的是开发一种能在各种消费性电子产品上运行的程序架构,命名为Oak(橡树).
1995.5.23,Oak改名为Java,提出了"Write Once,Run Anywhere"的口号.
1996.1.23,JDK1.0正式发布,Java语言有了第一个正式版本的运行环境.JDK1.0提供了一个纯解释执行的Java虚拟机实现(Classic VM,只能使用外挂的方式使用JIT).
1997.2.19,JDK1.1发布,技术代表有:JAR文件格式,JDBC,JavaBeans,RMI(Remote Method Invocation),
java语法扩展:内部类,反射
1998,12.4,JDK1.2发布,代号为playground(竞技场).Sun在这个版本中将java技术体系拆分为三个方向:Java ME,Java SE,Java EE.(Java 2 Platform).在此版本中,第一次内置了JIT(HotSpot VM,Exact VM都是内置JIT编译器.HotSpot VM在JDK1.2中是作为附加程序提供的,在JDK1.3及以后是默认虚拟机).
2000.5.8,JDK1.3发布,代号Kestrel(美洲红隼),主要改进在一些类库上:JNDI平台级服务,提供了大量新的Java 2D API,并且新添加JavaSound类库.
2002.2.13,JDK1.4发布,代号Merlin(灰背隼),提供了很多新的技术特性:正则表达式,异常链,NIO,日志类,XML解析器,XSLT转换器.(两个小版本,JDK1.4.1-Grassshopper-蚱蜢,JDK1.4.2-Mantis-螳螂).Classic VM退出商用虚拟机历史舞台.
2004.9.30,JDK1.5发布,代号Tiger(老虎),提供的改进:
语法上:自动装箱,泛型,动态注解,枚举,可变长参数,遍历循环(foreach)等
虚拟上:改进了Java内存模型(Java Memory Model)
API上:提供了并发包(java.util.concurrent)
2006.12.11,JDK1.6发布,代号为Mustang(野马),终结了8年J2ME,J2SE,J2EE命名方式,启用了JavaME6,JavaSE6,JavaEE6的命名方式.
语法上:提供动态语言支持
虚拟机上:改进了锁与同步,垃圾回收,类加载上的改动.
API上:提供编译API,微型HTTP服务器API等.
2009.2.19,JDK1.7发布,代号为Dolphin(海豚).提供的改进:
虚拟机上:提供了新的G1收集器,在JDK1.7 Update4中转正.
系统支持:JDK1.7 Update4,开始支持Mac OS X操作系统,在Update6完全支持.
语法支持:对ARM指令集架构提供了支持.
5.Java虚拟机发展史:
①Sun公司:
Classic VM:使用纯解释器执行Java代码,如果使用JIT,必须使用外挂方式.在JDK1.4退出历史舞台.
Exact VM:使用编译器和解释器混合工作模式,因使用准确式内存管理得名,即虚拟机使用可以知道内存中某个位置的数据具体是什么类型.在JDK1.4退出历史舞台.
HotSpot VM:在JDK1.3及以后版本的默认虚拟机,使用"热点代码探测技术".在2009年已被Oracle收购.
JRockit VM:原BEA公司虚拟机,在2008年被Oracle收购.优势:垃圾回收器,MissionControl服务
②IBM公司:
J9 VM:原是内部开发代号,正式名称是IT4J(IBM Technology for Java Virtual Machine).最初是由IBM Ottawa实验室一个名为SmallTalk的虚拟机扩展而来,这个虚拟机有一个bug是由8k值定义错误引起的,此后这个版本的虚拟机就成为K8.然后
工程师花了很长时间解决了这个问题,后来扩展出支持Java的虚拟机就叫J9.
③Google公司:
Android Dalvik VM:Android平台核心组成部分之一,名字来源于一个名为Dalvik的小渔村.它不是一个虚拟机,没有遵循Java虚拟机规范,使用寄存器架构.它执行的dex(Dalvik Executable)文件可以由Class文件转化而来,使用java语法编写应用程序,可以直接使用大部分Java API.
6.展望Java技术的未来
①模块化:Jigsaw(拼图)
②混合语言
③多核并行
④进一步丰富语法
⑤64位虚拟机
①Java程序设计语言
②各种硬件平台上的Java虚拟机
③Class文件格式
④Java API类库
⑤第三方Java类库
2.JDK:我们把java程序设计语言,java虚拟机,Java API类库统称为JDK(Java Development Kit),JDK是用于支持Java开发环境的最小环境.
JRE:我们把Java API类库中Java SE API的子集和java虚拟机两部分称为JRE(Java Runtime Environment).JRE是支持Java程序运行的标准环境.
3.按照技术服务领域划分,Java体系可以划为4个平台:
①Java Card:支持运行一些Java小程序(Applets)运行在小内存设备(如智能卡)上.
②Java ME(Micro Edition,J2ME):支撑Java程序运行在移动端设备上,现在已经被Android替代.
③Java SE(Standard Edition,J2SE):支持桌面级应用的java平台,提供了完整的Java核心API.
④Java EE(Enterprise Edition,J2EE):支持使用多层架构的企业级应用(如ERP,CRM应用),除了提供Java SE的API外,并做了扩充,提供了部署支持.(扩充:以java.*为包名的包都是Java SE API的核心包部分,后来扩展加入了javax.*的包部分)
4.Java发展史:
1991.4,James Gosling的绿色计划,此计划的目的是开发一种能在各种消费性电子产品上运行的程序架构,命名为Oak(橡树).
1995.5.23,Oak改名为Java,提出了"Write Once,Run Anywhere"的口号.
1996.1.23,JDK1.0正式发布,Java语言有了第一个正式版本的运行环境.JDK1.0提供了一个纯解释执行的Java虚拟机实现(Classic VM,只能使用外挂的方式使用JIT).
1997.2.19,JDK1.1发布,技术代表有:JAR文件格式,JDBC,JavaBeans,RMI(Remote Method Invocation),
java语法扩展:内部类,反射
1998,12.4,JDK1.2发布,代号为playground(竞技场).Sun在这个版本中将java技术体系拆分为三个方向:Java ME,Java SE,Java EE.(Java 2 Platform).在此版本中,第一次内置了JIT(HotSpot VM,Exact VM都是内置JIT编译器.HotSpot VM在JDK1.2中是作为附加程序提供的,在JDK1.3及以后是默认虚拟机).
2000.5.8,JDK1.3发布,代号Kestrel(美洲红隼),主要改进在一些类库上:JNDI平台级服务,提供了大量新的Java 2D API,并且新添加JavaSound类库.
2002.2.13,JDK1.4发布,代号Merlin(灰背隼),提供了很多新的技术特性:正则表达式,异常链,NIO,日志类,XML解析器,XSLT转换器.(两个小版本,JDK1.4.1-Grassshopper-蚱蜢,JDK1.4.2-Mantis-螳螂).Classic VM退出商用虚拟机历史舞台.
2004.9.30,JDK1.5发布,代号Tiger(老虎),提供的改进:
语法上:自动装箱,泛型,动态注解,枚举,可变长参数,遍历循环(foreach)等
虚拟上:改进了Java内存模型(Java Memory Model)
API上:提供了并发包(java.util.concurrent)
2006.12.11,JDK1.6发布,代号为Mustang(野马),终结了8年J2ME,J2SE,J2EE命名方式,启用了JavaME6,JavaSE6,JavaEE6的命名方式.
语法上:提供动态语言支持
虚拟机上:改进了锁与同步,垃圾回收,类加载上的改动.
API上:提供编译API,微型HTTP服务器API等.
2009.2.19,JDK1.7发布,代号为Dolphin(海豚).提供的改进:
虚拟机上:提供了新的G1收集器,在JDK1.7 Update4中转正.
系统支持:JDK1.7 Update4,开始支持Mac OS X操作系统,在Update6完全支持.
语法支持:对ARM指令集架构提供了支持.
5.Java虚拟机发展史:
①Sun公司:
Classic VM:使用纯解释器执行Java代码,如果使用JIT,必须使用外挂方式.在JDK1.4退出历史舞台.
Exact VM:使用编译器和解释器混合工作模式,因使用准确式内存管理得名,即虚拟机使用可以知道内存中某个位置的数据具体是什么类型.在JDK1.4退出历史舞台.
HotSpot VM:在JDK1.3及以后版本的默认虚拟机,使用"热点代码探测技术".在2009年已被Oracle收购.
JRockit VM:原BEA公司虚拟机,在2008年被Oracle收购.优势:垃圾回收器,MissionControl服务
②IBM公司:
J9 VM:原是内部开发代号,正式名称是IT4J(IBM Technology for Java Virtual Machine).最初是由IBM Ottawa实验室一个名为SmallTalk的虚拟机扩展而来,这个虚拟机有一个bug是由8k值定义错误引起的,此后这个版本的虚拟机就成为K8.然后
工程师花了很长时间解决了这个问题,后来扩展出支持Java的虚拟机就叫J9.
③Google公司:
Android Dalvik VM:Android平台核心组成部分之一,名字来源于一个名为Dalvik的小渔村.它不是一个虚拟机,没有遵循Java虚拟机规范,使用寄存器架构.它执行的dex(Dalvik Executable)文件可以由Class文件转化而来,使用java语法编写应用程序,可以直接使用大部分Java API.
6.展望Java技术的未来
①模块化:Jigsaw(拼图)
②混合语言
③多核并行
④进一步丰富语法
⑤64位虚拟机
上一篇: jtable实现回车新增一行