
- 外文名
- Virtual Machine
- 定 义
- 具有完整硬件系统功能的完整计算机系统
- 技 术
- 虚拟化技术的一种
- 中文名
- 虚拟机
- 常见虚拟机
- Java虚拟机,Linux虚拟机,windows虚拟机
- 与实体机区别
- 可以像使用实体机一样使用
-
Exact VM的介绍
2020-09-13 23:23:31Exact VM全称是Exact Memory Management Virtual Machine 诞生于jdk1.2,主要目的是解决解释型引擎执行效率低的问题,也是现代高性能虚拟机的雏形。 只在Solaris平台上使用,还没在其它平台上应用就被HotSpot虚拟机...Exact VM全称是Exact Memory Management Virtual Machine
诞生于jdk1.2,主要目的是解决解释型引擎执行效率低的问题,也是现代高性能虚拟机的雏形。
只在Solaris平台上使用,还没在其它平台上应用就被HotSpot虚拟机替换。
摘录《深入理解java虚拟机》----周志明----第三版的部分原文:
Exact VM因它使用准确式内存管理(Exact Memory Management,也可以叫Non-Conservative/Accurate Memory Management)而得名。
准确式内存管理是指虚拟机可以知道内存中某个位 置的数据具体是什么类型。譬如内存中有一个32bit的整数123456,虚拟机将有能力分辨出它到底是一 个指向了123456的内存地址的引用类型还是一个数值为123456的整数,准确分辨出哪些内存是引用类 型,这也是在垃圾收集时准确判断堆上的数据是否还可能被使用的前提。
由于使用了准确式内存管 理,Exact VM可以抛弃掉以前Classic VM基于句柄(Handle)的对象查找方式(原因是垃圾收集后对 象将可能会被移动位置,如果地址为123456的对象移动到654321,在没有明确信息表明内存中哪些数 据是引用类型的前提下,那虚拟机肯定是不敢把内存中所有为123456的值改成654321的,所以要使用 句柄来保持引用值的稳定),这样每次定位对象都少了一次间接查找的开销,显著提升执行性能。
-
SUN Classic VM的介绍
2020-09-13 23:05:06SUN Classic VM是一款解释型的java字节码执行引擎 java虚拟机分为两类执行引擎,①解释型、②及时编译(Just-In-Time) 执行引擎 两者的区别是解释型是一行一行执行代码,类似于javascript、python这类解释型的编程...SUN Classic VM
是一款解释型的java字节码执行引擎
java虚拟机分为两类执行引擎,
①解释型
、②及时编译(Just-In-Time)
执行引擎两者的区别是解释型是一行一行执行代码,类似于javascript、python这类解释型的编程语言。
及时编译 是将字节码中的热点代码
编译成机器码
,并且将机器码缓存到方法区的代码缓存区。
Sun Classic VM
诞生于java1.0(1996年),是世界上第一款商用Java虚拟机,在jdk1.4(2002年)
后被完全淘汰!Sun Classic VM
内部只提供解释器,使用JIT编译器需要外挂,并且一旦使用JIT就会导致解释器不能执行
摘录《深入理解java虚拟机》----周志明----第三版的部分原文:
1996年1月23日,Sun发布JDK 1.0,Java语言首次拥有了商用的正式运行环境,这个JDK中所带的 虚拟机就是Classic VM。这款虚拟机只能使用纯解释器方式来执行Java代码,如果要使用即时编译器那 就必须进行外挂,但是假如外挂了即时编译器的话,即时编译器就会完全接管虚拟机的执行系统,解 释器便不能再工作了。在JDK 1.2及之前,用户用Classic虚拟机执行java-version命令,将会看到类似下 面这行的输出:
java version “1.2.2” Classic VM (build JDK-1.2.2-001, green threads, sunwjit)
其中的“sunwjit”(Sun Workshop JIT)就是Sun提供的外挂编译器,其他类似的外挂编译器还有 Symantec JIT和shuJIT等。由于解释器和编译器不能配合工作,这就意味着如果要使用编译执行,编译 器就不得不对每一个方法、每一行代码都进行编译,而无论它们执行的频率是否具有编译的价值。基 于程序响应时间的压力,这些编译器根本不敢应用编译耗时稍高的优化技术,因此这个阶段的虚拟机 虽然用了即时编译器输出本地代码,其执行效率也和传统的C/C++程序有很大差距,“Java语言很慢”的 印象就是在这阶段开始在用户心中树立起来的。
Sun的虚拟机团队努力去解决Classic虚拟机所面临的各种问题,提升运行效率,在JDK 1.2时,曾 在Solaris平台上发布过一款名为Exact VM的虚拟机,它的编译执行系统已经具备现代高性能虚拟机雏 形,如热点探测、两级即时编译器、编译器与解释器混合工作模式等。
-
JRockit VM的介绍
2020-09-14 01:35:38JRockit VM由BEA公司开发,是真正意义的世界上最快的java虚拟机。后BEA公司在2008年被Oracle收购。 JRockit专注于服务端应用,JRockit内部不包含解释器实现,全部代码都靠及时编译器(JIT)编译后执行。 Oracle收购了...JRockit VM由BEA公司开发,是真正意义的世界上最快的java虚拟机。后BEA公司在2008年被Oracle收购。
JRockit专注于服务端应用,
JRockit内部不包含解释器实现
,全部代码都靠及时编译器(JIT)编译后执行
。Oracle收购了BEA后,想要整合JRockit到HotSpot虚拟机上。后由于两者架构相差很大,只是部分优秀内容被整合。
后高斯林(java之父)辞职,就职于谷歌,研究人工智能和水下机器人。摘录《深入理解java虚拟机》----周志明----第三版的部分原文:
如果说HotSpot是天下第一的武林盟主,那曾经与HotSpot并称“三 大商业Java虚拟机”的另外两位,毫无疑问就该是天下第二了,它们分别是BEA System公司的JRockit与 IBM公司的IBM J9。
JRockit虚拟机曾经号称是“世界上速度最快的Java虚拟机”(广告词,IBM J9虚拟机也这样宣传 过,总体上三大虚拟机的性能是交替上升的),它是BEA在2002年从Appeal Virtual Machines公司收购 获得的Java虚拟机。BEA将其发展为一款专门为服务器硬件和服务端应用场景高度优化的虚拟机,由 于专注于服务端应用,它可以不太关注于程序启动速度,因此JRockit内部不包含解释器实现,全部代 码都靠即时编译器编译后执行。除此之外,JRockit的垃圾收集器和Java Mission Control故障处理套件 等部分的实现,在当时众多的Java虚拟机中也处于领先水平。JRockit随着BEA被Oracle收购,现已不再 继续发展,永远停留在R28版本,这是JDK 6版JRockit的代号。
-
J9 VM的介绍
2020-09-14 01:43:38J9的市场定位与HotSpot接近,服务器端、桌面应用、嵌入式等多用途VM J9是目前由影响力的三大商业虚拟机之一,2017年IBM发布了开源J9 VM,命名为OpenJ9,交给Eclipse基金会管理,也称Eclipse OpenJ9。 摘录《深入理解...IBM的J9全称:
IBM Technology for Java Virtual Machine
,简称IT4J
,内部代号J9
J9的市场定位与HotSpot接近,服务器端、桌面应用、嵌入式等多用途VM
J9是目前由影响力的三大商业虚拟机之一
,2017年IBM发布了开源J9 VM,命名为OpenJ9,交给Eclipse基金会管理,也称Eclipse OpenJ9。摘录《深入理解java虚拟机》----周志明----第三版的部分原文:
IBM J9虚拟机并不是IBM公司唯一的Java虚拟机,不过目前IBM主力发展无疑就是J9。J9这个名 字最初只是内部开发代号而已,开始选定的正式名称是“IBM Technology for Java Virtual Machine”,简 称IT4J,但这个名字太拗口,接受程度远不如J9。J9虚拟机最初是由IBM Ottawa实验室的一个 SmallTalk虚拟机项目扩展而来,当时这个虚拟机有一个Bug是因为8KB常量值定义错误引起,工程师们 花了很长时间终于发现并解决了这个错误,此后这个版本的虚拟机就被称为K8,后来由其扩展而来、 支持Java语言的虚拟机就被命名为J9。与BEA JRockit只专注于服务端应用不同,IBM J9虚拟机的市场 定位与HotSpot比较接近[1],它是一款在设计上全面考虑服务端、桌面应用,再到嵌入式的多用途虚 拟机,开发J9的目的是作为IBM公司各种Java产品的执行平台,在和IBM产品(如IBM WebSphere等) 搭配以及在IBM AIX和z/OS这些平台上部署Java应用。
IBM J9直至今天仍旧非常活跃,IBM J9虚拟机的职责分离与模块化做得比HotSpot更优秀,由J9 虚拟机中抽象封装出来的核心组件库(包括垃圾收集器、即时编译器、诊断监控子系统等)就单独构 成了IBM OMR项目,可以在其他语言平台如Ruby、Python中快速组装成相应的功能。从2016年起, IBM逐步将OMR项目和J9虚拟机进行开源,完全开源后便将它们捐献给了Eclipse基金会管理,并重新 命名为Eclipse OMR和OpenJ9[2]。如果为了学习虚拟机技术而去阅读源码,更加模块化的OpenJ9代码 其实是比HotSpot更好的选择。如果为了使用Java虚拟机时多一种选择,那可以通过AdoptOpenJDK来 获得采用OpenJ9搭配上OpenJDK其他类库组成的完整JDK。
除BEA和IBM公司外,其他一些大公司也号称有自己的专属JDK和虚拟机,但是它们要么是通过 从Sun/Oracle公司购买版权的方式获得的(如HP、SAP等),要么是基于OpenJDK项目改进而来的 (如阿里巴巴、Twitter等),都并非自己独立开发。
-
Graal VM 未来可能的趋势
2020-09-14 02:34:32自JDK 10起,HotSpot中又加入了一个全新的即时编译器:Graal编译器,看名字就可以联想到它 是来自于前一节提到的Graal VM。Graal编译器是以C2编译器替代者的身份登场的。C2的历史已经非 常长了,可以追溯到Cliff... -
VM虚拟机下载及安装教程
2019-04-10 23:42:42VMware最新官方下载与安装 目录 一、VMware官方下载 二、虚拟机安装 一、VMware官方下载 首先我们访问官网地址https://www.vmware.com/cn.html 注意:没有账号必须先注册才能下载。...如图,选择下载专... -
解决VM 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VM 的方法
2018-07-23 22:26:40在启用了Credential Guard或Device Guard的Windows 10主机上启动12.5版之前的VMware Workstation中的虚拟机时,将显示蓝色诊断屏幕(BSOD)。 会看到类似于以下内容的错误: VMware Workstation和Device / ... -
VM虚拟机完美运行macos
2018-10-15 09:12:59VM上完美运行macos 作者:方辰昱 时间:十月三号 效果图 简要步骤 下载安装VM 下载镜像文件链接,darwin.iso,unlocker,beamoff。合集下载链接:https://pan.baidu.com/s/1jeHA-ksEKT1iK5Ld7GmS9Q 提取码:27... -
VM ware无法关机 虚拟机繁忙
2019-01-20 12:57:00经常遇到虚拟机繁忙 无法关机 打开任务管理器: Ctrl + shift+ Esc 这样就可以正常关机 -
VM中安装Windows系统(针对Operating System not found问题)
2018-03-27 17:34:01许多人都会用VM安装linux系统(虚拟机):比如CentOS,Ubuntu。这类的系统很容易安装,你要你把它的iso文件定位到,就可以跟着用户界面自动安装。 不知道大家有没有遇到过,使用VM安装windows时,如果按照上述... -
Mac VM 虚拟机固定IP
2020-01-09 09:36:39Mac终端: cat /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd...VM: 示例: vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" #BOOTPROTO=... -
VMware12安装centOS8(vm虚拟机安装centos8教程)
2019-09-26 21:57:50VMware12安装centOS8(vm虚拟机安装centos8教程) 前几天Centos8发布了,尽管他是8的第一个版本,有着许多的bug那么今天我们就在VM12上面安装centOS8吧,8这个图形化界面我个人感觉有点丑 首先下载iso文件 百度下... -
VM15 安装 MacOS
2019-05-10 08:49:55VM15安装MacOS 工具 Vm15 unlocker MacOS Sierra 10.12.4.cdr 步骤 关闭Vm后台服务 解锁Vm关于Mac OS的配置(右键管理员运行win-install.cmd) 解锁工具下载地址 https://github.com/DrDonk/unlocker 解锁成功... -
vmlinux
2015-12-24 15:33:14vmlinux.elf/vmlinux.bin/vmlinux.img区别vmlinux.elf是编译出来的最原始的文件,用于kernel-debug,产生System.map符号表,不能用于直接加载,不可作为启动内核。 vmlinux.bin:the same as vmlinux.elf, but in a... -
vm模板
2017-03-18 23:36:30vm模板 设计原则 让前端来写后端的vm模板,并且前端不需要搭建各种繁杂的后端环境,前后端以 .vm 为沟通桥梁,另外模板的数据源可以在项目开始前前后端约定之后生成JSON文件,从而使两个角色并行开发。 ... -
VM options
2018-02-28 10:17:15Java VM 常用设置记录-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -
jdk运行模式client vm与server vm区别
2020-03-27 11:59:32Client VM模式 输入java -version命令: java version "1.8.0_161" Java(TM) SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot(TM) Client VM (build 25.161-b12, mixed mode) Server VM模式 输入... -
VM无法将网络更改为桥接状态:没有未桥接的主机网络适配器
2017-08-11 16:00:33故障描述:第一步,确定本地的有线和无限网卡支持VM桥接第二步,设备管理器中的驱动设备正常加载,但是注意这两个虚拟网卡是有问题的>如果你发现你没这两个虚拟网卡,那你一定是重装过系统或者升级了VM出现的。... -
vm.$props, vm.$attrs, vm.$listeners 的理解
2019-08-17 12:07:17vm.$props 当前组件接收到的 props 对象。Vue 实例代理了对其 props 对象属性的访问 ps:props 里声明了继承下来的内容 vm.$attrs 包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class和style除外)。当... -
deepin v20安装VM
2020-10-12 19:01:24deepin v20安装vm deepin15的软件商城有vm.,但是deepin20软件商店没有vm,需要手动安装 下载vm的包(这里提供百度云盘的链接) 链接: https://pan.baidu.com/s/1Bm7gp_3je3j3bncBvHOz2Q 密码: bc72 2.给这个vm包... -
VM虚拟机安装win10
2019-06-15 20:49:54这次介绍一下VM12虚拟机安装win10纯净版的教程,欢迎大家纠正错误 -
JVM is using the client VM [Java HotSpot(TM) Client VM] but should be using a server VM
2019-09-05 10:34:09在Linux 6.5 下安装Elasticsearch ... JVM is using the client VM [Java HotSpot(TM) Client VM] but should be using a server VM for the best performance JVM正在使用客户机VM [Java HotSpot(TM)客户机VM],... -
JVM的Client VM 与 Server VM介绍
2016-11-08 22:15:21HotSpot虚拟机包括两种:Client VM 和 Server VM Client VM(-client),为在客户端环境中减少启动时间而优化; Server VM(-server),为在服务器环境中最大化程序执行速度而设计。 比较:Server VM启动比Client VM慢... -
安装虚拟机和卸载虚拟机 vm15 vm12
2020-05-25 23:52:23虚拟机清理工具和vm15安装包在QQ群文件里边: 虚拟机清理工具配套博文:https://blog.csdn.net/aiwo1376301646/article/details/106344752 安装虚拟机vm15配套博文:... -
Standard 1.1.x VM与Standard VM的区别
2014-11-30 18:30:22Standard 1.1.x VM与Standard VM的区别作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs在Eclipse或MyEclipse中要设置Installed JREs时,有三个选择:- Execution Environment Description- ... -
vm虚拟机中centos安装vm tools
2017-12-30 22:10:54//创建目录 mkdir /mnt/cdrom ...//由于光盘中的数据是只读的,将其中的vm tools工具复制到系统目录中 mkdir /plant cp /mnt/cdrom/VM....tools.tar /plant cd /plant //解压文件 tar -zxvf VM...t -
kali在vm安装方法,以及如何安装vm tools?
2018-03-09 19:28:32今天, 我发现在虚拟机中,安装最新kali 的VM tools,这方面网上教程很多,但是我测试了这些教程,现在都不适用, 那么我来写下,最新版本的kali 在虚拟机中如何安装,以及如何安装VM tools 在VMare中安装kali ... -
VM(VM for Mac)下CentOS7的安装
2018-06-09 19:33:03VM(VM for Mac)下CentOS7的安装 Mac下VM和Windows下的VM其实步骤都一样,安装的流程都一样,不要在乎这些小细节哦。 下载映像文件 下载地址:https://www.centos.org/download/ 本文以Everything ISO为例,... -
wherehows VM使用
2018-08-03 20:25:421、下载VM镜像:...3、在Vmware中打开VM:在解压目录中双击cloudera-quickstart-vm-5.4.2-0-vmware.vmx 4、在Vmware中单击wherehows-vm,可以编辑虚拟机配置,如增大内容,修改网络模式(默认桥接) 5... -
Java HotSpot(TM) Client VM 与 server VM 的配置
2019-04-26 19:48:00JVM is using the client VM [Java HotSpot(TM) Client VM] but should be using a server VM for the best performance JVM正在使用客户机VM [Java HotSpot(TM)客户机VM],但是为了获得最佳...
-
软件测试基础
-
微信公众号2021之网页授权一学就会java版
-
全网唯一的为GIS+BIM而生的cesiumjs或cesium视频教程
-
Recent Advances and Challenges in Task-oriented Dialog Systems全文翻译!
-
LeetCode #5. 最大回文子串
-
家里用学校服务器写毕业论文(西安交通大学)
-
JavaEE框架(Maven+SSM)全程实战开发教程(源码+讲义)
-
星载Flash阵列存储器零散化存储管理方案
-
聚氨酯端面拉伸式光纤激光水听器的声压灵敏度频响特性
-
python办公自动化技巧
-
Web环境搭建
-
SQL Server 2016 高可用灾备技术合集
-
微信支付2021系列之付款码支付一学就会java版
-
「单例模式」减少数据库连接的内存开销
-
多线程与线程池技术详解(图书配套)
-
mac Navicat Premium 15.0.22解决Failed to save password Error code: -34018
-
Appium自动化测试套餐
-
IELTS大作文写作思路和技巧
-
EAI模型与构架设计研究
-
IEEE 802.11帧聚合机制在NS-2平台上的仿真与实现