zoukankan      html  css  js  c++  java
  • J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别(转载)

    转载地址:http://blog.csdn.net/alspwx/article/details/20799017

    一、J2EE、J2SE、J2ME区别

    J2EE——全称Java 2 Enterprise Edition,是Java的一种企业版,用于企业级应用开发。

    J2SE——全称Java 2 Standard Edition,是Java的标准版,用于标准应用开发,也是Java基础版本。

    J2ME——全称Java 2 Micro Edition,是Java的微型版,用于手机、PDA等嵌入式开发,针对手机开发,还有专门的J2ME Wireless Toolkit免费套件提供。

    总而言之,J2EE,J2SE,J2ME是java针对不同使用范畴提供不同的服务,也就是提供不同类型的类库。针对企业应用的J2EE(Java 2 Enterprise Edition)、针对普通PC应用的J2SE(Java 2 Standard Edition)和针对嵌入式设备及消费类电器的J2ME(Java 2 Micro Edition)三个版本。

    此外,还有个Java Card版本,顾名思义,Java Card主要面向智能卡应用开发。

    对初学者而言,大都是从J2SE先入手,DOWN个J2SE就可以了,在ORACLE官网,就是Java SE,刚刚去ORACLE官网逛了一下,现在又多了几个名词了,JAVA FX、JAVA DB、JAVA CARD、JAVA Embedded,而且JAVA SE还分JAVA SE Advanced和JAVA SE Suite,.....饶口令一样,还好不是专业做JAVA 开发*_*。

    下面的内容,从是其他网站上复制下来的,感觉不错。

    Java 拥有3个版本,分别为:J2EE、J2SE和J2ME(也就是说,J2EE、J2SE和J2ME是Java的不同版本)。以下是详细介绍:

    • J2EE(Java 2 Platform Enterprise Edition)企业版
      是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发。
    • J2SE(Java 2 Platform Standard Edition)标准版
      是为开发普通桌面和商务应用程序提供的解决方案。该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。比如Java版的扫雷。
      平时所说的JDK其实就是指J2SE,这也是本教程所要讲解的。
    • J2ME(Java 2 Platform Micro Edition)小型版
      是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。
      注意:这里的小型电子消费品不是指搭载了IOS或Android操作系统的手机,IOS和Android系统都有自己的开发组件。


    两点注意:

    • Java5.0版本后,J2EE、J2SE、J2ME分别更名为JAVAEE JAVASE JAVAME。
    • 每个版本名称中都带有一个数字“2”,这个“2”是指Java2:自从 Java1.2 发布后,Java 改名为 Java2(不过我们平时仍然称为 Java)。

    二、SDK、JDK、JRE、JVM区别

    下面再看一下几个三字母的名词概念:

    JDK全称Java development toolkit,相当于是Java的库函数,是编译、运行java程序的工具包。

    SDK——全称Software Develop Kit,软件开发工具包,用于帮助开发人员提高开发效率。各种不同类型的软件开发,都可以有自己的SDK。Windows有Windows SDK,DirectX 有 DirectX 9 SDK,.NET开发也有Microsoft .NET Framework SDK。JAVA开发当然也有自己的Java SDK。

    JDK——全称Java development toolkit,相当于是Java的库函数,是编译、运行java程序的工具包,是一切java应用程序的基础,所有java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。JDK作为Java开发工具包,主要用于构建在Java平台上运行的应用程序、Applet 和组件等,目前ORACLE官网介绍看,JDK属于SDK的一部分,JDK和SDK一起发行的。

    JRE——全称Java Runtime Environment,Java运行环境,也就是Java平台。所有的Java程序都要在JRE下才能运行。JDK的工具也是Java程序,也需要JRE才能运行。为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是安装的一部分。所以,目前ORACLE官网介绍看,JRE则属于JDK的一部分,如果不想开发,只是想跑跑JAVA程序,官网可以下载到单独的JRE包,但如果要开发,还是需安装上面的JDK。

    JVM——全称Java Virtual Machine,Java虚拟机,是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完 善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。

    所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。

    备注:本文主要内容来源于相关链接文章整理,加上天缘个人理解上的修正或补充。也可参考链接文章,但下文链接中有关于J2SE、J2EE等区别问题,天缘个人感觉跟ORACLE官网说法似乎有出入,本文不再涉及,详细概念建议去官网查询。

    三、JAVA基础知识总结

      1. 开发Java语言的公司?
        美国Sun (Sun Microsystems)公司开发。
         
      2. Java的3个版本?
        J2SE(Java2 Standard Edition) 标准版
        J2EE(Java 2 Platform,Enterprise Edition) 企业版
        J2ME(Java 2 Micro Edition) 微小版
        在5.0以后新版本中称作:JavaSE JavaEE JavaME
         
      3. Java语言的几个主要特点?
        平台无关性:能运行于不同的平台上
        安全性:去掉了指针操作,内存由操作系统分配
        面向对象:利用类使程序更加利于维护
        分布式:可以使用网络文件和使用本机文件一样容易
        健壮性:检查程序编译和运行的错误
         
      4. Java的三大核心机制
        虚拟机机制:利用虚拟机解释字节码执行java程序实现跨平台
        垃圾收集机制:自动内存回收
        代码安全性机制:加载代码后校验代码后再执行代码。
         
      5. JDK是什么?
        JDK(Java Development Kit)Java开发工具包。包括了JRE,是开发Java的人员必备的开发运行Java程序的工具。
         
      6. JRE是什么?
        JRE(Java Runtime Environment)Java运行环境,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
         
      7. JVM是什么?
        JVM (Java Virtual Machine) Java虚拟机,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
         
      8. 安装JDK的操作系统问题?
        必须针对于不同的操作系统下载安装不同的JDK,例如windows下安装针对于windows的JDK,linux下安装针对于linux的JDK。
         
      9. 需要配置的相关环境变量?
        path:用于搜索外部命令,例如编译程序的javac命令,执行程序的java命令
        classpath:用于搜索类,即class文件,例如可以在不同的位置执行类文件
      10. 可以编写Java程序的常见开发工具?
        记事本,Eclipse,MyEclipse,Jcreate
         
      11. Java文件的类型?
        有两种:
        扩展名为java的文件:是Java源文件,属于编译之前的纯文本文件,存储java源代码。
        扩展名为class的文件:是Java类文件,属于编译之后的二进制文件,存储字节码。
         
      12. Java的编译运行原理?
        首先编写java源文件,然后编译成class类文件,然后通过虚拟机解释成机器码到硬件执行。
         
      13. Java是编译型语言还是解释型的语言?
        既不是完全编译型,也不是完全解释型,是半编译半解释的
  • 相关阅读:
    shared pointer
    realsense数据分析
    cmake log
    Qt自定义类添加qvector报错
    Java csv
    opencv C++ mask_rcnn
    realsense data
    Test
    ubuntu18 bluebooth
    LSTM_Model
  • 原文地址:https://www.cnblogs.com/K-artorias/p/8075113.html
Copyright © 2011-2022 走看看