Java各版本之意义、应用领域、对应的类、虚拟机
引用自:internet
---------------意义及其应用的领域----------------------------------------------------
??J2EE( 2 Enterprise Edition):定位在服务器端的应用。Enterprise Beans 是一种用来代表企业逻辑的软件组件;JDBC则是让程序人员能直接在内使用的SQL的语法来访问数据库内的数据;Servlet能够延伸服务器的功能,通过请求-响应的模式来处理客户端的请求;JSP是一种可以将程序代码内嵌在网页内的技术;另外还有包括XML、email及transaction等各种应用于服务器端的API。
??
??J2SE( 2 Standard Edition):定位在个人计算机上的应用。这个版本是平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户接口AWT及Swing,网络功能与国际化、图像处理能力以及输入输出支持等。在互联网上大放异彩的Applet也属于这个版本。
??
??J2ME( Micro Edition):定位在消费性电子产品的应用上。这个版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。这个版本的应用层面相当广泛,会是未来平台发展的重点项目。
??
?? Card:定位在智能卡的应用上。早期的智能卡只具备储存与简单运算功能, Card平台将精简型的irtual machine嵌入卡片内,使程序能通过读卡设备下载至卡片内执行,如此一来就能延伸智能卡的功能。如今 Card技术已成为全球智能卡的标准,业者可以在 Card上提供安全、可下载的增值业务。内含 Card技术的智能卡,可以在整合的微处理器芯片上,安全存储大量个人数据与多个应用程序。目前使用的健保IC卡,亦使用 Card平台,而美国运通银行与VISA组织,也已选择 Card技术作为智能卡应用开发的开发平台。
------------------------类-----------------------------------------------------------
??规范之中有一组核心类(即java.*),在核心类之外还有扩充类(即javax.*)。根据这两种类的支持程度,区分出四种不同的版本:J2EE、J2SE、J2ME、SMART CARD。
??
??J2SE这个版本实现了标准规范之中所定义的核心类,也支持所有的基本类型。
??
??从J2SE往外延伸,其外的为J2EE,此版本还增加了许多支持企业内部使用的扩充类,如支持Servlet/JSP的javax.servlet.* 类、支持Enterprise Bean的javax.ejb.* 类,J2EE定位在服务器端(Server-side)程序的应用上。
??
??从J2SE向内看,首先是J2ME,它所支持的只有核心类的子集合,比方说J2ME CLDC的规范之中,只支持java.lang.* 、java.io.* 以及java.util.* 这些类。此版本也增加了一些支持“微小装置”的扩充类,如javax.microedition.io.* 类。然而,此版本并不支持所有的基本类型,就标准的J2ME CLDC而言,也就是KVM来说,它就不支持属于浮点数(float、double)的基本类型,J2ME定位在嵌入式系统的应用上。
??
??还有一个SMART CARD版本,这部分原本在的文件之中并没有这样定义,但是将它画在J2ME内部很合理的。因为SMART CARD版本只支持java.lang.* 这个核心类,比起J2ME所支持的核心类更少,但它也有属于自己的扩充类,如javacard.* 、javacardx.* 这些类。SMART CARD版本只支持boolean与byte这两种基本类型。就如同其名称,此版本定位在SMART CARD智能卡的应用上。
-------------------------虚拟机-----------------------------------------------------
??在以上每一种版本之中,都有属于自己的虚拟机,藉以达成“一次编写,处处运行”的终极目标。在SMART CARD上有CARD VM,负责执行下载到SMART CARD上的CARD APPLET;在J2ME的世界里,有CVM和KVM,用来执行下载至嵌入式装置上的SPOTLET或MIDlet;在J2SE与J2EE之中,有JVM与HOTSPOT VM(性能更高的虚拟机)负责执行JAVA applet、JAVA Servlet或应用程序。
??
??以上所述的虚拟机都只是soft根据虚拟机规范的参考实现,实际上有许多家公司都有自己开发出来的虚拟机,而且也符合虚拟机器规范。不同的虚拟机的结构不同,但是在同种规范上开发出来的应用程序应该可以在不同厂商的虚拟机上运行。(Reference Implementation)
阅读(1386) | 评论(0) | 转发(0) |