java虚拟机的原理(虚拟机是怎样运行的,原理是什么)

2024-06-30 06:28:51 32

java虚拟机的原理(虚拟机是怎样运行的,原理是什么)

本文目录

虚拟机是怎样运行的,原理是什么

虚拟机的运行:

指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

原理:

从最初编写的Java源文件(.java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件。

然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,然后执行引擎解释或编译类文件,再由即时编译器将字节码转化为机器码。

***隐藏网址***

扩展资料:

虚拟机资源涉及多个方面:CPU、内存、网络以及磁盘。在规划虚拟机时应该考虑这些资源之间的关系,否则,分配的资源不合理将导致虚拟机内的应用程序性能表现不佳。

CPU:

虚拟机每个vCPU只运行在一个物理核心之上,因此CPU频率越高虚拟机的运行速度也就越高,vCPU数量越多有助于提升应用的性能表现。

一个比较复杂的因素就是在ESXi服务器内,所有的虚拟机共享使用物理CPU。ESXi服务器的核心数越多,每个vCPU获得的核心份额也就越大,因此多核心的性能表现要强于核心频率高但数量少的情况。

如果虚拟机需要占用大量的CPU时间,那么可以考虑为虚拟机分配第二个vCPU,但是,为虚拟机分配两个以上vCPU并不一定让应用运行的更快,因为只有多线程应用才能有效地使用多个vCPU。

RAM:

ESXi服务器内RAM资源通常有限,因此在给虚拟机分配RAM时需要格外小心。VMkernel在处理RAM时非常巧妙;允许虚拟机使用ESXi服务器所有的物理内存而且会尽量避免占用物理内存却没有真正使用的情况。

物理内存被完全用完后,VMkernel必须确定哪些虚拟机能够保留物理内存,哪些虚拟机要释放物理内存。这称之为“内存回收”。当虚拟机占用的物理内存被回收后,存在的一个风险就是会对虚拟机的性能造成影响。虚拟机被回收的内存越多,相应的风险也就越大。

最明智的是只为虚拟机分配完成工作所需要的内存。分配额外的内存将会增加回收风险。另一方面,当虚拟机操作系统将未被使用的内存用作磁盘缓存时,将会显著降低对磁盘系统的性能要求,所以这里有一个折衷问题。

对于数据库服务器以及VDI桌面来说,为虚拟机分配更多的内存往往更划算—在一台ESXi服务器上运行更少的虚拟机—而不是购买高性能的磁盘阵列。关键在于针对虚拟机的负载分配足够多内存而且没有浪费。

参考资料:

百度百科-虚拟机

java的跨平台工作原理

首先我们要理解什么是跨平台,所谓的跨平台就是JAVA写的一份代码可以在任意的操作系统平台上运行。

为什么跨平台会成为一个问题呢?因为每一个操作系统平台支持不同的指令集我们所写的代码经过编译之后只能适用于一个平台,换一个平台就不支持了。而JAVA完美的解决了这个问题,JAVA是如何做到这一点的呢?在上图中我们可以看到JAVA代码执行的流程。

JAVA源代码-》JAVA字节码-》JVM解释执行

我们写的JAVA源代码会被编译为字节码,然后被JVM虚拟机解释执行,我们可以看到JVM虚拟机在跨平台的过程中发挥了重要的作用,就是由它解释字节码并执行的,对应于每一个平台都有一个JVM虚拟机,而字节码只有一份,windows的JVM虚拟机可以将字节码解释为能在windows平台上执行的指令并执行,Linux的JVM虚拟机可以将字节码解释为能在Linux平台上执行的指令并执行,他们执行的字节码都是同一份。这样就实现了跨平台。

java虚拟机的原理(虚拟机是怎样运行的,原理是什么)

本文编辑:admin

更多文章:


crypto数字货币(加密数字货币是什么)

crypto数字货币(加密数字货币是什么)

本文目录加密数字货币是什么加密货币全线暴跌,加密货币跟数字货币有何区别加密货币未来趋势加密货币是什么意思加密货币,虚拟货币和数字货币是一回事吗加密货币市场现极端行情,你对这种货币的流行怎么看加密数字货币是什么数字加密货币是不依靠法定货币机构

2023年9月24日 14:00

php多行注释是/*.. */还是/**..**/呢?怎么注释掉PHP段落代码 下面的这一段落都要注释掉,不要了,怎么弄

php多行注释是/*.. */还是/**..**/呢?怎么注释掉PHP段落代码 下面的这一段落都要注释掉,不要了,怎么弄

这篇文章给大家聊聊关于php注释,以及php多行注释是/*.. */还是/**..**/呢对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录php多行注释是/*.. */还是/**..**/呢怎么注释掉PHP段落代码 下面的这一

2024年7月24日 17:55

java动态数组定义(java里有没动态二维数组概念,如何定义)

java动态数组定义(java里有没动态二维数组概念,如何定义)

本文目录java里有没动态二维数组概念,如何定义Java动态二维数组 怎么动态定义java中如何创建动态数组java里如何定义动态数组请各位高手指教!java如何定义动态数组Java如何定义动态数组JAVA如何实现动态数组Java动态数组代

2024年6月28日 08:29

windows server 2008 r2镜像(求windowsserver2008 R2镜像,含USB3.0驱动)

windows server 2008 r2镜像(求windowsserver2008 R2镜像,含USB3.0驱动)

其实windows server 2008 r2镜像的问题并不复杂,但是又很多的朋友都不太了解求windowsserver2008 R2镜像,含USB3.0驱动,因此呢,今天小编就来为大家分享windows server 2008 r2镜像

2024年7月19日 04:45

h5小游戏开发需要多长时间_h5游戏一般是用什么开发的?开发一个小游戏软件都需要什么费用大概是多少怎样操作

h5小游戏开发需要多长时间_h5游戏一般是用什么开发的?开发一个小游戏软件都需要什么费用大概是多少怎样操作

各位老铁们,大家好,今天由我来为大家分享小游戏开发,以及h5小游戏开发需要多长时间_h5游戏一般是用什么开发的的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2024年10月6日 01:05

conception什么意思(审美观为什么不用conception)

conception什么意思(审美观为什么不用conception)

本文目录审美观为什么不用conceptionconcept和conception的区别concept是什么意思请问concept&conception的区别concept和conception symbol和symbolization的区别

2023年10月19日 03:20

汇编语言中断指令(汇编语言单片机中断)

汇编语言中断指令(汇编语言单片机中断)

其实汇编语言中断指令的问题并不复杂,但是又很多的朋友都不太了解汇编语言单片机中断,因此呢,今天小编就来为大家分享汇编语言中断指令的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录汇编语言单片机中断汇编的中断指令IN

2024年9月28日 05:55

免费动画制作软件(求推荐个专业动画制作软件)

免费动画制作软件(求推荐个专业动画制作软件)

本文目录求推荐个专业动画制作软件动漫制作软件那个最好最简单(免费的)求推荐个专业动画制作软件你可以先去【绘学霸】网站找“动画制作技术”板块的【免费】视频教程-【点击进入】完整入门到精通视频教程列表: www.huixueba.net/web

2024年6月26日 04:09

为什么要无功补偿(为什么电力系统要做无功补偿)

为什么要无功补偿(为什么电力系统要做无功补偿)

大家好,为什么要无功补偿相信很多的网友都不是很明白,包括为什么电力系统要做无功补偿也是一样,不过没有关系,接下来就来为大家分享关于为什么要无功补偿和为什么电力系统要做无功补偿的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧

2024年10月13日 09:40

linux系统能ghost吗(Linux系统能用Ghost备份吗)

linux系统能ghost吗(Linux系统能用Ghost备份吗)

本文目录Linux系统能用Ghost备份吗请问可以用ghost备份linux系统吗linux系统能用ghost装吗linux系统支持ghost吗用GHOST对LINUX系统做备ghost能够备份linux系统吗linux系统安装如何实现gh

2024年6月27日 07:52

印度疫情为何突然消失(印度疫情活埋6000人视频 疫情为何突然控制住了)

印度疫情为何突然消失(印度疫情活埋6000人视频 疫情为何突然控制住了)

大家好,今天小编来为大家解答以下的问题,关于印度疫情为何突然消失,印度疫情活埋6000人视频 疫情为何突然控制住了这个很多人还不知道,现在让我们一起来看看吧!本文目录印度疫情活埋6000人视频 疫情为何突然控制住了为什么现在没有印度疫情报道

2024年6月29日 13:53

dhtml的动态内容的作用是(谁知道DHTML由哪4各主要部分组成(动态网页设计方面))

dhtml的动态内容的作用是(谁知道DHTML由哪4各主要部分组成(动态网页设计方面))

“dhtml的动态内容的作用是”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看dhtml的动态内容的作用是(谁知道DHTML由哪4各主要部分组成(动态网页设计方面))!本文目录谁知道DHTML由哪4各主要部分组成(动态网页设

2024年7月22日 10:45

表白网站制作教程(怎么制作网站)

表白网站制作教程(怎么制作网站)

本文目录怎么制作网站怎么在手机上做表白网站怎么快速的制作表白网页而且能一直访问如何制作表白链接怎么制作网站制作网站的方法:要建立个人网站,首先必须要了解一下目前网页制作的基本语言HTML,入门即可,大概花个一二小时就可。学会使用目前流行的网

2024年7月2日 21:58

五金工具轮播图素材(五金店有哪些产品)

五金工具轮播图素材(五金店有哪些产品)

本文目录五金店有哪些产品‘五金’是指哪几样做五金必须知道工具的用途吗高分悬赏:五金行业产品有哪些五金工具图片及名称五金机械设备有哪些五金店有哪些产品1、锁类。这个在生活中很常见,比如房子的外装门锁、防盗锁、浴室锁,家具如玻璃上的橱窗锁,茶几

2024年7月11日 21:31

360站长平台(怎样提高搜索引擎对网站的收录)

360站长平台(怎样提高搜索引擎对网站的收录)

本文目录怎样提高搜索引擎对网站的收录在搜索引擎优化中,百度搜索量为0,360搜索量300,怎么做到的网站上线一个月了,360收录一直挺好,快1000+了,为什么百度收录很差你经常看哪类网站,觉得如何怎样提高搜索引擎对网站的收录网站想要快速收

2024年6月26日 00:43

tag是什么意思啊饭圈(饭圈用语tag有哪些)

tag是什么意思啊饭圈(饭圈用语tag有哪些)

本文目录饭圈用语tag有哪些饭圈tag什么意思tag是什么意思饭圈用语tag有哪些TAG即标签,就是指一篇网络日志、一个图片、一个音视频作品的关键词,通过TAG可以方便、灵活的对这些内容进行分类管理。tag能以较少的代价细化分类,tag可以

2024年7月14日 13:18

tcp测试工具(linux系统中怎么使用tcp测试工具)

tcp测试工具(linux系统中怎么使用tcp测试工具)

本文目录linux系统中怎么使用tcp测试工具TCP服务器性能如何测试linux系统中怎么使用tcp测试工具TCP调试助手是一个辅助调试UDP/TCP的工具软件,支持TCP Server、TCP Client、UDP等通信模式,为网络调试提

2024年5月16日 22:09

asp脚本的应用教案(ASP脚本循环语句)

asp脚本的应用教案(ASP脚本循环语句)

本文目录ASP脚本循环语句ASP基础入门:简介ASP入门:认识ASP程序所使用的几种脚本语言网站ASP如何应用ASP.NET Web Page应用深入探讨如何使用 ASP 编写开方脚本!ASP基础入门:脚本基础ASP脚本变量、函数、过程和条

2024年6月28日 04:09

javaee是干什么的(我想知道学完javaEE后能做什么啊,就只能做web开发么,做网站开发和做web有什么不同)

javaee是干什么的(我想知道学完javaEE后能做什么啊,就只能做web开发么,做网站开发和做web有什么不同)

本文目录我想知道学完javaEE后能做什么啊,就只能做web开发么,做网站开发和做web有什么不同JavaEE到底是什么,如何理解我想知道学完javaEE后能做什么啊,就只能做web开发么,做网站开发和做web有什么不同JavaEE开发就是

2024年7月8日 07:45

typedef struct所有用法(typedef struct 用法是什么)

typedef struct所有用法(typedef struct 用法是什么)

其实typedef struct所有用法的问题并不复杂,但是又很多的朋友都不太了解typedef struct 用法是什么,因此呢,今天小编就来为大家分享typedef struct所有用法的一些知识,希望可以帮助到大家,下面我们一起来看看

2024年6月29日 10:51

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2342
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1735
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1168
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1164
标签列表

热门搜索