为什么java开发中很少用到jvm jdk版本jvm区别?
jdk版本jvm区别?
Jdk是java开发工具包,jvm是java运行环境,jdk包括jvm。
jvm是c 写的,为什么我的系统不需要安装c 的运行环境?
C在底层,JVM用的是有限的C类库。将C的这些跨平台部分封装后,由JAVA API调用,C类库已经内置。所以你的电脑不会。;不需要C运行时。
在java中,GraalVM是jvm的未来吗?
强答。结论是GraalVM想成为 "最终和主宰世界的虚拟机。
大多数脚本语言或者有动态特效的语言都需要一个语言虚拟机才能运行,比如CPython、Lua、Erlang、Java、Ruby、R、JS、PHP、Perl、APL等。,但是这些语言的虚拟机级别,没错,就是具体实现,差距很大。比如CPython 的虚拟机可以 不敢直视它,JVM s HotSpotVM,C#的CLR,JS的v8都是最先进的水平,能不能少花点力气用一个最先进的虚拟机来运行这些语言,让他们享受一下虚拟机的一些工匠特性,比如gc,lock,jit等等?
答案基本是肯定的。首先,对于Java、Scala、Groovy这些基于JVM的语言来说,没有压力,直接上JVM就行了。对于由CPython、R、Ruby、PHP甚至我们自己编写的新语言,让 让我们回顾一下我们的一般做法:首先,将源代码解析成AST,然后编写AST解释器-gt。当有人使用这种语言时,语言设计者可能会不断迭代,实现一个虚拟机,包括GC,runtime等。代码执行的还是AST解释器-gt,更多人继续迭代。把AST转换成字节码,使用字节码解释器-gt的人很多,它的性能也很关键。如果这个语言社区有足够的资金和人力,它可以编写JIT编译器来提高GC性能,但是大多数语言都不能 不要这样做。我们希望一种语言在AST解释器节点中的性能足够好,我们不 不需要花费如此多的精力和财力来优化性能。这就是Truffle语言框架的动机。Truffle是一个spring mvc,它自然运行在Java上。在这个框架下,用户只需要实现一个特定语言的AST解释器,省力,性能好。
理想很丰满,现实很骨感
Graa|VM刚出来热情很高,但遗憾的是,鉴于O厂的名校生,社区反响冷淡。
这个事情就像J医院的老板告诉大家,我家姑娘年轻聪明,所以不要 不娶媳妇,努力挣钱给我家姑娘!
现在大家关注度不高,也很少有社区努力去推动。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。