转载地址: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. 如何通过审计安全事件日志检测密码喷洒(Password Spraying)攻击

    许多渗透测试人员和攻击者通常都会使用一种被称为“密码喷洒(Password Spraying)”的技术来进行测试和攻击.对密码进行喷洒式的攻击,这个叫法很形象,因为它属于自动化密码猜测的一种.这种针对 ...

  2. 08-可滚动Widget

    可滚动Widget ViewPort视口 在Flutter中,术语ViewPort(视口),如无特别说明,则是指一个Widget的实际显示区域.例如,一个ListView的显示区域高度是800像素,虽 ...

  3. TCGA数据批量下载

    由于经常需要涉及到TCGA数据的分析,我简单的整理了一下数据批量下载的文件后缀. cancer_name <- "SKCM" output_path <- paste0 ...

  4. 20155207JAVA第十二周课堂练习

    20155207JAVA第十二周课堂练习 教材代码检查--P98 修改教材P98 Score2.java, 让执行结果数组填充是自己的学号 Arrays和String单元测试 在IDEA中以TDD的方 ...

  5. 20155315 2016-2017-2 《Java程序设计》第十周学习总结

    学习目标 了解计算机网络基础 掌握Java Socket编程 理解混合密码系统 掌握Java 密码技术相关API的使用 学习资源 Java和Android开发学习指南(第二版)(EPUBIT,,Jav ...

  6. 20155322 2016-2017-2 《Java程序设计》实验二《Java面向对象程序设计》

    20155322 2016-2017-2 <Java程序设计>实验二<Java面向对象程序设计> 实验目的与内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承 ...

  7. 20155331 2016-2017-2 《Java程序设计》第10周学习总结

    20155331 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就 ...

  8. Linux系统基础网络配置老鸟精华篇

    对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太多的初学者徘徊在门外就不奇怪了,这里,老男孩老师花了一些时间总结了这个文档小结,也还不够完善,欢迎大家补充,交流.谢 ...

  9. 解决Extjs有IE下z-index属性的问题

    在用Extjs时,有时候,在Google浏览器上面没有任何问题,但是相同的页面在IE下面就会有问题,直接报错,点击中断,进行后可以看到如下的信息: Google里面没这个问题,加一句代码就能解决在窗体 ...

  10. 【JUC源码解析】ThreadPoolExecutor

    简介 ThreadPoolExecutor,线程池的基石. 概述 线程池,除了用HashSet承载一组线程做任务以外,还用BlockingQueue承载一组任务.corePoolSize和maximu ...