一、

jre

jdk

有什么区别

???

为什么安装

jdk

后会有两套

jre

?(一套一般在

c:\program files\java\jre

下,一套自己选择的

jdk

安装路径下,一般为

d:\jdk1.5\jre

;)

答:

1.1

以下是

java.sun.com

上的官方解释:

Question: Why would anyone want the JRE if the Java 2 SDK has

everything in the JRE and more?

Answer: The JRE is smaller and therefore easier to download or

distribute with software than the Java 2 SDK. Most users of Java

technology are people who just want to run applets and applications

developed by others. They're not interested in developing any

applications themselves. The relatively small Java RE is made for such

end users. They can download the Java RE themselves from the web, or

software vendors can include it in their own products. The typical end

-user doesn't need the bulkier Java 2 SDK with its development tools.

1.2

自己的理解:

问:

jre

jdk

有什么区别

?

答:

JRE

提供了

JAVA

程序运行的必要环境平台;

jdk

提供了

java

的编程环境,它包含编译调试的环境功能,包含

JRE

如果只安装了

jre

,那么

cmd

命令行中只能执行

java

指令,不能执行

javac

安装好

jdk

后才能执行

javac

,因为

jre

中不包含用于开发的编译环境;

问:

为什么安装

jdk

后会有两套

jre

答:

l

之所以需要两套

jre

,是因为可以分担工作;当用户只需要执行

java

的程序时,那

l

c:\program files\java\jre

下的

jre

ok

!当用户是

java

程序员,需要

java

开发环境,那么开发时,系统就会优先去找“

java

javac

”这些命令本身的目录或者他们的父目录的

jre

;这样开发时一般运行的是

jdk

下的

jre

;而运行外部程序时,一般运行的是

l

c:\program files\

下的

jre

,实现了分工,不同的

jre

负责各自范围的内容;

l

详细的解释和学习,参看王森的

<

深度历险

>>

的第二章“深入

java 2 SDK

l

,讲得非常明白到位!

相关内容摘录如下:(图略)

您所執行的是哪一個

java.exe ?

既然您的電腦裡頭至少有兩套

JRE

,那麼誰來決定用哪一套

JRE

?

這個重

責大任就落在

java.exe

的身上。

當我們在命令列輸入

java XXX

的時候,

java.exe

的工作就是找到合適的

JRE

來執行類

檔。

java.exe

依照底

下邏輯來尋找

JRE:

1.

自己的目錄下有

JRE

目錄。

(

這個部分這樣

並不是非常精確,原因

請詳見

JDK

原始碼,這此不特

別說

)

2.

父目錄底下

JRE

子目錄。

3.

查詢

Windows

Registry(

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java

Runtime Environment\

)

所以,

java.exe

的執行結果和您電腦裡面哪一個

java.exe

被執行,然後哪一

JRE

被拿來執行

Java

應用程式有莫大的關係。

l

另外,在实际的项目开发中,我们发现很多时候

eclipse

老报错,提示

java

虚拟机

l

内存不足,但是机器的内存是

2G

的,怎么可能内存不足呢?后来发现是

jvm

所支持

l

的内存最高只能设置为

64M

的缘故,这时我们把一套

jre

拷贝到

eclipse

的目录下,让

eclipse

单独跑一套

jre

,多个

jvm

分管工作,

jvm

内存不足的问题就解决了。

二、

jdk

下的

lib

jre

下的

lib

有何区别?

自己的理解:

jdk

下的

lib

包括

java

开发环境的

jar

包,

jre

下的

lib

只是运行

java

程序的

jar

包;

java两个jre_为什么会有两个jre?060925(原创)相关推荐

  1. Java构造和解析Json数据的两种方法详解一

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...

  2. Java经典面试题:一个线程两次调用start()方法会出现什么情况?

    大家好,我是 Oracle首席工程师杨晓峰. 今天想和大家深入聊聊线程,相信大家对于线程这个概念都不陌生,它是Java并发的基础元素,理解.操纵.诊断线程是Java工程师的必修课,但是你真的掌握线程了 ...

  3. Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积

    **8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法.编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.6( ...

  4. Java黑皮书课后题第8章:*8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和

    *8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 8.5(代数:两 ...

  5. Java黑皮书课后题第5章:**5.32(游戏:彩票)修改程序清单3-8,产生一个两位数的彩票。这两位数是不同的

    5.32(游戏:彩票)修改程序清单3-8,产生一个两位数的彩票.这两位数是不同的 题目 题目概述 程序清单3-8(非本题代码) 代码 运行结果 题目 题目概述 5.32(游戏:彩票)修改程序清单3-8 ...

  6. Java黑皮书课后题第4章:*4.18(学生的专业和年级)编程一个程序,提示用户输入两个字符,显示这两个字符代表的专业以及年级,第一个字符表示专业,第二个是一个数字字符1、2、3、4,输出对应结果

    *4.18(学生的专业和年级)编程一个程序,提示用户输入两个字符,显示这两个字符代表的专业以及年级,第一个字符表示专业,第二个是一个数字字符1.2.3.4,分别表示大一.大二.大三.大四 题目 题目概 ...

  7. java怎么判断类相同_java中如何判定两个对象属于同一类 两个对象是不是类的相同实例,即用“===”是什么意思...

    导航:网站首页 > java中如何判定两个对象属于同一类 两个对象是不是类的相同实例,即用"==="是什么意思 java中如何判定两个对象属于同一类 两个对象是不是类的相同实 ...

  8. 在java程序中定义的类有两种成员_java试题 急需答案 谢谢!!!

    三.填空(每小题2分,共10分)1.在Applet中,创建一个具有10行45列的多行文本区对象ta的语句为:2.创建一个标识有"关闭"字样的标签对象gb的语句为.3.方法是一种仅有 ...

  9. java自定义一个方法,用于返回两个整数的和

    java自定义一个方法,用于返回两个整数的和 /*** 自定义一个方法* 用于返回两个整数的和*/ public class Test17 {public static int getSum(int ...

最新文章

  1. 【青少年编程(第24周)】Python-Turtle组队学习结营!
  2. C#中的Params、ref、out的区别
  3. java输出image_java如何生成imagecode
  4. 【网络安全】JAVA代码审计—— XXE外部实体注入
  5. 一个Java对象到底占多大内存?(转)
  6. java环境json哪些事?
  7. stream pipe的原理及简化源码分析
  8. 九个著名科技公司的十位CEO的办公桌照片
  9. chrome调试技巧
  10. mac安装thrift
  11. python3d绘图代码_python机器学习之3D Matplotlib绘图
  12. SQL 存储过程封装代码生成器
  13. Dash中文文档: Python2.7.16 和 Python3.8
  14. mysql数据库用sql进行增删改操作
  15. WINDOWS2008 SERVER服务器上网实战
  16. html5获取视频帧,从HTML5和JavaScript的视频捕获帧
  17. 苹果homekit,homeassistant,谷歌等智能生态系统,哪一款更加适合你?
  18. 书单素材怎么找?教你寻找方法
  19. 抗击疫情,在家自学编程
  20. 【图像去噪】基于matlab自适应中值滤波图像去噪【含Matlab 1156期】

热门文章

  1. Mysql分页order by数据错乱重复
  2. 学习,思维三部曲:WHAT、HOW、WHY
  3. SpringMVC——通俗易懂讲讲Ajax~
  4. AIFramework基本概念整理
  5. OFRecord 图片文件制数据集
  6. OpenCV读写视频文件解析(二)
  7. 点击事件如何传递到Activity中
  8. 2021年大数据Kafka(二):❤️Kafka特点总结和架构❤️
  9. 如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)
  10. Django 视图URLconf3.1