转载地址: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是编译型语言还是解释型的语言?
      既不是完全编译型,也不是完全解释型,是半编译半解释的

J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别(转载)的更多相关文章

  1. J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别

    转自:http://www.metsky.com/archives/547.html 一.J2EE.J2SE.J2ME区别 J2EE——全称Java 2 Enterprise Edition,是Jav ...

  2. java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)

    首先声明,这篇文章是从网上粘贴过来的.原文地址是:http://www.cnblogs.com/wangaohui/archive/2012/11/28/2791999.html.感觉写的很好,所以粘 ...

  3. Java2_java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)

    什么是SDK呢? Software Develop Kit的简称,顾名思义就是软件开发包.软件开发商实现底层模块,并对其进行类库封装,配置成高级别的开发环境,为程序员上层的程序开发提供支持.譬如Goo ...

  4. jdk,j2ee,j2se,j2me的概念区别

    jdk,j2ee,j2se,j2me的概念区别1.JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包.J2EE是Java 2 ente ...

  5. 转载 j2ee j2se j2me 区别,mvc 和ssh联系理解

    [转]J2SE J2EE J2ME的区别 以及 MVC与SSH对应关系 2014-3-6阅读322 评论0 J2SE J2EE J2ME的区别多数编程语言都有预选编译好的类库以支持各种特定的功能,在J ...

  6. jdk与jre的区别

    很多程序员已经干了一段时间java了依然不明白jdk与jre的区别.JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境. ...

  7. 第一节 JDK是什么?JRE是什么?JDK和JRE的区别?以及jdk安装和测试。

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表 ...

  8. [Java] jdk与jre的区别

    很多程序员已经干了一段时间java了依然不明白jdk与jre的区别.JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境. ...

  9. jdk与jre的区别(转)

    很多程序员已经干了一段时间java了依然不明白jdk与jre的区别.JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境. ...

随机推荐

  1. laravel5.5源码笔记(二、服务提供者provider)

    laravel里所谓的provider服务提供者,其实是对某一类功能进行整合,与做一些使用前的初始化引导工作.laravel里的服务提供者也分为,系统核心服务提供者.与一般系统服务提供者.例如上一篇博 ...

  2. Hbase(2)-HBase简介

    一. HBase的特点 1. 海量存储 Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据.这与Hbase的极易扩展性息息相关.正式因为Hb ...

  3. Zeta--S3 Linux使用PCCAM/WEBCAM模式

    #include <ZetaCameraInterface.h> #include <ZetaMediaPlayInterface.h> using namespace zet ...

  4. 通过SSH服务登陆linux服务器(版本RHEL7)

    通过SSH服务登陆linux服务器(版本RHEL7) SSH服务概述:是一种能够以安全的方式提供远程登陆的协议,也是目前远程管理linux系统的首选方式.在此之前,我们一般使用FTP或者telnet来 ...

  5. 直流电机驱动,TIMER口配置

    电机的电压输出能力和频率有关??? 修改前:------------------------------------------------------------------------------ ...

  6. python 内置调试工具 pdb

    除了 pycharm 可以调试python外,python自带的内置工具pdb 也可以调试 python.其命令方式类似于 gdb. pdb 常用的调试命令见下表. 命令 解释 break 或 b 设 ...

  7. python 验证码识别初探

    使用 pytesser 与 pytesseract 识别验证码 前置 :  首先需要安装  tesserract tesserract windows 安装包及中文 https://pan.baidu ...

  8. 20155229 2016-2017-2 《Java程序设计》第四周学习总结

    20155229 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章: extends:继承某个类,继承之后可以使用父类的方法,也可以重写父类的方法,只要 ...

  9. sql语句-6-高级查询

  10. 【转载】GitHub详解

    原文:GitHub详解 GitHub详解 GitHub 是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容项目.它由GitHub公司(曾称Logical Awesome)的开发者Chr ...