最近看了一段时间jdk源码,在看源码的过程中对数据的存储不是很清楚,当时就在想数据到底存在哪里去了?以前只是看博客什么的对jvm有一个大概的了解,但是没有深入研究。经过一段时间的研究<<深入理解java虚拟机后>>,才决定写一些关于jvm的文章,不为别的只为了同为技术的程序员们少走一些弯路,因为这本书第一遍读起来晦涩难懂,我也是查阅了大量的资料才渐渐的理解了什么意思。同时也为了留下自己的脚印,以后几十年后能够看到我在这一年没有荒废时间还在努力的研究技术,估计那时候会欣慰的一笑吧。
1 jvm怎么来的
还记得上的java第一趟课吗?老师怎么说的。。。java是面向对象的语言,而且它是跨平台的。这个跨平台是什么意思?
我们的计算机只认识0 或者 1,我们不管用什么语言写的程序都要经过编译器编译成 0 或者1 组成的2机制文件才能被机器认识,程序才能执行。现在也是这样子,但是我们的程序是运行在机器上,机器是有操作系统的也是有机器指令的,面对不同的厂家不同操作系统我们都需要根据具体的需求 进行编译,这样子做了太多的重复性工作。所以‘与平台无关性’这一理想就出现了,在这种理想下虚拟机也就应运而生。
而且虚拟机跟java一点关系都没有,只不过java是在虚拟机上运行而已。更准确的说任何语言之言编译成.class文件都能在虚拟机上运行。

不管什么语言只要编译成class文件,都能做到一次编译处处运行。
1 jvm是什么?
我想大家学java的时候第一课一
本文介绍了JVM的起源和作用,强调了它的跨平台特性。通过类比吃饭的过程,解释了JVM的四个核心子系统:类加载器、运行时数据区域、执行引擎和垃圾收集器如何协同工作,确保Java程序的执行和内存管理。后续章节将详细探讨每个子系统。
订阅专栏 解锁全文
575

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



