c java支持_Java是否可以在C上运行?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:

In which language is the Java compiler, JVM and Java written?

我只是好奇。 Java是在C上运行还是可以直接安装在硬件上? 它直接将Java字节码转换为机器代码还是在某处使用C?

Java基于C ..我认为Java在其自己的虚拟机上运行,并转换为字节码..

我不认为这个问题是链接问题的重复。 另一个问题是关于Java实现的语言(如果我理解正确的话),是否Java程序直接在硬件上运行,或者需要解释器/ JIT(最有可能用C编写)来执行。 对于这个问题的答案是:大多数Java实现需要解释器/ JIT(JVM的一部分),但是正如Zan Lyx所说,某些硬件可以直接执行Java。

您可以尝试从OpenJDK下载源,以查看此参考实现的工作方式。

JVM(Java虚拟机)可以是解释器或JIT(即时)编译器,也可以是两者。 如果它是编译器,则它是直接编写机器代码。 它不会先编写C代码。

JVM可以用C或C ++或Java编写。 它几乎可以用任何一种语言编写,并且仍然是JVM。

有一些可以直接运行Java的硬件,例如智能卡。

Java在Java上运行。

JVM用Java编写,并将字节码转换为机器语言。 类加载器,垃圾收集器等也是用Java编写的,您也可以用自己的Java版本覆盖它们。 在特定的OS上可能会有少量的C来引导整个程序(例如加载可执行文件),但是不,C并不扮演重要的角色。

JVM解释字节码。 JIT编译器(在调用时)实际上将字节码转换为机器语言。

Sun JAVA最有可能用C或C ++编写

@Phil,"最有可能的"是一个非常浮躁的短语。 Suns HotSpot JVM主要是C / C ++,但OP询问的是" Java"而不是" Sun Java"。 有很多用Java编写的JVM,例如Jikes JVM。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值