百科问答小站 logo
百科问答小站 font logo



java虚拟机是什么? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

简单说就是Java和C#的代码编译好之后,是跑在一台虚拟的机器(VM)上的,这台虚拟的机器可以执行IL(中间语言),并且负责分配内存和维护调用堆栈。


为什么要做成虚拟的机器这要从Java的一次编译到处执行来说。事实上一次编译到处执行是不可能的,因为每个机器不一样,所以传统上我们必须针对每一种机器编译代码,才能在这个机器上运行。而Java通过引入虚拟机(VM)的概念,让编译后的代码直接跑在一台虚拟的机器上,无论最终的目标平台是什么,都在上面构建出一个虚拟的一致的虚拟机出来,就可以达到一次编译到处执行的效果了。


事实上并不排除以后会推出可以直接解析执行IL的硬件平台,这时候,这个虚拟的机器可能就会成为一个实际的机器了……




  

相关话题

  微软开放.net框架源代码后,未来的发展有哪些可期待的? 
  学了 3 年 Java,包括自学和大学学习,如今工作一开始需要我学 C#,觉得不甘心怎么办? 
  用c#开发桌面应用,如何做出漂亮的界面? 
  C# 中 加入 F# 中的那种 管道运算符 “|>” 会怎么样? 
  编程该怎么学下去(C#)? 
  C#的dynamic使用中有什么需要注意的地方,以免滥用? 
  为什么微软不把C# 设计成像C++一样可以编写底层3D程序的一门语言了? 
  如果 C# 当年设计成一个彻底编译到机器码的但有运行时的 AOT 语言,能不能真的拿来代替 C++? 
  关于C#异步编程Task的一个疑问? 
  C# 虽然在语言层面上更胜 Java 一筹,但是这对于占有率真的很重要吗? 

前一个讨论
车停在小区停车位,一个醉汉用刀子划车轮胎,结果轮胎爆炸把醉汉炸死了,车主需要承担责任吗?
下一个讨论
工信部做过的利国利民的事情有哪些?





© 2025-06-14 - tinynew.org. All Rights Reserved.
© 2025-06-14 - tinynew.org. 保留所有权利