V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
qinglangee
V2EX  ›  硬件

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

  •  
  •   qinglangee · Jul 28, 2015 · 4120 views
    This topic created in 3931 days ago, the information mentioned may be changed or developed.

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

    18 replies    2015-08-03 15:25:45 +08:00
    lbp0200
        1
    lbp0200  
       Jul 28, 2015
    oracle正等着告你
    Septembers
        2
    Septembers  
       Jul 28, 2015
    IBM
    incompatible
        3
    incompatible  
       Jul 28, 2015
    每一台安卓手机不就是一个jvm实体机?
    kaneg
        4
    kaneg  
       Jul 28, 2015 via iPhone
    Sun公司曾经做过一个java os,后来不了了之了
    ChanneW
        5
    ChanneW  
       Jul 28, 2015
    硬件的 JVM 实现?
    ChanneW
        6
    ChanneW  
       Jul 28, 2015
    嫌脚本语言慢的,怎么都不做硬件的解释器呢
    qinglangee
        7
    qinglangee  
    OP
       Jul 29, 2015
    @ChanneW java用得多,好卖嘛。脚本语言比例太少
    qinglangee
        8
    qinglangee  
    OP
       Jul 29, 2015
    @incompatible
    @kaneg
    执行class字节码的cpu, 安卓手机, os什么的不算
    ETiV
        9
    ETiV  
       Jul 29, 2015 via iPhone
    我很早前也想过这问题…

    Flash VM、Java VM,都是字节码,难道不能做个可以直接处理字节码的CPU么…
    mfaner
        10
    mfaner  
       Jul 29, 2015
    因为更新快?比如要是做了个Java7的,然后Java8出来新的字节码特性怎么支持?
    qinglangee
        11
    qinglangee  
    OP
       Jul 29, 2015
    @mfaner cpu也是年年更新的,换个手机就换了,企业装了版本的jdk也很少换的. cpu啥的也不太懂,只能猜猜
    sincway
        12
    sincway  
       Jul 30, 2015
    ARM CPU 的 Jazelle 功能有点类似吧,硬件执行 bytecode 的
    gaohongyuan
        13
    gaohongyuan  
       Jul 30, 2015 via Android
    @incompatible 没记错的话 Android 应该是每个应用都是独立的虚拟机?
    Shy07
        14
    Shy07  
       Jul 31, 2015
    因为每一台机器都可以是 JVM 的实体机,不管 x86_64 还是 ARM,执行的都是机器码,所以只要你用机器码实现一个 JVM 解释器,就可以运行 JVM 字节码了。
    如果是硬件直接运行 JVM 字节码的话,我记得 11 区搞过硬件执行 Ruby 的机器,这是病,得治。
    semicircle21
        15
    semicircle21  
       Aug 1, 2015
    随便找台主流一些的 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
        16
    qinglangee  
    OP
       Aug 1, 2015
    @sincway
    @semicircle21
    这个长见识了, 了解一下
    sincway
        17
    sincway  
       Aug 1, 2015
    @semicircle21 安卓是用不了 Jazelle 的,Dalvik 可执行程序不是 Java 的标准 bytecode,无法利用此特性,StackOverflow 等有相关讨论。
    semicircle21
        18
    semicircle21  
       Aug 3, 2015
    @sincway 啊? 还有这样的细节, 我又孤弱了, 谢谢谢谢~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2491 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 95ms · UTC 08:41 · PVG 16:41 · LAX 01:41 · JFK 04:41
    ♥ Do have faith in what you're doing.