Java, Only Java!

统计

留言簿(20)

积分与排名

好友空间

文档技巧

阅读排行榜

评论排行榜

Java相关的重要术语解析

Java,是一种解释型语言。由SUN公司开发,最初用于移动设备软件开发,结果却因为Internet的发展而成名。
Java语言基本上属于一个完全面向对象的语言,并且语言的设计仍然以简捷为重点,因此有其它语言基础的朋友学习Java语言会感觉比较简单,对于这个语言学习的难点则是面向对象的相关概念,包括:包、类、对象、实例、接口、继承、重载与覆盖,还有就是类、变量、函数的相关作用域,这些是语言学习的重点和难点。
对于语言的学习可以参考《Java 2参考大全》,对于面向对象的学习可以参考《Think in Java》,先学语言打好基础,再学面向对象的概念以及设计,通过自己设计程序再进一步去了解设计模式,循序渐进地达到Java程序员的基本要求。
学习Java还有个非常重要的就是类库,因为没有人还会从头开发程序,SUN公司提供了一套完整的开发用的基础类库,如何用好这些类才是Java语言学习的重中之重。

JVM (Java Virtual Machine, Java虚拟机)。
就是Java程序运行的虚拟环境,因为Java是解释型的语言,因此需要一个边解释边运行的支撑环境。同时,JVM又是在OS(操作系统)之上的,对于在JVM上运行的Java程序提供了统一的标准接口,从而屏蔽了操作系统的差异性,实现了Java代码的“一次编写,处处运行”的承诺,这个解释说明.NET平台理论上也可以实现这个功能,只是微软没有提供这样的支持。
为了提升程序运行的效率以及代码知识产权的保护,Java代码会使用JDK中的编译器编译成字节码(中间代码),从而运行在JVM之上,但是这个编译结果与C/C++这种编译型语言编译出来的结果不同,Java编译出来的是一种结构中立的中间文件格式,只能在JVM上执行,而C/C++编译出来的已经是最终的执行程序,操作系统只是管理和支撑应用运行,但是编译出来的结果已经是机器码。因此Java的Class文件可以使用反编译工具转换成Java代码进行分析,推荐的反编译工具是JAD及它的Eclise插件。
许多公司都有开发自己的JVM,据测试数据显示性能都比SUN提供的免费版本要好,但是我实际使用中没有发现明显地区别,而SUN也有高级但是收费的版本,因此性能上没有显示地提升还是使用免费地版本就可以了。

JRE(Java Runtime Environment,Java运行环境)。JRE提供了类库、JVM与其他组件来支持applet和Java应用程序的运行。另外,JRE拥有两个关键的发布技术:Java Plug-in与Java Web Start,Java Plug-in支持applet运行在大部分浏览器上,Java Web Start则可以将一个独立的应用程序发布到网络上。
JRE同时还是J2EE平台企业级应用开发与部署的支撑技术,但是不包括编译器与调试器等各种工具去支持applet和应用程序的开发。

Java Plug-in。这个技术是JRE的一部分,用于连接浏览器与Java平台。这个连接使得WEB站点的applets运行在客户端的浏览器中。

Java Web Start:只要拥有相同版本的JRE,独立的Java应用程序就可以通过这个技术发布到网络上。

JDK(Java Development Kit,Java开发工具)。
包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar),还有Java类库的源代码(src.zip)以及学习用的例子(sample与demo)。为了使程序安装后就可以运行,许多Java应用服务器会集成JDK,原因可以参考我所写的《JRE与JDK在启动应用服务器中的作用》。
无论是JRE还是JDK最主要是使用他们携带的JVM,以及安装到JDK与JRE目录下的LIB目录里的JAR包。使用JRE还是JDK都通过JAVA_HOME这个参数完成,而对LIB目录下的JAR包则通过CLASSPATH目录进行添加。值得注意的是如果JAVA_HOME设置成JDK的安装目录,实际上用的是包含在JDK安装目录下的JRE目录里的JVM。
JDK里面还包括了开发所需要用的编译、跟踪、发布等多种工具,这里就不一一描述,大家可以在网上查询资料,如果需要我这边补充,也可以跟帖说明。

