news 2026/9/15 8:12:13

你能解释一下什么是JVM吗?它是如何工作的?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
你能解释一下什么是JVM吗?它是如何工作的?

那Java是怎么做到的呢?这个大功臣就是我们的JVM了。与其他语言不同,Java代码编译之后并不是直接编译成机器码,而是编译成只有JVM才能识别的一种字节码。不论Java程序在那个环境运行。只要JVM能装,Java程序就可以直接运行。

JVM承担的就是一个翻译工作,动态的将Java代码编译成操作系统可以识别的机器码。这样一来,Java就实现了「Write Once,Run Anywhere」的伟大愿景了。

一次编译、处处运行「Write Once,Run Anywhere」

很多同学会有一个疑惑,就像当年的C语言或者说如今的Go语言,打包成各个平台的软件包也不是一件很麻烦的事情。我总不至于为了这一个特性就直接切换到Java语言吧。这句话实际上也只是一句口号,直到如今Java程序跑在不同的平台上也会遇到不同的一些问题。Java能火起来实际上包含了很多的因素,比如语法简单容易入门、生态开放性、语言本身的扩展性、稳定性还有一些运气的成分等等,跨平台只是其中的一个小点而已。

很多初学者对于JVM也会存在一个误区,觉得只有Java语言才能运行在JVM上。但实际上Java虚拟机运行的是字节码文件。换句话说你如果写一段JavaScript代码,只要能通过编译器编译成字节码文件,那Java虚拟机也能够运行。这也不是开玩笑,现在Java虚拟机确实可以运行JS代码了。虽然名字是Java虚拟机但是和Java语言并没有什么强关联。它只是按照Java虚拟机规范去读取Class文件解析执行,仅此而已了~

如果你对JVM足够了解足够深入,你完全可以自己写一门语言,只要能编译成规范的字节码就运行在JVM虚拟机之上了。这种语言也有很多比如Scala、Kotlin等等都是同一个思路。

关于JVM的介绍我们就聊到这,下一集讲带领大家走进JVM的世界~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 9:18:52

Kotlin编程语言入门与常见问题

麻烦点赞: https://t.csdn.cn/ThlhE 谢谢!接下来,正片开始。 Kotlin是一种具有显著特性的编程语言,新手入门可先了解其入门知识,以及新手可能遇到的常见问题。 入门知识 与Java的关系:Kotlin与Java语言具…

作者头像 李华
网站建设 2026/9/14 14:10:28

三角形正反面之谜:三个点如何决定朝向?

你在做 3D 的时候,迟早会遇到一个“灵异事件”: 模型明明在眼前,结果转个角度它就消失了 开了背面剔除(Backface Culling),模型像被削了一层皮 做了镜像(Scale = -1),整个模型忽然“里外翻转” 阴影破洞、轮廓闪烁、某些面忽隐忽现 这时候很多人第一反应是:法线坏了?…

作者头像 李华
网站建设 2026/9/8 5:31:58

同花顺 app 设置技巧

自选分添加,是在右下就 同顺商城里面设置,搜索添加横屏日线操作:长按是日线游走。否则是日线时间滑动。

作者头像 李华