FAQ1.05 Java SE. Java EE和Java ME有什么区别?

答:
1.什么是Java SE?

J2SE,便准版的Java平台是一个Java2的平台,为用户提供一个程序开发环境。这个开发环境提供了开发与运行Java软件的编译器等开发工具、软件库及Java虚拟机。它也是Java2平台、企业版本和Java网页服务的基础。

2.什么是Java EE?

J2EE,Java2平台企业版(Java2 Platform Enterprise Editon),是Sun公司为企业级应用推出的便准平台。Java平台共分三个主要版本Java EE、Java SE、和 Java ME。

Sun公司在1998年发表JDK1.2版本的时候,使用了新名称Java 2Pkatform,即“Java2平台”,修改后的JDK称为Java 2 Platform Developing Kit,即J2SDK。并分为标准版(Standard Edition,J2SE),企业版(Enterprise Editon,J2EE),微型版(MicroEditon,J2ME)。J2EE便由此诞生。

2005年6月,JavaOne大会召开,SUN公司公开Java SE6。此时,Java的各种版本已经更名以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。随着Java技术的发展,J2EE平台得到了迅速发展,称为Java语言中最活跃的体系之一。现如今,J2EE不仅指一种便准平台(Platform),它更多的表达着一种软件架构和设计思想。

JavaEE是一系列技术标准所组成的平台,包括:

Applet-Java Applet
EJB-企业级JavaBean(Enterprise Java Beans)
JAAS-Java Authentication and Authorization Service
JACC-J2EE Authorization Contract for Containers
JAF-Java Beans Activation Framework
JAX-RPC-Java API for XML –Based Remote Procedure Calls
JAX-WS-Java API forXML Web Service
JAXM-Java API for XML Messaging
JAXP-Java XML 解析API(Java API for XML Processing)
JAXR-Java API for XML Registries
JCA-J2EE连接器架构(J2EE Connector Architecture)
JDBC-Java数据库链接(Javca Database Connectivity)
JMS-Java消息服务(Java Message Service)
JMX-Java Management
JNDL-Java名字与目录接口(Java Naming and Directory Interface)
JSF-Java Server Faces
JSP-Java服务器页面(Javca Sercer Pages)
JSTL-Java服务器页面标准标签库(Java Server Pages Standard Tag Library)
JTA-Java事务API(Java Transaction API)
JavaMail
Servlet-Java Servlet API
StAX-Streaming API for XML Parsers
WS-Web Services

3、什么是Javca ME?

Java ME以往称作J2ME(Java Platform,Micro Editon)是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一些列虚拟化的Java API。它和Java SE、Java EE一起构建Java技术的三大版本,并且同样是通过了JCP(Java Community Process)制定的。
目前阶段,Java ME最流行的应用是游戏软件。因为以需要昂贵的专用设备和开发工具的竞争对手(如索尼和任天堂)相比,Java ME 程序可以在PC机上开发和仿真运行,然后很容易的部署到目标机上,从而使开发、测试和发布变得容易和廉价。实际上Java ME的用途和前景要广泛得多。

架构
与J2SE和Java EE相比,J2ME总体的运行环境和目标更加多样性,但其中每一种产品的用途却更为单一,而且资源限制也更加严格。为了达到标准化与兼容性的同时尽量满足不同方面的需求,J2ME的框架分为Configuration、Profile和Optional Packages(可选包)。它们的组合取舍形成了具体的运行环境。
Configuration主要是对设备纵向的分类,分类依据包括存储和处理能力,其中定义了虚拟机特性和基本的类库。已经标准化的Connectivity有-Connected Limited Device Configuration(CLDC)和Commected Dervice Configuration(CDC)。
Profile建立在Configuration基础之上,一起构成了完整的运行环境。它对设备横向分类,针对特定领域细分市场,内容主要包括特定用途的类库API。CLDC上已经标准化的Profile有Mobile Information Device Profile(MIDP)和Imformation Module Profile(IMP),而CDC上标准化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)好Personal Profile(PP)。
可选包独立于前两者提供附加的、模块化和更为多样化的功能。目前标准化的可选报包括数据库访问、多媒体、蓝牙等等。

开发工具
开发Java ME程序一般不需要特别的开发工具,开发者只需要装上Java SDK及免费的Sun Java Wireless Tookit 就可以开始编写Java ME程式,编译及测试,目前主要的IDE(Eclipse及NetBeans)都支持Java ME的开发,个别手机开发商如Nokia及Sony Ericsson都有自己的SDK,共开发者在开发出兼容于它们的平台的程序。

