让JAVA成为系统的C语言,直接执行class二进制码。当年lisp机器都有人做过,现在JAVA语言还算是正当壮年,为什么没有JAVA机器横空出世
让JAVA成为系统的C语言,直接执行class二进制码。当年lisp机器都有人做过,现在JAVA语言还算是正当壮年,为什么没有JAVA机器横空出世
|
lbp0200Jul 28, 2015
1
oracle正等着告你
|
|
SeptembersJul 28, 2015
2
IBM
|
|
incompatibleJul 28, 2015
3
每一台安卓手机不就是一个jvm实体机?
|
|
kanegJul 28, 2015 via iPhone
4
Sun公司曾经做过一个java os,后来不了了之了
|
|
ChanneWJul 28, 2015
5
硬件的 JVM 实现?
|
|
ChanneWJul 28, 2015
6
嫌脚本语言慢的,怎么都不做硬件的解释器呢
|
|
7
@ChanneW java用得多,好卖嘛。脚本语言比例太少
|
|
8
|
|
ETiVJul 29, 2015 via iPhone
9
我很早前也想过这问题…
Flash VM、Java VM,都是字节码,难道不能做个可以直接处理字节码的CPU么… |
|
mfanerJul 29, 2015
10
因为更新快?比如要是做了个Java7的,然后Java8出来新的字节码特性怎么支持?
|
|
11
@mfaner cpu也是年年更新的,换个手机就换了,企业装了版本的jdk也很少换的. cpu啥的也不太懂,只能猜猜
|
|
sincwayJul 30, 2015
12
ARM CPU 的 Jazelle 功能有点类似吧,硬件执行 bytecode 的
|
|
gaohongyuanJul 30, 2015 via Android
13
@incompatible 没记错的话 Android 应该是每个应用都是独立的虚拟机?
|
|
Shy07Jul 31, 2015
14
因为每一台机器都可以是 JVM 的实体机,不管 x86_64 还是 ARM,执行的都是机器码,所以只要你用机器码实现一个 JVM 解释器,就可以运行 JVM 字节码了。
如果是硬件直接运行 JVM 字节码的话,我记得 11 区搞过硬件执行 Ruby 的机器,这是病,得治。 |
|
semicircle21Aug 1, 2015
15
随便找台主流一些的 Android 手机, cat 一下 /proc/cpuinfo
http://unix.stackexchange.com/questions/43539/what-do-the-flags-in-proc-cpuinfo-mean 其中, ARM 的 java: Jazelle (Java bytecode accelerator) 可以让 CPU 进入一种执行 Java 字节码的状态. |
|
16
|
|
sincwayAug 1, 2015
17
@semicircle21 安卓是用不了 Jazelle 的,Dalvik 可执行程序不是 Java 的标准 bytecode,无法利用此特性,StackOverflow 等有相关讨论。
|
|
semicircle21Aug 3, 2015
18
@sincway 啊? 还有这样的细节, 我又孤弱了, 谢谢谢谢~
|