王:有谁知道jvm是啥?
钱:java虚拟机
陶:。。。。。。
钱:具体 陶知道
王:我知道,就想问java虚拟机是啥?
陶:你写java代码会被编译成class吧?
王: 恩,咋了?
陶:但是class不是机器语言呀。计算机不认识,jvm构造了完整的一套内存结构
王:我知道,那是看不见的。
陶:把你编译之后的class翻译给cpu听,然后cpu去执行你代码的指令。
王:我们看的见的是哈?
陶:你看见的只有java代码,想看的话,能看到堆,栈信息啥的
王:java虚拟及是在我们安装的jre里面吗?
陶:那不然呢?
王:在安装目录 jre 里面,对吧?
张: java虚拟机是java代码的执行环境,我是这样理解的。
钱:就是 沙箱,形象吧?
王:沙箱是啥?
钱:沙箱就是一种隔离机制
王: 越说越抽象
钱: 举个例子 有一些电脑病毒 我想要在电脑上运行 ,但是又害怕影响我系统,就可以把这些病毒放进沙箱,隔离运行
王:那你的意思是,我们的java代码是放在jre的运行环境?这个运行环境的内部就是jvm?
钱:嗯,java代码要房间专门的环境里 独立的
王:就是下载一个jre 装到对应的系统?
钱:嗯
钱:那局势你程序运行编译的环境,也就是你配置环境变量的原因,我个人觉得 这就是阻碍java发展的一个原因
王:ok
陶: 这玩意主要是用来跨平台的,你写一套代码,它给你翻译成不同平台的机器指令
张:现在的高级语言都是使用虚拟机吧?
陶: 这不就是java当时号称的优势吗?推荐你看看RednaxelaFX这个人的文章,都是虚拟机的
王:好,晓得了,都不错的理解。
本文通过对话形式解释了Java虚拟机(JVM)的概念及其工作原理。讨论了JVM如何将Java代码编译后的class文件转换为机器可执行的指令,并介绍了其在不同平台上的运行方式以及跨平台特性。
223

被折叠的 条评论
为什么被折叠?



