版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JRE和JDK的区别浅析JRE和JDK的含义是什么呢?让我们从他们各自的概念开始吧。JDK是整个Java的核心,包括了 Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基 础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.最主流的JDK是Sun公 司发布的JDK,除了 Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA 公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运 行效率要比Sun JDK包含的
2、JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。JDK 一般有三种版本:SE(J2SE),standard edition,标准版,是我们通常用的一个版本EE(J2EE), enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序,ME (J2ME),micro edtion,主要用于 移动设备、嵌入式设备上的java应用程序Java开发工具(JDK)是许多Java专家最初使用的开发环境。 尽管许多编程人员已经使用第三方的开发工具,但JDK仍被当作Java开发的重要工具。
3、JDK由一个标准类 库和一组建立,测试及建立文档的Java实用程序组成。其核心Java API是一些预定义的类库,开发人员 需要用这些类来访问Java语言的功能。Java API包括一些重要的语言结构以及基本图形,网络和文件I/O. 一般来说,Java API的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境 中实现。作为JDK实用程序,工具库中有七种主要程序。Javac: Java编译器,将Java源代码转换成字节码。Java: Java解释器,直接从类文件执行Java应用程序字节代码。appletviewer:小程序浏览器,一种执行HTML文件上的Java
4、小程序的Java浏览器。Javadoc :根据Java源码及说明语句生成HTML文档。Jdb: Java调试器,可以逐行执行程序,设置断点和检查变量。Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。Javap: Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。JREJRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准 实现及Java核心类库。是Sun的产品,包括两部分:JavaRuntimeEnvironment和 JavaPlug-inJavaRu
5、ntimeEnvironment( JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包 括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具一一编译器、调试器和其它工具。JRE需 要辅助软件JavaPlug-in以便在浏览器中运行applet.J2RE 是 Java2 Runtime Environment,即 Java运行环境,有时简称JRE.如果你只需要运行Java程序或Applet,下载并安装它即可。如果你要自行开发Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不要使用IE 自带的虚拟机来运行Applet
6、,务必安装一个JRE或JDK.那么以上就是对于JRE和JDK的概念以及区别的介绍,希望你对他们有了一定的了解。【编辑推荐】在JDK7 b50中将实现正则表达式命名捕获组JDK的安装图解与环境变量设置详解JDK与JRE的关系和path的作用浅谈JDK、SDK、JRE、JVM 概念详解安装JDK后JRE与JVM联系浅谈JDK、SDK、JRE、JVM 概念详解JDK、SDK、JRE、JVM概念的理解是什么呢?我们经常在进行初级学习的时候JDK、SDK、JRE、JVM概念老 是混淆,那么本文讲给你点启示。AD: 51CTO云计算架构师峰会 抢票进行中!:The Java Virtual Machine
7、Yourprogramclass filesTheJava APLsclass filesHost operating systemJDK、SDK、JRE、JVM概念的认识我们可以通过HelloWorld来理解这几个缩写词的具体含义:public class HelloWorld public static void main(String args) System.out.println(helloworld);5.编译之后,我们得到了 HelloWorld.class (图中的Your programs class files) 在HelloWorld里面,我们调用了 JAVA API中的
8、java.lang.System这个类的静态成员对象out, out的 静态方法:public static void println(String string);然后我们让虚拟机器来执行这个HelloWorld。虚拟机会在 classpath 中找到 HelloWorld.class。虚拟机中的解释器(interpret)会把HelloWorld.class解释成字节码。把解释后的字节码交由execution engin执行。execution engin会调用native method(即平台相关的字节码)来在host system的stdout(显示器) 的指定部分打印出指定的字符串。
9、这样,我们就看到helloworld字样了。有了这个流程后,我们就好理解上面几个术语了:JDK: Java develop kit (Java 开发包)SDK: software develop kit,以前 JDK 叫做 Java software develop kit, 后来出了 1.2 版本后,就 改名叫JDK 了,省时省力,节约成本。JRE. Java runtime environment 我们的 helloworld 必须在 JRE(Java 运行环境,Java 运行环境又叫 Java 平台)里面,才能跑起来。所以,显然地,JRE其实就是JDK + JVMJVM Java vir
10、tual machine.简单地讲,就是把class文件变成字节码,然后送到excution engin中 执行。而为什么叫虚拟机,而不叫真实机呢?因为JVM本身是又不能运算,又不能让显示器显示 helloworld的,它只能再调用host system的API,比如在w32里面就会调c+的API,来让CPU帮 他做做算术运算,来调用c+里面的API来控制显示器显示显示字符串。而这些API不是JDK里面有的, 我们平时又看不见的,所以我们就叫它native api 了解释平台无关。有人会说,在linux的里面调用native api与w32里面调用的api肯定不一样吧?那 为什么说Java是平
11、台无关的呢?其实是这样的,君不见里面又有jdk-for-w32又有jdk-for-linux下载吗?刚才不是说了 吗? native api, native api,就是我们平时看不见的api吗!调用native这些烦琐的活儿都让jdk去 做了。所以我们调用的时候只用知道jdk(Java api)里面的java.io.*能提供磁盘访问功能,java.awt.* 能画个框框画个圆圆就行了吗。至于JDK又是怎么调用的,在LINXU上更圆呢?还是在W32上更圆,这 个就是JDK个人的事情了。(理论上讲是一样圆的,当然这又和显示器是否纯平相关了)同时,这里就引申出了另一个话题。既如何编写平台无关的Ja
12、va程序。其中关键的一条,就是调用且 只调用jdk中的API,而不要私自调用native api。原因很简单啊,JDK-for-linux和JDK-for-w32表 面都是一样的,所以我在w32里面调用JDK写的Java程序,在linux里面也会一样的写法啊,所以就可 以移植来移植去都没问题。但是如果我在w32里面调用了 一个图形显示的native api,当我移植到linux 去的时候,谁又能保证里面也有相同名称,相同参数,相同返回值,相同功能的native api供我调用 呢!以上就是JDK、SDK、JRE、JVM概念详解的介绍,其中的含义还需要慢慢琢磨【编辑推荐】JDK1.4在Windo
13、ws下的环境配置JDK1.6在LINUX下的安装配置JDK1.5中新的语言特征浅析在JDK7 b50中将实现正则表达式命名捕获组JDK日志框架介绍及其主要功能浅析JAVA版本中的JDK与JRE的区别作者:佚名文章来源:本站原创点击数:3110更新时间:2009-4-2 收藏此页JRE是JAVA运行环境JDK是开发工具包JDK就是java2 SDK的曾用名,后来sun公司将其改为了 Java 2 SDK,你从SDK的英文原文就能看出来了,Software Develope kit软件开 发工具集。JRE提供一个应用执行的具体环境,包涵JVM和另外一些提供功能的包,它允许在你的机器上运行编译过的j
14、ava class程序 jdk是java开发工具包,是开发JAVA程序用的,JRE是JAVA运行环境,是运行JAVA程序所需要的环境 JDK多了 javac等编译工具。JDK (Java Develop Kit)JAVA开发工具包 是使用JAVA语言运行在JVM上的开发包。SDK (Software Develop Kit)软件开发工具包泛指很多类型软件的开发包,比如说JDK也是一种SDK,微软公司最近推出的有.net sd k,就是说他公布的SDK是用于.NET开发的。jdk和sdk是一个东西!只是新旧不同的叫法 可以通用啦我觉得书里所指的JDK应该就是比较普遍使用的SDK。JDK 翻译是
15、java development kit.包括 JEE,JSE,JME 等编辑工具。SDK 翻译是 standard development kit.是相对于 JEE 与 JME 而言的。即 JSE。至于SDK下编辑的程序能不能到JDK下编译,就不清楚了,因为我觉得准确说来JDK并不是一个工具,而是一系列工具的总称吧。 jdk= java sdksdk=software development kit so jdk is a kind of sdkJ2SDK包应该比JDK包,多包含了 JRE包 jdk是java开发工具包,而sdk是以jdk为基础的,分为j2se,j2me和j2ee,那么这两者
16、之间有什么关系呢?(我刚刚接触java,有些概念问题弄不 太清楚,请不要见笑)另外如果要搭建一个完整的java程序开发环境,需要在操作系统、应用服务器和数据库服务器上作哪些准备呢,还需要准 备哪些开发软件,最后对于一个刚刚学习java的人来说,应该看些什么java方面的书呢(是不是要看java的学习教程之类的书呢?)sdk是jdk的扩充吧!j2se是j2ee的核心,j2ee是以j2se为基础进行开发的,而j2me则是j2 micro Edition。如果要搭建完整的环境,首先需要安装jdk,然后用edi tplus或者jBuilder作为开发工具。应用服务器可以用Bea weblogic、Ib
17、m websphere,数据库可以用oracle,mysql,sqlserver等。刚学习的人,最好 看一下Thinking in java(这本书挺不错的),另外可以看j2ee核心技术!最好去中国ibm的网站看一些教程,挺不错的!SDK 是 Software Development Kit,软件开发工具包JDK 是 Java Developers Kit java 开发工具包JDK 是一种 SDK HYPERLINK /downloads.html /downloads.html (一)JDK,SDK 名称:JDK是SUN公司提供的Java开发工具(Java Development Kits
18、)的总称.它包括最早的版本,即1995年的beta版,直到最新的,2002年才发布的1. 4.1版,通统可叫JDK.Java和JDK的Versions(版本)名称:Java语言发展到1998年的1.2版,相对于此前的各版有很大改进,为此,SUN把1.2版的JAVA 称为Java 2,标志JAVA语言已成熟,相应的开发 工具也常改称 Java 2 SDK(JAVA 2 Software Development Kit).此后JDK虽又进一步升为1.3和1.4等更高版本,但名称仍然都叫JAV A 2,没有改叫JAVA 3或JAVA 4,而相应的开发工具也仍然都叫Java 2 SDK.Java 2
19、SDK 的 Editions:Java 2 SDK按用途的不同,又分三种类型的edition,这就是:Java 2, Sdandard Edition -简称J2SE,是Java 2的标准版;用于桌面系统或一般商务系统软件的开发.Java 2, Enterprise Edition -简称J2EE,是Java 2的企业版;用于要求较高的企业商务软件的开发.Java 2, Micro Edition -简称J2ME,是Java 2的微型版;用于电话,电视,汽车等家用电器中所需软件的开发.(二)JDK 下载:jdk 下载地址:以上地址是下载Java最重要的地址,是Java的大本营.但可能极不方便,
20、原因是sun的产品太多太多! 一下子是难找到位置的.你如感到不便,也可到我的网站:/java下载,方便极了.所用版本是目前用的最普遍的Java 2 SDK 1.3.1.j2ee JAVA企业开发包j2se JAVA标准开发包 jdk java develop kitsdk sun develop kitsdk 不是上面那样的是java standard develop kit, sdk是sun 的市场人员在java2推出时起的名字 不耻下问是一个褒义词,现在被人认为是自以为是了!这种问题只要找出全拼就不用解释了SDK=Software Development KitJDK=JSDK=Java
21、SDK=Java Software Development KitRe:jdk-1_5_0_0 和 j2sdk-1_4_2_1没有区别 主要是JDK版本问题 不知为什么JDK高对低的支持不是很好低版本的CLASS在高版本的JDK下是不能运行的 再加上JDK1.5 可以说是一个变化非常大的版本所以有可能会出现好多问题建议一般都是在哪个JDK编写 在哪个JDK运行 还是不要换JDK的好概念混乱关于jdk,j2sdk,j2eesdk,jre,彻底晕新人必读贴jdk 是 java devolop kit - java 开发包j2sdk 是 java 2 software devolop kit - j
22、ava2 软件开发包实际上jdk和j2sdk是基本同样的。j2sdk呢有几个版本对应于java2的几个版本,其中j2ee需要用到开发工具就是J2eesdk 了,只不过大部分应用服务器(weblogic jboss等)都内 置了 j2eesdk。当然了,j2sdk标准版是基础,所以要安装先;j2eesdk因为是企业应用嘛,所以是注册后才能下载至于jre是java runtime envionment - java运行环境,jdk中包括了它,但是对于不需要开发只是运行的用户是可以只单独安装jre的,所以sun 提供了 jre的下载。JDK 和 J2SDk:J2SDk 包含了 Java Develo
23、pment kit(JDK)、Java Runtime Environment(JRE)和Java Plug-in。原先sun的JAVA软件开发工具包是JDK,现在就称为J2SDk 了。JRE 和 plug-in:JRE 包含了 java plug-in。sun的java网站上就单独提供J2SDK和JRE各种版本的下载,J2SDk是提供给开发JAVA程序所用,应用程序用户是不需要开发工具的。而JRE顾名思义是JAVA程序要运行所需要的环境,所谓跨平台就是要各种平台都有一个中间代理,那就是JRE。一般采用JAVA技术开发出的软件都得带这个,所以sun就单独提供了 JRE安装文件,以供JAVA应用
24、程序发布时所用。Swing和JFC(Java Foundation Class)JFC是早期Sun对JDK的功能扩展,不是Java的公共 规范,Swing是其中的一项用户界面扩展技术。最新的JAVA2技术则包含了 JFC技术,不需 要再扩展了。说白了,其实就是Sun将JFC纳入了 JAVA核心类库。原先要用到JFC技术,用 户必须在原有的JRE前提下再添加JFC,现在少了一步,只需JRE 了。J2MEJava 2 Micro EditionJ2SEJava 2 Standard EditionJ2EEJava 2 Enterprise Edition如需要进行开发,必须安装J2SE,因为jav
25、ac、jdb等工具由提供。jdk与jre的区别很多程序员已经干了一段时间java 了依然不明白jdk与jre的区别。JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了 Java 的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括 函数库、编译程序等。JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不 是开发者。如果安装了 JDK,会发同你的电脑有两套JRE,一套位于jre另外一套位于C:Program FilesJavajre1
26、.5.0_15目录下,后面这套比前面那套少了 Server端的Java虚拟机,不过 直接将前面那套的Server端Java虚拟机复制过来就行了。而且在安装JDK可以选择是否安装 这个位于C:Program FilesJava目录下的JRE。如果你只安装JRE,而不是JDK,那么只 会在C:Program FilesJava目录下安装唯一的一套JRE。JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮我们运行,同样 的,我们编写的Java程序也必须要JRE才能运行。所以当你装完JDK后,如果分别在硬盘上 的两个不同地方安装了两套JRE,那么你可以想象你的电脑有两台虚拟的J
27、ava PC机,都具有 运行Java程序的功能。所以我们可以说,只要你的电脑安装了 JRE,就可以正确运行Java应 用程序。1、为什么Sun要让JDK安装两套相同的JRE?这是因为JDK里面有很多用Java所编写的开发工具(如javac.exe、jar.exe等),而且都放 置在libtools.jar里。从下面例子可以看出,先将tools.jar改名为tools1.jar,然后运行 javac.exe,显示如下结果: Exception in thread main java.lang.NoClassDefFoundError: com/sun/tools/javac /Main 这个意思
28、是说,你输入 javac.exe 与输入 java -cp c:jdklibtools.jar com.sun.tools.javac.Main 是一样的,会 得到相同的结果。从这里我们可以证明javac.exe只是一个包装器(Wrapper),而制作的目 的是为了让开发者免于输入太长的指命。而且可以发现lib目录下的程序都很小,不大于2 9K, 从这里我们可以得出一个结论。就是JDK里的工具几乎是用Java所编写,所以也是Java应用 程序,因此要使用JDK所附的工具来开发Java程序,也必须要自行附一套JRE才行,所以位于C:Program FilesJava目录下的那套JRE就是用来运行一般Java程序用的。2、如果一台电脑安装两套以上的JRE,谁来决定呢?这个重大任务就落在java.exe身上。Java.exe的工作就是找到合适的JRE来运行Java程序。 Java.exe依照底下的顺序来查找JRE:自己的目录下有没有日;父目录有没有JRE;查询注 册表:HKEY_LOCAL_MACHINESOFTWAREJavaSoftJava
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家用切肉机市场发展现状调查及供需格局分析预测报告
- 2024年度典当行房屋抵押流程合规审查合同
- 2024年度建筑工地脚手架维护合同
- 吸盘碗市场发展现状调查及供需格局分析预测报告
- 织物柔软剂市场发展预测和趋势分析
- 《水泥窑尾高温气体分析装置》
- 2024年度日料店租赁合同书
- 游标卡尺市场发展现状调查及供需格局分析预测报告
- 电路板市场需求与消费特点分析
- 2024年度林产品购销合同
- 物业保洁员培训教程
- 山西省太原市2024-2025学年高三上学期期中物理试卷(含答案)
- 酒店岗位招聘面试题与参考回答2025年
- (高清版)TDT 1037-2013 土地整治重大项目可行性研究报告编制规程
- 新人教版高中地理必修一第四章第一节-常见的地貌类型
- 国家公务员考试准考证模板
- 四方变频器e380说明书
- 2020 ACLS-PC-SA课前自我测试试题及答案
- 中美文化差异英语作文(最新整理)
- (完整版)学校消毒记录表(最新整理)
- 北石70顶驱电气手册
评论
0/150
提交评论