面试中问到对JVM类加载机制流程的理解,了解这对于开发者有怎样的意义?
1.为了装B
2.为了筛选更好的
3.牛逼的公司工作涉及到自己搞虚拟机
能让你更优质的代码,少埋坑
一个java程序员如果连类加载机制都搞不清楚的话,那还能指望他能写出什么高质量的代码?
术业有专攻,问这种问题合理不合理,要看面试的是什么职位。
好比雇佣一个网约车司机,你要这个司机充分掌握发动机总成、变速箱总成的各种原理么?但是如果是修理工,或者赛车手,又必须了解这些。
什么情况下需要深入了解,比如说逆向工程、性能调优、平台移植/适配、JVM源码定制等等。当然作为资深程序员,如果掌握一些JVM肯定也是加分项。
但是如果一个培训班毕业的,看了几本面试大全的书,就来应聘一个几千块钱月薪的搬砖岗位,和一个二把刀的面试官就jvm侃侃而谈,这个画面多少有点滑稽。
这个问题问的好,个人理解是了解这些跟面试无关,但是面试中高级 Java 开发岗位时肯定会碰到的问题。
我是入行时听公司前辈说深入浅出 JVM 这本书的,开始看不懂但是也是 。但是一直断断续续地看,开始时看不懂的,但是过了三四年就开始懂了。
了解 JVM 对开发的作用就是:你写完一个类,就能想象出它对应的每一行字节码,执行的过程以及编译器作的优化后的代码跟当前代码的区别,对写出高效优雅的代码很有帮助。