J2SE( Java 2 Standard Edition, Java 2 标准版)。
Java 2平台标准版(现在叫Java SE)支持客户端和服务器端的Java应用程序开发,如今还包括了嵌入式和实时系统环境。Java SE还支持Java Web Services的开发,并且还是Java EE平台的基础。
Java SE平台中有两个主要的产品就是JRE与JDK。

J2EE( Java 2 Enterprise Edition, Java 2 企业版)。
J2EE(现在叫Java EE)是一种工业标准,用于支持可移植、可扩展、健壮并安全的服务器端Java程序。Java EE提供了web服务、组件模型、管理和通讯API从而可以实现符合工业标准SOA框架与WEB应用程序。Java EE平台包括符合Java EE规范的应用服务器,以及相关的工具、例子及帮助文件。还有符合Java EE标准的应用程序的发布与调试工具。
简单来说Java EE就是一组规范组成的,这些规范合成到一起组成一个技术标准。这个标准现在是由JCP组织制定,最新的版本是2006年6月发布的Java EE 5.0,所有的应用服务器产品都希望通过这样的认证。因为所有认证过的产品从理论上讲符合J2EE规范开发的应用程序都可以平滑地移植,现实中我做的移植工作也只需要修改不到5%的内容,并且大多是XML配置文件而不涉及到源代码。这样的好处使用户无须绑定到某个厂商的平台上,也为扩展这个市场打下了基础。
Java EE 5.0的认证过程是必须通过SUN公司提供的软件测试包,测试包里面包括了27000多个功能点的验证,验证通过后就可以获得这个标志,并且会在SUN的网站上挂出。http://java.sun.com/javaee/overview/compatibility.jsp
在2006年12月Apusic 5.0全球第四家通过了这个认证,这个事实也就说明中国的应用服务器产品终于在技术上没有了差距,甚至因为Apusic研发产品的态度专注,所以还领先了国外的主要竞争对手。
Java EE SDK就是SUN公司开发的一个符合J2EE标准的应用服务器,可以下载后免费使用来了解Java EE的最新技术,当然也可以下载Apusic 5.0这个也是符合Java EE最新标准的产品,而且会有更加友好的中文界面与中文帮助。

写的过程中,总觉得知识点都在相互关联着,于是写出来的东西好像会越来越多,无法收笔。因此,希望看过的朋友多给提宝贵意见,使我写的东西更加有针对性,能够为学习和使用J2EE技术的朋友,以及使用我们Apusic产品的客户带来收获。

posted on 2007-08-02 00:35 zYx.Tom 阅读(1383) 评论(3)  编辑  收藏 所属分类: 1.Java世界

评论

# re: Java相关的重要术语解析 2007-08-02 10:18 Tin

不知道写这个干什么呢?Apusic的JPA是自己写的实现么?对这个比较关心。  回复  更多评论   

# re: Java相关的重要术语解析 2007-08-13 09:05 朱远翔-Apusic技术支持工程师

写这个的根本目的就是希望帮助未能对Java世界有完整了解的朋友们。因为我的工作是技术支持,因此会碰到许多爱好Java的朋友,他们有许多人已经使用Java很久,但是因为工作原因只能接触到Java的一部分(其实我曾经也是这样),于是迫切需要对Java的相关知识有个全面的了解,从而可以对知识有个全面的梳理,选择自己学习的方向。
其实,我写这个Blog的目的也是这样,虽然网络上已经有许多优秀的文章,但是不是每个朋友都已经具有了良好的网络搜索能力,我希望通过这个Blog聚合我所了解的部分知识,从而帮助那些需要的朋友提升自己的能力,也反过来促进我对知识的进一步学习与整理。  回复  更多评论   

# re: Java相关的重要术语解析 2008-09-02 14:24 xbzjackey

多谢,这正是我想了解的。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: