Java背后的秘密之深入Java虚拟机初探01

我的目标是要成为一名企业级架构师,想成为一名合格的架构师,要学习的东西还是非常多的。Now最近就在学习关于Java虚拟机方面的知识。如果说Java的各种主流框架是招式的话,那么深入了解Java虚拟机就是所谓的内在修为,即内功。武侠小说中内力是非常有用的。首先以两个问题开始吧,大家也可以思考一下:
1.为什么安装JDK后会出现两套JRE呢?(什么?你不知道,你out了)
2.系统中有两个jre,由谁来决定到底使用哪一套jre?



这两个问题很多初学者都不是很清楚,包括一些做了几年有点开发经验的人。下面我来解释一下:
1.为什么安装JDK后会出现两套JRE呢?(下图是我安装好jdk6.0后的目录结构)

-Java
        -jdk1.6.0_23
                bin
                +demo
                +include
                +jre
                +lib
                +sample
         +jre6

看见没有,有两个红色的jre,第二个jre提供运行Java程序的一个环境,第一个jre支持Java开发工具运行的环境,如javac、java命令,这些都是用Java语言编写的。如果只有第二个jre那就只能支持Java程序的运行而不能支持开发,所以第二个jre的bin目录下是没有javac.exe命令的。简单点说,想要进行程序开发,必须要有两个jre。

2.系统中有两个jre,由谁来决定到底使用哪一套jre?
这个艰巨的任务落在了java.exe身上,当输入java.exe命令执行一个java程序时,它会按照下面的方式来
寻找合适的jre。(什么,我怎么会知道的?哈哈,我也是听人讲的。《Java深度历险》这本书里面有说,推荐一下。

1、首先查找自己的目录是否有jre(windows中jvm.dll就是Java虚拟机)
2、查看父目录下是否有jre
3、查询系统配置(查看注册表项)

因此可以看到,通过改变程序使用的jre,就能够控制程序的能力和行为。

参考书籍《Java深度历险》、IBM\SUN虚拟机架构白皮书。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值