首页 > 为什么无论Scala、Clojure、Groovy和JAVA都要学JVM

为什么无论Scala、Clojure、Groovy和JAVA都要学JVM

最近面试了几个高级JAVA职位,发现基本上所有面试都有JVM。

在用百度搜大数据开发人才要求信息,发现大部分都需要有JVM知识!

本人JVM一直很一般,主要是半瓶子水平,搜了半天,就看到只有一门深入浅出JVM在线培训课,价格倒是不贵,就是想听听大家对JVM的看法!!

为什么无论Scala、Clojure、Groovy和JAVA都要学JVM???与大数据什么关系,学不好的话,JAVA就不好嘛?


lz的问题我也遇到过,我觉得学习JVM就好像学习Linux一样。你说的这些JVM语言都是最后编译成Class文件在JVM上面执行的,如果不了解JVM,那么很多Java语言的基础知识你都不可能学好(最简单的就是多线程和JVM内存模型的的关系)。而且JVM参数调优已经成Java程序员必备的知识了,但是如果你不懂JVM的GC算法和各种分代,参数调优都不好做。
另外Scala这些JVM上面的语言如果想学好最后还是要归结到JVM上面。要知道基础语法可是每个人都可以学会的。一个程序员的核心优势就是了解底层,这可不是人人都有那个恒心学好的。
至于你说的大数据,如果要做开发,当然首先要会编程语言,而且后面可能还要了解源代码,这些不都是JVM上面的执行的吗。
最好一点:既然人家愿意问,你就好好学学呗,这个不就类似于划重点吗?还省得烦考你算法数据结构。


第一,为什么无论Scala、Clojure、Groovy和JAVA都要学JVM???(怎么让我感觉你根本不懂jvm。
第二,JVM是一个虚拟机,你所说的Scala。。。都是基于这个虚拟机的,这个虚拟机对于java,Scala来说,这个JVM运行各种OS平台,但是,对于Java,Scala来说,他就是抽象出来的一个OS。
第三,你指的大数据应该云计算,Java有很多的框架,太多了。包括hadoop(分布式计算).所以,他们都是有关系的。


jvm本身有许多抽象的定义,比如线程model比如内存model,如果不在抽象层面上去理解,仅仅是从语言的层次去理解,我想是不会有太高的造诣的。


很简单,这些语言都是跑在jvm上面的嘛。写程序要了解一下变量储存机制,才能多快好省嘛。就跟写php要了解zval一样。


你说的前面几个语言都是jvm语言,建立在jvm之上的,入门和深入都应该去了解jvm吧,要不然底层的东西都不知道,怎么能更深入一步呢?以我愚昧和短浅的见解,我觉这些跟语言跟大数据的关系,就是有些大数据的框架和工具是这些语言开发的


这些都是在jvm环境上跑的


先说说你所知道的“JVM”是什么吧

【热门文章】
【热门文章】