java只是一种语言,需要在jvm里运行,
这个说就跟我做桌面应用开发,不用去学windowssdk一样.
这让我想到了另外一个问题:赛车手需要对发动机熟悉吗?
@dudu 赛车手是必须对发动机熟悉的。
JVM:Java Virtual Machine,java虚拟机。
Java程序编译后,是字节码,不能直接运行,需要解释运行,这个解释器就是JVM。
座位Java程序员,要知道的是java的语法、函数库,只要知道这些就可以了。
dudu说的好,赛车手需要对发动机熟悉吗?不需要,只要学会开车就行了。
不过呢,如果赛车手对发动机很熟悉,那么赛车的时候,会相对他人更有胜利或安全的保障。
同样的,如果java程序员对jvm很熟悉甚至精通,那么,开发的java程序也会更强大。
只是,当你的开发java需要到了解并熟悉甚至精通jvm的程度的时候,也就不会有你的这个问题了。
种地需要对土壤成分熟悉吗?
这是结果导向的提问方式,而真正的科学精神是,为了提高质量和产量,还需要掌握哪些知识?
熟悉JVM,能提高你的编程水平。但是使用Java,并不需要熟悉JVM。
了解JVM会让你写出来的代码更高效,有时候,了解底层的东西,会让你对以前不理解的地方,瞬间明朗,会让你对java有更深入的理解,建议去学学。
JVM觉得如果一般性的话,只需要了解他的内存分配,如果是做项目做到一定大的话,这个很重要。
不然经常会出现outofmemory的一些莫名其妙的问题,其他的一些简单的存储原理还是相应的了解下比较好。
技多不压身,面试时经常会问到。
不需要,java的开发主要是web开发运行不要虚拟机的。
主要看你自己想走什么路线,JVM不管是内存/GC还是编译或者是线程机制,异常机制,类加载机制等等..对个人技术提升还是比较大的.
如果你现在主要工作内容是摸鱼搬砖写增删改查,学JVM确实没啥用,也就是吃饭的视乎和同事吹吹牛逼.
若果你能在项目出现问题时,能调优内存配置GC,让人刮目相看,那感觉肯定比吹牛逼爽.
当然学下JVM肯定不止这点作用.还有题主,你确定还没学就要精通JVM吗,没有开玩笑吗
肯定要了解,感觉不需要的那都是技术不太好的,现实工作中让你设计个项目,你不了解静态代码什么时候加载,不了解项目上线堆调多少,怎么更优化,你自己引入的jar和原有项目冲突,这些都需要了解。所以肯定是要学的,要大概知道。