JDK、J2EE、J2SE、J2ME四个易混淆概念区分

JDK,J2EE,J2SE,J2ME的概念区别是什么呢?

1.这些是什么?

JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包。

J2EE是Java 2 enterprise edition是Java的一种企业版用于企业级的应用服务开发

J2SE是Java 2 standard edition是Java的标准版,用于标准的应用开发

J2ME是Java 2 Micro Edition是Java的微型版,常用于手机上的开发

J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库。

针对企业网应用的J2EE(Java 2 Enterprise Edition)、针对普通PC应用的J2SE(Java 2 Standard Edition)和

针对嵌入式设备及消费类电器的J2ME(Java 2 Micro Edition)三个版本

对于初学者,都是从J2SE入手的。

2. J2EE和J2SE的区别:

J2EE是在J2SE的基础上添加了一系列的企业级应用编程接口.J2EE包含有很多的技术!其中有你熟悉的jsp,

servlet,jdbc,jme等13中技术!

J2EE主要是用来做B/S结构的应用程序!也就是说是基于浏览器和服务器的!

J2SE给我的感觉只需要一个容器就够了,J2EE支持分布式组件可以同时存在多个容器

1)、J2EE到底是什么?

J2EE,是sun公司提出的一个标准,符合这个标准的产品叫“实现”;其中你下载的sun公司的J2EE开发包中就有一

个这样的“实现”,而jboss,weblogic,websphere都是J2EE标准的一个“实现”。由于jboss,weblogic,

websphere自身带有J2EE的api,所以可以不使用sun的J2EE实现。

2)、J2EE sdk和j2sdkee的区别

其实你可以把J2EE sdk和j2sdkee当成是一回事,官方叫法为 J2EE sdk。不过如果你仔细推敲,也可以用下面的方

法来理解:J2EEsdk就是JDK,这个是开发ejg必须要安装的,j2sdkee是J2EE开发环境,这也是要安装的,其实如果

你安装了jboss的话,就不用全部安装j2sdkee了,只要把其中的一个名为J2EE的文件复制过去就可以了,也就是说

JDK是必须要装的,而j2sdkee则不需要,看你用什么做容器了。

3、装过J2EE sdk还需要装J2SE sdk吗?

在sun的网站下载J2EE1.4时,有两种下载包:

一种是J2EE1.4 sdk完整包(all in one),包含J2EE server,J2SE, sample, api doc; J2EE 好像包含J2SE 几乎所

有东西.我看 J2EE里也有一个JDK,它下面的lib和J2SE下面的lib一样大(同版本的).但jre不一样大,因为J2EE比

J2SE多了好多,如java.servlet.* ,java.servlet.http.* 等.

J2EE 是让你用来开发J2EE specification 的东西.如果是用于web 服务器,不装J2EE也行,只要装一个jre (连

J2SE都不用装),外加一个servlet引擎(如tomcat)就够了.

看下面这个,一目了然:

J2SE == JDK == bin + demo + include + jre + lib + src.rar //SUN官方的JDK1.4.2

J2EE == JDK + .... //这里的 JDK 和上面的只有 jre 文件不一样大,原因上文已说.

另一种为单独的J2EE server,安装前需要先安装J2SE sdk。

不管哪个,安装完成后,都要设置java_home,J2EE_home,classpath环境变量,再运行J2EE server即可。

为了方便开发者,Sun把Java区分为J2SE(Java 2 Standard Edition)、J2EE(Java 2 Enterprise Edition)、J2ME(Java 2 Micro Edition)和Java Card四种平台。J2SE是所有Java技术的基础,不管开发人员要开发什么平台的Java应用程序,都必须先从J2SE学起。J2EE技术着重于企业服务器端的应用。J2ME主要针对嵌入式系统,包括手机、PDA等。针对手机应用程序的开发,Sun还提供了免费的J2ME Wireless Toolkit。Java Card技术用来开发可以植入IC智能卡中的应用程序。

以上四种平台的软件开发包(Software Development Kit,SDK)都是免费的,可以从Sun的网站下载。当然,只用SDK未免太不讲究,我们需要开发工具来提高开发效率。这样的工具叫做集成开发环境(Integrated Development Environment,IDE)。以往,Borland JBuilder和IBM Eclipse这两个IDE最受Java程序员的青睐,而Sun自己的IDE却名不见经传。2004年以后,Sun把自己的IDE摆放到重要的位置,努力推进NetBeans和Java Studio的开发。前者是完全用Java撰写的开放源代码的工具,而后者则是重量级的官方开发工具。Sun的开发工具可谓根正苗红,Java程序员终于可以沐浴Sun(阳光)普照了!

