转载地址: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. CSS3 过渡、变形和动画

    一.我们来给按钮增加一个悬停效果:#content a:hover {border: 1px solid #000000;color: #000000;text-shadow: 0px 1px whi ...

  2. Leecode刷题之旅-C语言/python-231 2的幂

    /* * @lc app=leetcode.cn id=231 lang=c * * [231] 2的幂 * * https://leetcode-cn.com/problems/power-of-t ...

  3. golang 后台服务设计精要

    原文地址 守护进程 传统的后台服务一般作为守护进程(daemon)运行.linux 上创建 daemon 的步骤一般如下: 创建子进程,父进程退出: 调用系统调用 setsid() 脱离控制终端: 调 ...

  4. Docker CPU Usage

    背景 当一台机器上跑有多个 Docker Container 的时候,我们需要知道,哪些容器占用了多少资源.采集这些指标,来让我们可以更加好的分配资源给每个 Container. 获取容器CPU使用率 ...

  5. LeetCode 910. Smallest Range II

    很有意思的一道数学推理题目, 剪枝以后解法也很简洁.初看貌似需要把每个数跟其他数作比较.但排序以后可以发现情况大大简化:对于任一对元素a[i] < a[j], a[i] - k和a[j] + k ...

  6. POJ3006-Dirichlet's Theorem on Arithmetic Progressions

    题意: 设一个等差数列,首元素为a,公差为d 现在要求输入a,d,n ,要求找出属于该等差数列中的第n个素数并输出 思路:空间换时间是个主旋律.素数表的生成用素数筛选法.方法是从2开始,对每个目前还标 ...

  7. svg vs canvas

    http://fabricjs.com/ https://github.com/ecomfe/zrender http://raphaeljs.com/

  8. drag element

    <div id="logDiv" draggable="true" style="border: 2px dotted red; width: ...

  9. 20155220 实验四 Android开发基础

    20155220 实验四 Android开发基础 实验内容 (一)Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for ...

  10. GridView中加入//实现分页

    要在GridView中加入//实现分页 AllowPaging="true" PageSize="10" // 分页时触发的事件 protectedvoid g ...