`
takkymj
  • 浏览: 124375 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDK与JRE的含义以及应用详解

阅读更多
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包含的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开发的重要工具。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小程序的Java浏览器。

◆Javadoc:根据Java源码及说明语句生成HTML文档。

◆Jdb:Java调试器,可以逐行执行程序,设置断点和检查变量。

◆Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。

◆Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。是Sun的产品,包括两部分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具——编译器、调试器和其它工具。JRE需要辅助软件 ——JavaPlug-in——以便在浏览器中运行applet.J2RE是Java2 Runtime Environment,即Java运行环境,有时简称JRE.如果你只需要运行Java程序或Applet,下载并安装它即可。如果你要自行开发 Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK.

JDK与JRE在启动应用服务器中的作用:

开始接触Java的时候觉得Java虚拟机很麻烦,不明白JRE与JDK的区别是什么?后来搞清楚JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此对JAVA_HOME设置为JDK的路径时也可以正常运行Java程序,但是JDK比较大包括了许多与运行无关的内容,因此运行普通的Java程序无须安装JDK。

但是用了Eclipse又有了疑问,为什么这个开发环境JRE就可以正常运行呢?其实在Eclipse中内嵌了Java编译器,并且与JDK中的javac完全相容,因此无须使用JDK也可以直接编译Java程序。

学习J2EE的时候又开始不明白,为什么Tomcat和Apusic用JRE就可以启动,Weblogic用JDK才能启动呢?原因是Tomcat和Apusic 4都已经包括了一个源代码编译器,而Weblogic没有包括这个编译器包。

那么为什么需要编译器呢?因为在WEB应用中JSP文件是需要转换成Servlet,这个Servlet文件还需要编译成可以在JRE上执行的class文件,因此必须提供有编译能力的JDK,将JAVA_HOME设置为JDK的路径就可以了。

那么新出现的Apusic 5.0呢?这个版本为了使大家可以灵活调整JVM的版本,因此不再提供自带的Java编译器,而是通过用户安装的JDK来完成JSP的编译工作,这个也就是为什么Apusic 5.0必须通过JDK启动的原因。

分享到:
评论

相关推荐

    JDK、JRE及环境变量的内幕详解

    详解介绍了JDK与JRE的区别,介绍了安装JDK时两套JRE的区别,已经分析了在运行java程序时,是如果搜寻JRE的。最后,介绍了各环境变量的作用,以及变量的的搜寻方式。

    详解JDK,JRE,JVM.md

    详解JDK,JRE,JVM.md

    详解Java中的JDK、JRE、JVM

    本文主要介绍了Java中的JDK、JRE、JVM的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧

    Java8新特性之精简的JRE详解_动力节点Java学院

    Java8新特性之精简的JRE详解_动力节点Java学院,动力节点口口相传的Java黄埔军校

    Java环境变量详解,JRE,JDK,

    JAVA_HOME改成你自己的JDK的安装路径,CLASSPATH和PATH值不用不用改。 CLASSPATH开始必须是 .; 否则控制台下执行你指定路径的.class文件时找不到。 PATH有点小区别,就是追加的位置。在默认的PATH中包含了C:\Windows...

    JDK1.8(32位和64位)正式版+JDK1.8API帮助文档

    没有JDK的话,无法编译Java程序,如果想只运行Java程序,要确保已安装相应的JRE。(JDK已包含)。 jdk1.8新特性详解:(http://www.oschina.net/translate/everything-about-java-8) JDK包含的基本组件包括: javac...

    java jdk8 学习笔记

    jdk包含了java程序语言、工具程序与jre,jre包括了部署技术、java se api与jvm。 6. 7.Web容器是Servlet/JSP唯一认识的HTTP服务器,是使用Java撰写的应用程序,运行于JVM之上。 8.JVM让Java可以跨平台,不同的...

    jdk-7u80-windows64位安装版.zip

    jdk17新特性详解 二进制字面量 在数字字面量使用下划线 switch可以使用string了 实例创建的类型推断 使用Varargs方法使用不可维护的形式参数时改进了编译器警告和错误 try-with-resources 资源的自动管理 捕捉多个...

    JAVA基础面试题总结1

    JAVA基础面试题总结1 JVM,JDK,JRE,字节码详解,Java 基本数据类型,装箱和拆箱

    Java8新特性之精简的JRE详解_动力节点Java学院整理

    主要介绍了Java8新特性之精简的JRE详解的相关资料,需要的朋友可以参考下

    java基础面试题目详解

    1. Java 是一种什么语言,JDK,JRE,JVM 的区别? Java 是一种面向对象开发的编程语言,它最厉害的是实现一处编译,处处运 行,可以摒弃底层操作系统的差异性。 JDK(Java Development Kit)是针对 Java 开发员的产品,...

    jdk1.8_64.7z

    解压缩版,不是安装版 jdk1.8 中对集合的底层结构做了调整。 如HashMap从1.7的数据+链表的形式调整为数据+链表+红黑树。 ConcurrentHashMap从分段机制+数组+链表+红黑树...这里先简要记录,后续会详解Map的原理与区别。

    Java 基础核心总结 +经典算法大全.rar

    JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else if 多分支语句switch 多分支语句 循环语句 while 循环语句do...while 循环...

    深入理解JVM内存结构及运行原理全套视频加资料.txt

     第3讲 环境搭建以及jdk,jre,jvm的关系 免费 00:20:48  第4讲 jvm初体验-内存溢出问题的分析与解决 免费 00:17:59  第5讲 jvm再体验-jvm可视化监控工具 免费 00:21:17  第6讲 杂谈 免费 00:12:37  第7讲 ...

    深入理解Java虚拟机视频教程(jvm性能调优+内存模型+虚拟机原理)视频教程

    第3节环境搭建以及jdk,jre,jvm的关系 [免费观看] 00:20:48分钟 | 第4节jvm初体验-内存溢出问题的分析与解决 [免费观看] 00:17:59分钟 | 第5节jvm再体验-jvm可视化监控工具 [免费观看] 00:21:17分钟 | 第6节杂谈 ...

    基于Android studio3.6的JNI教程之helloworld思路详解

    jdk环境变量配置: path中增加下面2个路径,也就是android studio的路径,android有自带的jdk。 E:\Android\Android Studio\jre\bin E:\Android\Android Studio\bin 新建工程: 一定要选择Native c++类型,最后要选...

    java8源码-java8-sample:该项目仅用于学习java8

    精简的JRE详解 Chapter 9: 跟OOM:Permgen说再见吧 Chapter 10: StampedLock将是解决同步问题的新宠 Chapter 11: Base64详解 Chapter 12: Nashorn:新犀牛 Chapter 13: JavaFX 8新特性以及2048游戏 持续更新中! #JDK...

    shacl-plugin:SHACL4Protege-适用于Protégé的SHACL约束验证插件

    关于该插件已使用Protege 5.5.0进行了尝试和测试具有OpenJDK 11的Debian 10(Buster) Windows 10(1809)和捆绑的JRE 8, 以及带有JDK 8的Mac OSX Catalina。 该插件使用TopBraid SHACL Engine 1.3.1 [2]和Apache ...

    详解如何为eclipse安装合适版本的python插件pydev

    当然,在执行Eclipse之前,必须确认是否正确安装了Java运行环境,即必须安装JRE或JDK,此处不再赘述。 运行Eclipse之后,选择help–>Install new Software,如下图所示。 点击Add,添加pydev的安装地址:...

    java8源码-javase8-sample:javase8-sample.git

    精简的JRE详解 Chapter 9: 跟OOM:Permgen说再见吧 Chapter 10: StampedLock将是解决同步问题的新宠 Chapter 11: Base64详解 Chapter 12: Nashorn:新犀牛 Chapter 13: JavaFX 8新特性以及2048游戏 持续更新中! #JDK...

Global site tag (gtag.js) - Google Analytics