有5年Java经验的人,对于JVM知之甚少,这正常吗?你如何评价?

shiyichuan2005


对于应用级程序员来说,即使从事多年Java开发也不一定会涉及到虚拟机的知识。这主要是由工作性质决定的。所以,有5年工作经验的程序员,对于java虚拟机机制并不十分了解也是比较正常的情况。

对于应用级程序员来说,Java虚拟机的作用就是一个实现Java功能的“容器”,程序员平时虽然每天都会接触到虚拟机,但是虚拟机本身对程序员来说是“透明的”。大部分应用级程序员都是在容器之上从事功能性开发,也就是说通过Java API来完成大部分编程任务。简单的说容器的作用就是“Don't Call me,I'll Call you”,可以理解为“在需要的时候会出现”。

对于研发级程序员来说,掌握Java虚拟机的机制是十分有必要的,因为研发级程序员往往都是以产品为导向,性能是研发级程序员关注的核心问题之一。Java虚拟机是Java实现功能的基础,提供了Java API的支持。Java虚拟机考虑的核心问题有两点,一点是功能的实现如何组织(Java字节码、方法调用原理等),另一点是优化(常量池、栈帧、执行引擎、生命周期管理等)。

其实,即使是Java应用级程序员,了解Java虚拟机的内部机制还是有一定必要的,因为在编写代码的时候可以更好的运用Java虚拟机的机制来提高代码的执行效率。了解Java虚拟机能够从更高的层次来了解Java语言,对编程语言也会有一个更深层次的认知。

我使用Java的时间比较久,使用Java做过Web开发以及大数据方面的开发工作,我会陆续在头条上写一些关于Java方面的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。

如果有Java方面的问题,也可以咨询我,谢谢!