zoukankan      html  css  js  c++  java
  • 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产品的客户带来收获。

  • 相关阅读:
    .net core读取appsettings.config中文乱码问题
    vs2017错误:当前页面的脚本发生错误
    VS Code中无法识别npm命令
    Visual Studio报错/plugin.vs.js,行:1074,错误:缺少标识符、字符串或数字
    记录一次在生成数据库服务器上出现The timeout period elapsed prior to completion of the operation or the server is not responding.和Exception has been thrown by the target of an invocation的解决办法
    Java集合框架
    java hash表
    Java Dictionary 类存储键值
    java数据结构 栈stack
    java封装
  • 原文地址:https://www.cnblogs.com/zhuyx/p/10402024.html
Copyright © 2011-2022 走看看