jdk安装目录 usr java_Mac查看已安装的jdk版本和jdk安装目录
查看安装的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%。
查看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等。
jdk安装目录 usr java_Mac查看已安装的jdk版本和jdk安装目录相关推荐
- 无法安装64位office,因为已有32位版本
这里写自定义目录标题 1.无法安装64位office,因为已有32位版本 2."无法安装64位office,因为已有32位版本"解决方案 3.若要运行此您必须首先安装.net fr ...
- pip安装更新、第三方库对应的python解释器版本、pip安装第三方库,压缩包离线安装,pycharm快捷安装及pycharm中terminal的使用,timeout超时报错
文章有点长,但是很详细,还望大家耐心看 之前在安装python的文章中已经给大家配置了pip环境变量(不了解的点这里去看看),这里就能直接在cmd窗口,不用切换路径,就能使用pip了. 首先 使用pi ...
- nessus rpm 安装_CentOS8.0下查看已安装的软件位置
本文CentOS8.0环境为基础,以安装nginx说明. CentOS8发行版 / 存储库: CentOS 8 主要通过两个存储库分发:BaseOS.AppStream: BaseOS 存储库:主要包 ...
- 赛门铁克linux安装教程,Symantec赛门铁克14.2版本服务端安装教程及配置教程(三)...
本小节将讲解如何后台配置SEPM 目录: 1.打开Symantec Endpoint Protection Manager,查看主页 管理服务器后台主页 2.打开之前添加的两个sepm服务器,如下图 ...
- python怎么改目录_如何查看文件,而不是使用Python进行更改的目录?
问题: How do I watch a file for changes using Python?建议使用看门狗,但我发现它只能观看目录,而不是文件. watchdog-test.py是看门狗的示 ...
- Linux 系统关于应该把程序安装在目录 /usr 还是目录 /usr/local 下的思考
对于一个以 LFS(Linux From Scratch 大意:自己做出来的 Linux) 为基础的系统来说,这是一个没有明确答案的问题.什么是 LFS? 在传统的 Unix 系统中,/usr 通常只 ...
- 多版本OpenCV+OpenCV_contrib安装及使用
多版本的安装 对于多个版本都安装到了显式指定的路径上,可以参考文章2进行设置:若是有一种版本常用的,则将其安装到默认目录/usr/local下,而对于另一种新安装的,则显式指定安装目录CMAKE -D ...
- vue/cli 和 vue 版本对应及安装
文章目录 Vue Cli 使用方式: 关于Vue Cli版本介绍 @vue/cli 安装: 版本号对应 查看vue和@vue/cli版本: Vue Cli Vue CLI = Vue + 一堆的js插 ...
- 深度学习环境搭建(从卸载CUDA到安装,以及Pytorch与torchvision的安装。你从未见过的全有版本)
深度学习环境搭建(从卸载CUDA到安装,以及Pytorch与torchvision的安装.你从未见过的全有版本) 先来点头疼的:在深度学习的过程中,环境搭建是必须要经过的一个关卡,由于版本对应麻烦,很 ...
- CUDA:利用Pytorch查看自己电脑上CUDA版本及其相关信息
CUDA:利用Pytorch查看自己电脑上CUDA版本及其相关信息 目录 利用Pytorch查看自己电脑上CUDA的版本信息
最新文章
- Ubuntu 系统 卸载OpenJDK 8
- python 中文查找_使用python和regex查找字符串中的所有中文文本
- html框架集把那根框架隐藏,HTML 框架集 frameset 和内嵌框架 iframe
- (更新)网络规划设计师考试大纲 及教程_下载
- MySQL的配置文件_选项文件_参数文件
- JavaScript逻辑运算符“”和“||”短路原则的应用
- Python版归并排序算法(附Python程序__name__属性用法演示视频)
- 即时通讯学习笔记002---xmpp基本概念
- 亲测有效!实现Chrome浏览器下载速度提升3倍!
- rabbitmq的基本安装、配置,以及整合springboot,gradle的hello.demo
- 中国科学技术大学生物信息学考试复习资料(整理版)
- oracle11g本地安装,windows64位机oracle11g+pl/sql安装教程图解
- 查看MySQL初始密码并修改
- ''' 疯狂填词 创建一个疯狂填词(Mad Libs)程序,它将读入文本文件
- 大数据安全体系介绍之技术体系篇
- 那一年我是如何从功能测试跨入自动化测试的,绝对让你不虚此行!
- ThinkPHP在线小说阅读管理系统
- 有水印的图片简直不要太尬!教你去水印,以后精美图片统统拿走!
- c语言堆、栈、数据段、代码段、bss段的疑惑
- GMT对应的SimpleDateFormat