虚拟机的作用分析?
对于ja程序员来说,虚拟机可以说是在接触到ja编程语言的时候就开始使用和操作的一个工具了。而今天南邵IT培训就一起来了解一下,虚拟机对于ja程序员的作用有哪些。
跟许多人一样,我一开始接触Ja虚拟机只是因为面试需要用到,所以硬着头皮看看。所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试。但我经过了几年的学习和实战,我发现其实学习虚拟机并不仅仅在于面试,而在于更深入地理解Ja这门语言,以及为未来排查线上问题打下基础。
先聊聊我的一个观点:学习Ja虚拟机能深入地理解Ja这门语言。对于刚刚工作一两年的朋友来说,各个API都没用熟,自然不会去深入研究Ja中的各种细节。但对于工作了三年以后的朋友来说,很多时候你要解决一个问题必须深入到字节码层次去分析,你才能得到准确的结论,而字节码就是虚拟机的一部分。
例如我们常用的布尔型Boolean,我们都知道它有两个值,true和false。但你们知道其实在运行时,Ja虚拟机是没有布尔型Boolean这种类型的。Boolean型在虚拟机中使用整型的1和0表示。
例如我们都知道类路径和类名确定一个类,但事实上并不是这样。或者说,我们前面说的结论只是表面上的。如果深入到虚拟机层面来说,类加载器、类路径、类名才决定一个类。也就是说,如果两个不同的类加载器它们加载同一个class类文件,那这两个类加载器加载的类就是不同的。
类似这样的例子还有很多。学Ja学到了这个程度,如果你不懂虚拟机的一些基础知识,那么你就很难深入理解一些细节。
2024-05-22 广告