JDK、J2EE、J2SE、J2ME之间的关系和区别就向你介绍到这里,是不是没这么混乱了,希望对你理解JDK、J2EE、J2SE、J2ME之间的概念有所帮助。

(0)

相关推荐

  • J2EE 开发购物网站 经验篇 - 建表

    GO ON 继续进阶!!(本贴个人认为对初学者很有帮助,请大家认真看.因时间仓促,如有错误请指正)SQL*PLUS基础在上一贴中,我们掌握了些基本的oracle操作,如创建.授权用户,创建数据库等.在OEM(Oracle Enterprise Manager)可视化的窗口环境中,虽然我们也可以很方便地做这些事,但是事实上,用SQL语言书写在开发上更有效率!!oracle提供的SQL*Plus就是个不错的工具,如果大家喜欢窗口的开发环境,用SQLPlus Worksheet也行!下面说点基本的西西

  • 实战 J2EE 开发购物网站 - 创建数据库

    二:创建数据库小试牛刀oracle 8i(顺便我们练练手)(为了方便,我就将oracle 8i简写8i了)8i和9i确实有些不一样,不过在界面上区别不大,还是以我的oracle 8i为例为大家讲解一下吧!既然是实战,首先我们为自己新建一个开发用户,并创建一个表!!在oracle里创建新用户和表的方法比较多,只要你有管理员的权限(废话!),首先用最简单的,在8i的程序组中启动DBA Studio程序项,在出现的数据库链接信息中输入管理用户名和口令即可,当然,在oracle中,你可以用用户名斜杠口令

  • 图解Eclipse j2ee开发环境的搭建过程

    Eclipse是一个开源的功能强大的ide开发环境,再加上他的扩展插件功能,使得他被广泛使用. J2ee有几种开发环境,eclipse+lomboz或者eclipse+myeclipse. Myeclipse是一个商用产品,较lomboz功能更加强,特别是在struts这样的mvc开发中. 为了能够测试,需要安装一个web server,我用的是tomcat   下面分别介绍安装和配置(win32平台).  1.jdk的安装,注意环境变量的设置,JAVA_HOME,CLASSPATH,PATH

  • J2ee 高并发情况下监听器实例详解

    J2ee 高并发情况下监听器实例详解 引言:在高并发下限制最大并发次数,在web.xml中用过滤器设置参数(最大并发数),并设置其他相关参数.详细见代码. 第一步:配置web.xml配置,不懂的地方解释一下:参数50通过参数名maxConcurrent用在filter的实现类中获取,filter-class就是写的实现类, url-pattern就是限制并发时间的url,结束! <filter> <filter-name>ConcurrentCountFilter</filt

  • 分享J2EE的13种核心技术

    Java最初是在浏览器和客户端机器中粉墨登场的.当时,很多人质疑它是否适合做服务器端的开发.现在,随着对Java2平台企业版(J2EE)第三方支持的增多,Java被广泛接纳为开发企业级服务器端解决方案的首选平台之一. 在本文中我将解释支撑J2EE的13种核心技术:JDBC, JNDI, EJBs, RMI, JSP, Java servlets, XML, JMS, Java IDL, JTS, JTA, JavaMail 和 JAF. J2EE平台由一整套服务(Services).应用程序接口

  • J2EE验证码图片如何生成和点击刷新验证码

    验证码图片生成步骤 创建BufferedImage对象. 获取BufferedImage的画笔,即调用getGraphics()方法获取Graphics对象. 调用Graphics对象的setColor()方法和fillRect()方法设置图片背景颜色. 调用Graphics对象的setColor()方法和drawLine()方法设置图片干扰线. 调用BufferedImaged对象的setRGB()方法设置图片的噪点. 调用Graphics对象的setColor()方法.setFont()方法

  • 经常听朋友说什么J2EE,终于知道点什么是J2EE了,汗一个

    经常听朋友说什么J2EE,终于知道点什么是J2EE了,汗一个,上网搜了下这个说的比较详细了,J2EE,Java2平台企业版(Java 2 Platform Enterprise Edition), 是Sun公司为企业级应用推出的标准平台.Java平台共分为三个主要版本Java EE.Java SE和Java ME. Sun公司在1998年发表JDK1.2版本的时候,使用了新名称Java 2 Platform,即"Java2平台",修改后的JDK称为Java 2 Platform Sof

  • JDK、J2EE、J2SE、J2ME四个易混淆概念区分

    JDK,J2EE,J2SE,J2ME的概念区别是什么呢? 1.这些是什么? JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包. J2EE是Java 2 enterprise edition是Java的一种企业版用于企业级的应用服务开发 J2SE是Java 2 standard edition是Java的标准版,用于标准的应用开发 J2ME是Java 2 Micro Edition是Java的微型版,常用于手机上的开发 J2EE,

  • PHP易混淆函数的区别及用法汇总

    本文实例分析了PHP易混淆函数的区别及用法.分享给大家供大家参考.具体分析如下: 1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1. PHP代码: 复制代码 代码如下: $r = print "Hello World"; 这意味着print可用在一些复杂的表达式中,而echo

  • 基于java集合中的一些易混淆的知识点(详解)

    (一) collection和collections 这两者均位于java.util包下,不同的是: collection是一个集合接口,有ListSet等常见的子接口,是集合框架图的第一个节点,,提供了对集合对象进行基本操作的一系列方法. 常见的方法有: boolean add(E e) 往容器中添加元素:int size() 返回collection的元素数:boolean isEmpty() 判断此容器是否为空: boolean contains(Object o) 如果此collecti

  • Iptables防火墙四表五链概念及使用技巧详解

    目录 1.链的概念 2.Iptables五种链的概念 3.Iptables数据流向经过的表 4.Iptables防火墙四种表的概念 5.Iptables防火墙表与链之间的优先级概念 6.Iptables防火墙表和链之间的使用技巧 **问题1:** **问题2:** 结论: 7.Iptables防火墙几种动作 1.链的概念 在防火墙中,用户想要成功进入内网环境,就需要发送请求报文,请求报文要和防火墙设置的各种规则进行匹配和判断,最后执行相应的动作(放行或者拒绝),一个防火墙中通常针对不同的来源设置

  • PHP易混淆知识整理笔记

    1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1. $r = print "Hello World"; 这意味着print可用在一些复杂的表达式中,而echo则不行.但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句. 2.i

  • php中echo()和print()、require()和include()等易混淆函数的区别

    1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1. $r = print "Hello World"; 这意味着print可用在一些复杂的表达式中,而echo则不行.但是,因为echo语句不要求返回任何数值,所已在代码中echo语句的运行效率要略微快于print语句. 2.i

  • Java多线程编程中易混淆的3个关键字总结

    概述 最近在看<ThinKing In Java>,看到多线程章节时觉得有一些概念比较容易混淆有必要总结一下,虽然都不是新的东西,不过还是蛮重要,很基本的,在开发或阅读源码中经常会遇到,在这里就简单的做个总结. 1.volatile volatile主要是用来在多线程中同步变量. 在一般情况下,为了提升性能,每个线程在运行时都会将主内存中的变量保存一份在自己的内存中作为变量副本,但是这样就很容易出现多个线程中保存的副本变量不一致,或与主内存的中的变量值不一致的情况. 而当一个变量被volati

  • 一些易混淆且不常用的属性,希望有用

    1. readonly [text password textarea] 將元素設置為只讀方式,也就是不能編輯的狀態,與disabled不同的是,readonly不會將字符變為暗灰色 <input type=text readonly value=READONLY> <input type=text disabled value=DISABLED> 2. defaultValue [所有FORM元素] 他的作用是返回元素的最初設置時的 VALUE 屬性的內容,也就是 <inp

  • 浅谈Java平台无关性

    为什么Java要支持平台无关性 众所周知,Java是平台无关的语言,那么Java为什么要支持平台无关性,总结一下,有如下几点 支持多变的网络环境.如今是一个互联网的时代,网络将各种各样的计算机和设备连接起来,比如网络连接了windows的PC机,UNIX工作站等等.为了保证程序能够不加任何修改运行于网络上的任何计算机,而不管计算机是什么种类,什么平台,这样就极大减轻了系统管理员的工作.尤其是程序是通过网络环境进行部署的. 支持网络化嵌入式设备.目前工作场所中存在各种各样的嵌入式设备,比如打印机,

  • JavaScript的正则也有单行模式了

    正则表达式最早是由 Ken Thompson 于 1970 年在他改进过的 QED 编辑器里实现的,正则里最简单的元字符 "." 在当时所匹配的就是除换行符外的任意字符: "." is a regular expression which matches any character except <nl>. 上面这句话出自 QED 在 1970 年的官方文档,这可能是史上第一份正则文档. 为什么要这么规定?是因为 QED 是以行为单位来编辑文件的,而且行

随机推荐