Mac查看已安装的jdk版本和jdk安装目录

举报
王小贰 发表于 2021/01/27 16:51:48 2021/01/27
【摘要】 查看安装的jdk版本号 和 虚拟机版本号java -version第一行:表示jdk版本号为jdk1.8.0第二行:表示Java运行环境第三行:表示jvm信息能看到当前是64 位 的HotSpot VM 。1999年 4月 27 日,Java HotSpot Virtual Machine (简称 HotSpot)正式对外发布,并从这之后发布的 JDKl.3 版本开始, HotSpot 成为...

查看安装的jdk版本号 和 虚拟机版本号

java -version

第一行:表示jdk版本号为jdk1.8.0

第二行:表示Java运行环境

第三行:表示jvm信息

能看到当前是64 位 的HotSpot VM 。1999年 4月 27 日,Java HotSpot Virtual Machine (简称 HotSpot)正式对外发布,并从这之后发布的 JDKl.3 版本开始, HotSpot 成为 Sun JDK 的默认虚拟机 。

JVM 有 3 种执行模式,分别是解释执行、混合执行和编译执行,默认情况是混合执行模式 .

当前JIT compiler(即时编译器)使用的是混合执行模式( mixed mode)

部分函数会被解释执行,部分可能被编译执行。JVM决定函数是否需要编译执行的依据是判断该函数是否为热点代码。如果函数的被调用频率很高,那么就是热点,热点代码就会被编译执行。编译执行模式的执行效率会远远高于解释执行模式(compiled mode)。如下显示表示的是解释执行模式:Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, compiled mode)。运行一个 Java程序,分别采用 -Xint和-Xcomp 作为 VM 选项,对应的是解释执 行模式和编译执行模式。我们可以使用Java -Xcomp -version命令使得jvm启用解释执行模式,使用Java -Xint -version命令使得jvm启用混合执行模式。

Ps:顺带深入理解一下采用即时编译器原理。最早的 Java编译方案是由一套转译程序将每个 Java指令都转译成对等的微处理器指令,并根据转译后的指令先后次序依序执行,由于一个 Java指令可能被转译成十 几或数十几个对等的微处理器指令,这种模式执行的速度相当缓慢。针对这个问题,业界首先 开发出即时编译器。当 Java执行运行时,每遇到一个新的类别(类别是 Java程序中的功能群组),JIT 编译器在此时就会针对这个类别进行编译作业 。 经过编译后的程序,被优化成相当精简的原生型指令码( Native Code),这种程序的执行速度相当快 。 花费少许的编译时间来节省稍后相当长的执行时间,也就是所谓的磨刀不误砍柴工,这种设计的确增加不少效率,但是它井未达到最顶尖的效能,因为某些极少执行到的 Java指令在编译时额外所花费的时间可能比转译器在执行时的时间还长,针对这些指令而言,整体花费的时间并没有减少。基于由 JIT 带来的经验, 业界发展出动态编译器( Dynamic Compiler),动态编译器仅针对较常被执行的程序码进行编译,其余部分仍使用转译程序来执行。也就是说,动态编译器会判断是否要编译某个类别。那动态编译器是如何判断的呢?动态编译器针对程序的特性或者是让程序执行几个循环,再根据结果决定是否编译这段程序码。此判断不见得绝对正确,但从统计数字来看,这个判断的机制正确的机会相当高 。 从整个结果来看,动态编译器产生的程序码执行的速度超越以前的JIT技术,平均速度可提高50%。

Java即时编译器原理解析及实践 : https://tech.meituan.com/2020/10/22/java-jit-practice-in-meituan.html

 

查看jdk安装目录

/usr/libexec/java_home -V

注意⚠️: V是大写字母

大部分JAVA HOME都在/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home路径

 

我们平时用来查看 JVM 内部信息的常用的工具都在 $JAVA HOME/bin 目录下。(Home/bin如下截图)

比如常用的用查看程序内存使用情况的Java命令:jmap、jhat、jstat、jstack等。

可参考我的这篇文章:https://blog.csdn.net/kqZhu/article/details/107495058

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。