转载于:https://www.cnblogs.com/i2xd/archive/2010/01/14/1647837.html

第1章 Java基本概念及环境配置——FAQ1.05 Java SE. Java EE和Java ME有什么区别?相关推荐

  1. Java/JDK安装与环境配置教程

    目录 前言 今天在这里分享一下Java/JDK安装与环境配置的教程,希望对初学Java的小伙伴们可以有所帮助. 一.JDK的下载与安装 二.JDK环境配置 三.验证JDK环境是否配置成功 在安装之前我 ...

  2. scala linux 环境配置,LINUX系统下Java和Scala的环境配置

    最近,笔者在研究一个有关"自然语言处理"的项目,在这个项目中,需要我们用Spark进行编程.而Spark内核是由Scala语言开发的,所以在使用Spark之前,我们必须配置好Sca ...

  3. java JDK安装与环境配置详解(超超超级详细)

    点击以下链接获取详细图文教程! java JDK安装与环境配置详解 https://v.xiumi.us/board/v5/3QTAV/112689421

  4. 初学Java的安装和环境配置全教程

    初学Java的安装和环境配置全教程 欢迎! 这是你第一次来安装和使用Java.你最应该下载哪个来安装,安装后Java环境变量的配置(配置问题会导致多种Java运行问题)等等.这篇博客将为初学者提供Ja ...

  5. JAVA安装步骤及环境配置

    JAVA安装步骤及环境配置 1.下载jdk 2.运行安装文件 3.java环境配置 java新手,因为记性不好,又数次刷机换系统导致每次重新装java的时候要去网上找步骤,这次重新安装之后索性记录一下 ...

  6. 第一章 Burp Suite 安装和环境配置

    Burp Suite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击.在渗透测试中,我们使用Burp Suite将使得测试工作变得更 ...

  7. 架构实战项目心得(三):JAVA和MAVEN的环境配置

    1 java环境配置: 1 下载并安装jdk1.8 2 配置java环境变量: vi /etc/profile,在文件底部增加以下内容: export JAVA_HOME=/data/program/ ...

  8. java选项设置_java环境配置

    javac无法执行检查:看看java 相关的java相关路径有没有多余的符号,比如多出分号,逗号(笔者上面是正确的路径展示形式) Win10下 Java环境变量配置 首先,你应该已经安装了 Java ...

  9. Java基础(1):Java简介和开发环境配置

    写在前面: 其实一直都想做一个自己的博客或者说是网站,来记录自己学习的一些心得的一些自己也需要注意的知识点,因为我也总是忘.网上的文章随便一翻都是千篇一律的,可能我的文章也是一样的,我相信很多人做个人 ...

最新文章

  1. Android中的进程
  2. Spring Boot整合thymeleaf
  3. 社会资源全整合 视频监控全覆盖
  4. 【设计原则】软件开发中的原则
  5. Python生成n位随机数字字符串
  6. 【shell案例】学员管理系统
  7. 跳马周游c++_汉诺塔,n皇后,跳马问题汇总
  8. QObject::connect: Cannot connect QTimer::timeout() to (null)::fuction()
  9. Matching the Blanks: Distributional Similarity for Relation Learning (通篇翻译)
  10. torchsummary的用法
  11. 笨笨图片批量下载器[C# | WinForm | 正则表达式 | HttpWebRequest]
  12. reset.css(常用项目代码初始化)
  13. Hexo接入码云评论系统
  14. 2017 ccpc网络赛 1001 Vertex Cover(二分图 构造)HDU6150
  15. 【论文阅读】用于自动中文作文评分的多阶段预训练
  16. bind 用法及简单实现原理
  17. 电动车充电软件测试,电动车充电用哪个app好?6款充电app评测
  18. 2017WOT全球软件开发技术峰会:面向数据的思维模式和R语言编程
  19. 美国信贷区块链联盟加入R3全球生态系统
  20. 如何用Python查看微信好友撤回的消息?

热门文章

  1. Go test 命令行参数
  2. C++五子棋算法Ai 简单的电脑智能博弈
  3. 《学习笔记》面向对象(四)多态,instanceof关键字,抽象
  4. ubuntu14.04安装Kile
  5. 2018蓝桥杯 航班时间和乘积尾零
  6. MSDC 4.3 接口规范(10)
  7. 【绿色版软件】出现应用程序无法启动,并行配置不正确
  8. zynq usb dwc3中断事件异常
  9. raid卡缓存对硬盘性能_服务器RAID配置方法大全
  10. 什么牌子的蓝牙耳机耐用?2023年最值得入手的蓝牙耳机分享