现在 JVM 企业应用这么多, android 手机也占大半江山,有没有做 JVM 的实体机的公司?

2015-07-28 22:22:05 +08:00
 qinglangee

让JAVA成为系统的C语言,直接执行class二进制码。当年lisp机器都有人做过,现在JAVA语言还算是正当壮年,为什么没有JAVA机器横空出世

3298 次点击
所在节点    硬件
18 条回复
lbp0200
2015-07-28 22:24:57 +08:00
oracle正等着告你
Septembers
2015-07-28 22:27:23 +08:00
IBM
incompatible
2015-07-28 22:29:58 +08:00
每一台安卓手机不就是一个jvm实体机?
kaneg
2015-07-28 23:28:15 +08:00
Sun公司曾经做过一个java os,后来不了了之了
ChanneW
2015-07-28 23:43:16 +08:00
硬件的 JVM 实现?
ChanneW
2015-07-28 23:46:27 +08:00
嫌脚本语言慢的,怎么都不做硬件的解释器呢
qinglangee
2015-07-29 00:05:49 +08:00
@ChanneW java用得多,好卖嘛。脚本语言比例太少
qinglangee
2015-07-29 00:08:17 +08:00
@incompatible
@kaneg
执行class字节码的cpu, 安卓手机, os什么的不算
ETiV
2015-07-29 01:02:30 +08:00
我很早前也想过这问题…

Flash VM、Java VM,都是字节码,难道不能做个可以直接处理字节码的CPU么…
mfaner
2015-07-29 01:17:46 +08:00
因为更新快?比如要是做了个Java7的,然后Java8出来新的字节码特性怎么支持?
qinglangee
2015-07-29 09:26:46 +08:00
@mfaner cpu也是年年更新的,换个手机就换了,企业装了版本的jdk也很少换的. cpu啥的也不太懂,只能猜猜
sincway
2015-07-30 12:49:20 +08:00
ARM CPU 的 Jazelle 功能有点类似吧,硬件执行 bytecode 的
gaohongyuan
2015-07-30 15:37:25 +08:00
@incompatible 没记错的话 Android 应该是每个应用都是独立的虚拟机?
Shy07
2015-07-31 09:59:50 +08:00
因为每一台机器都可以是 JVM 的实体机,不管 x86_64 还是 ARM,执行的都是机器码,所以只要你用机器码实现一个 JVM 解释器,就可以运行 JVM 字节码了。
如果是硬件直接运行 JVM 字节码的话,我记得 11 区搞过硬件执行 Ruby 的机器,这是病,得治。
semicircle21
2015-08-01 01:34:47 +08:00
随便找台主流一些的 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 字节码的状态.
qinglangee
2015-08-01 09:18:08 +08:00
@sincway
@semicircle21
这个长见识了, 了解一下
sincway
2015-08-01 13:27:19 +08:00
@semicircle21 安卓是用不了 Jazelle 的,Dalvik 可执行程序不是 Java 的标准 bytecode,无法利用此特性,StackOverflow 等有相关讨论。
semicircle21
2015-08-03 15:25:45 +08:00
@sincway 啊? 还有这样的细节, 我又孤弱了, 谢谢谢谢~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/209041

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX