导读:关于java的三种分类J2SE、J2EE、J2ME,在网上有很多资料,然后自己写的,也大多是从各个网站上搜罗里的。算是自己的一种笔记,或者明白的说,就是把别人的东西抄一遍。但是,这对于我来说,也是很重要的一步。

一、java的版本历史

从一种语言发展为一种平台:Java的前身是一种与平台无关的语言“OaK”,诞生于1991年Sun公司的一个研究项目,最初目的是为了应用于消费类电子设备的开发。

1994年Internet开始起步,1995年NetScape宣布把Java集成到其浏览器中,可执行的Java代码可以以Applet的形式在浏览器中运行,Java开始流行。

Sun公司1996年1月发布JDK1.0,1997年2月发布JDK1.1,Java开始在企业中应用。1998年12月发布JDK1.2,即Java 2 平台,并于1999年6月经集成重组后重新发布。

2004Tiger (Java 5.0) released!

二、版本介绍

2.1,J2SE

2.1.1,基本概念

J2SE(Standard Edition,标准版):包含构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程。

2.2.2,应用范围

J2SE是java2的标准版,主要用于桌面应用软件的编程。

2.2,J2EE

2.2.1,基本概念

J2EE(Enterprise Edition,企业版):包含J2SE 中的类,并且还包含用于开发企业级应用的类。比如:EJB、servlet、JSP、XML、事务控制。

2.2.2,应用范围

J2EE是java2的企业版,主要用于分布式的网络程序开发,比如电子商务网站和ERP(Enterprise Resource Planning)系统。

2.3,J2ME

2.3.1,基本概念

J2ME(Micro Edition,微缩版)):包含J2SE中一部分类,用于消费类电子产品的软件开发。比如:呼机、智能卡、手机、PDA、机顶盒。

2.3.2,应用范围

J2ME是java2的微缩版,主要用于嵌入式的系统开发,比如:手机和PDA(Personal Digital Assistant)编程。

三、总结

首先,是对这三者的范围的一个总结:J2ME < J2SE < J2EE

其次,接下来要学习的是J2EE,所以总结一下,J2EE到底是个什么东西:J2EE,是sun公司提出的一个标准(本身也有其实现),符合这个标准的产品叫“实现”;其中下载的sun公司的J2EE开发包中就有一个这样的“实现”,而jboss,weblogic,websphere都是J2EE标准的一个“实现”。由于jboss,weblogic,websphere自身带有J2EE的api,所以可以不使用sun的J2EE实现。

然后,在使用java2平台的东西的时候,通常需要安装JDK,这个JDK是什么呢?JDK(Javadevelopmenttoolkit):相当于是Java的库函数,是编译,运行java程序的工具包。

【Java 理论篇 1】Java2平台的三个版本介绍的更多相关文章

  1. 【java 理论篇 2】J2EE的13种规范

    导读:看完了J2EE的视频,没有什么技术实践,现在就从理论上说明一下J2EE的13种规范,以及现在的自己对它的一个理解.可能会有偏差,但是,算是做为目前的一个记录. 一.13种规范 1.1.JDBC( ...

  2. 使用Java语言开发微信公众平台(三)——被关注回复与关键词回复

    在上一篇文章中,我们实现了文本消息的接收与响应.可以在用户发送任何内容的时候,回复一段固定的文字.本章节中,我们将对上一章节的代码进行适当的完善,同时实现[被关注回复与关键词回复]功能. 一.微信可提 ...

  3. java提高篇(八)----详解内部类

    可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二). 第一次见面 内部类我们从外面 ...

  4. java提高篇(七)-----详解内部类

    可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二). 第一次见面 内部类我们从外面 ...

  5. java提高篇之详解内部类

    可以将一个类的定义放在另一个类的定义内部,这就是内部类. 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二). 第一次见面 内部类我们从外面 ...

  6. Java多线程编程实战指南(核心篇)读书笔记(三)

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76686044冷血之心的博客) 博主准备恶补一番Java高并发编程相 ...

  7. Java Web基础 --- Servlet 综述(理论篇)

    摘要: Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础.本文首先从请求/响应架构应用的大背景谈起 Servlet 的由来,明确 Ser ...

  8. java提高篇(三十)-----Iterator

    迭代对于我们搞Java的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. Iterator iterator = list.iterator(); while(iterator ...

  9. Java总结篇系列:Java多线程(三)

    本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题. 一.一个典型的Java线程安全例子 public class ThreadTest { public static void ma ...

随机推荐

  1. Squid启动报:Could not determine this machines public hostname. Please configure one or set 'visible_hostname'.

    在squid.conf中添加 visible_hostname squid.packet-pushers.net 或者编辑/etc/hosts文件, 在该文件中制定主机IP地址与主机名的对应.

  2. 02.第二章_C++ Primer学习笔记_变量和基本类型

    2.1  基本内置类型 2.1.1  算术类型 算术类型包括两类:整型和浮点型 2.2  变量 2.3  复合类型 2.4  const限定符 2.5  处理类型 2.6  自定义数据结构

  3. #219. 【NOI2016】优秀的拆分

      如果一个字符串可以被拆分为 AABBAABB 的形式,其中 AA 和 BB 是任意非空字符串,则我们称该字符串的这种拆分是优秀的. 例如,对于字符串 aabaabaa,如果令 A=aabA=aab ...

  4. ios 设置head请求头,自定义head, read response header

    AFHTTPSessionManager *manger = [AFHTTPSessionManager manager]; manger.securityPolicy = [AFSecurityPo ...

  5. FileZilla Server 端设置passive模式注意事项

    1,需求和问题的产生 实践中需要分布在各地的各个客户端向云端服务器上传文件,因此在阿里云服务器上安装了FileZilla Server软件作为文件FTP服务端. 客户端程序采用FTP方式向服务端传输文 ...

  6. C#处理Android Audio and Video

    Video Converter for .NET (C#) FFMpeg wrapper http://www.nrecosite.com/video_converter_net.aspx Docum ...

  7. SQL Server 查询锁表和接锁表

    SQL Server 查询锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) as tableNa ...

  8. MySQL数据表查询操作

    准语法结构:编写DQL时一定要严格按照此语法的顺序来实现!/* SELECT [ALL | DISTINCT] ALL表示查询出所有的内容 DISTINCT 去重 {* | 表名.* | 表名.字段名 ...

  9. Python3简明教程(五)—— 流程控制之循环

    有些时候我们需要多次执行相同的任务,我们使用一个计数器来检查代码需要执行的次数.这个技术被称为循环. while循环 while语句的语法如下: while condition: statement1 ...

  10. Qt setWindow setViewPort

    painter.setWindow(-50, -50, 100, 100); //表示x,y坐标不变,可视的窗口移动到(-50,-50)的位置.同时在x,y方向产生factorx= (window.w ...