Java可以直接在硬件上运行(假设有足够的内存来包含必要的JRE / JVM吗?如果可以,System.out.println如何工作?我想如果只是全部,该输出将无处可去)在CPU上。
答案 0 :(得分:3)
直接在硬件上?我假设您是要问Java是否可以在微控制器上运行?答案是肯定的。 JVM是一个虚拟机,它实质上是其自己的操作系统。 JVM被设计为完全执行您想知道的事情。 JVM的两个主要功能是允许Java程序在任何设备或操作系统上运行,“一次编写,在任何地方运行”,并优化内存解决方案。
回答第二个问题。为了直观地看到System.out.println()调用的输出,只需要为微控制器提供一个屏幕即可。但是,从理论上讲,即使您看不到代码,代码仍然会执行。因此,可以编写一个Java applet来打印“ hello world”,然后将其加载到微控制器上并运行它,但这很愚蠢。
编辑:我以为您不是在问:“您能用Java编程一个微控制器吗?”我傻了,答案是肯定的,您肯定可以。但是,您也不希望这样做,因为JVM很大,并且会占用很多空间。话虽如此,如果您有兴趣的话,请看一下:支持STM32 Java的微控制器或Renesas RX。另外,您可以使用uJ或NonvoVM运行内脏的JVM。
答案 1 :(得分:1)
简短的答案是否定的,因为JVM并在Java中随处运行一次写入功能,因此代码不是直接在硬件上运行,而是在JVM内运行... JVM本质上充当了不同硬件/之间的中间人。操作系统...如果您希望完成此任务,请查看C ++