导读:关于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. java容器章节总结

  2. Hash环/一致性Hash原理

    当前,Memcached.Redis这类分布式kv缓存已经非常普遍.从本篇开始,本系列将分析分布式缓存相关的原理.使用策略和最佳实践. 我们知道Memcached的分布式其实是一种“伪分布式”,也就是 ...

  3. RHEL 6.5----heartbeat

    主机名 IP  所需软件  master 192.168.30.130  heartbeat.httpd node-1 192.168.30.131  nfs  node-2 192.168.30.1 ...

  4. Jquary基础

    基本知识: 就是一个JS函数包 选择器:基本选择器: 基本:ID选择器 “#” , Class选择器 “.”,标签选择器 “标签名” 组合:并列用“,”隔开   后代用空格隔开 过滤选择器:基本过滤: ...

  5. 使用ant build build.xml报“includeantruntime was not set”警告及"Class not found: javac1.8"问题

    问题1:ant编译build.xml报“includeantruntime was not set”警告. 警告详情: warning: 'includeantruntime' was not set ...

  6. 【转】java序列化一定要应该注意的6个事项!

    1.如果子类实现Serializable接口而父类未实现时,父类不会被序列化,但此时父类必须有个无参构造方法,否则会抛InvalidClassException异常. 2.静态变量不会被序列化,那是类 ...

  7. bt5r3安装postgresql

    apt-get install postgresql

  8. 秒杀Sublime Text的微软开源代码编辑工具Visual Studio Code

    1. 下载链接: https://code.visualstudio.com/ 2. 秒开一个ASP.NET网站源码 3.编辑CSS颜色支持 4.Git支持 5.常用快捷键 Ctrl+Shift+P ...

  9. [Github筆記] 清除所有 Commit 紀錄

    # 把原來的 git 移除掉 sudo rm .git -r # 初始化 git init git remote add origin https://github.com/username/repo ...

  10. 在Oracle用SQL处理以 System.currentTimeMillis

    有時為了系統的需求會紀錄到毫秒(Millisecond),我們會接將得到的值寫入db,但是如果要用SQL 做時間範圍的搜尋,有以下做法( systemdate欄位存放System.currentTim ...