当前位置:  技术问答>java相关

JAVA虚拟机是个什么东东?哪位明白的朋友讲一下。

    来源: 互联网  发布时间:2015-08-09

    本文导语:  如题。 | Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。 Java语言的一个非常重要...

如题。

|
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

|
如果你英文可以的话,看看这个教课书上的解释:

The JVM(Java Virtual Machine) consists of a class loader, a class verifer, and a java interpreter that executes the architecture-neutral bytecodes. 

The class loader loads .class files from both the java program and the java API for execution by the java interpreter. 

After a class is loaded, the verifer checks that the class file is valid java bytecode and does not overflow or underflow the stack. It also ensures that the bytecode does access. 

If the class passes verification, it is run by the java interpreter. The JVM also automatically manages memory by performing garbage collection -- the practice of reclaiming memory from objects no longer in use and returning it to the system. Much research focuses on garbage collection algorithms for increasing the performance of java programs in the virtual machine.


|
还有,

The java interpreter may be a software module that interprets the bytecodes one at a time, or it may be a just-in-time (JIT) compiler that turns the architecture-neutral bytecodes into native machine language ofr the host computer. Most implementations of the JVM use a JIT compiler for enhanced performance. In other instances, the interpreter may be implemented in hardware that executes java bytecodes natively. The JVM is presented in Figure 3.12

Figure 3.12

java .class files
   ||
   ||
   /
class loader
   |
   V
verifier
   |
   V
java interpreter
   /   ||
   ||   ||
   ||   /
host system

|
jvm
java的执行环境  装了jvm才可以运行java

|
这是JAVA能跨平台的关键,JAVA代码编译后生成BYTECODE,然后通过不同机器上的JVM来运行BYTECODE.

|
You can go to look at the java.sun.com that is best introduction website. this website have more primer for the JVM.

    
 
 

您可能感兴趣的文章:

  • 请教大家!!!java如何实现多重继承?接口该如何使用?份数可以再加,只要我明白了
  • 我初学java,用的是jdk1.3,但是有一点不明白?整个java程序的入口在什么地方?
  • 我是JAVA新手,所以我不明白(JPanel)类的东西
  • 请问:什么是组合?看了THINGKING IN JAVA后,还是不是很明白
  • 我是菜鸟,请帮助我。编译JAVA程序时,“e.hasMore Elements()”出错,不明白!
  • ***iamcyh(蓝色虾)与hanson_yi() 领分******Java 学的好辛苦啊,想了好几天还是不明白啊:(***
  • 菜鸟初学java,关于移位操作老看不明白,请高手帮忙解释一下
  • 不太明白,利用RMI实现JAVA分布式应用 和 EJB实现JAVA分布式应用有什么区别。
  • 请问java的switch语句有的用法,我真不明白
  • 我学java时有些东西始终弄不明白,希望能得到指点!
  • 看了不少文章,还是不明白。请问各位大侠,在java2中applet到底能不能通过jdbc访问网络数据库?答者有分!
  • 有一段JAVA程序看的不是很明白,希望高手指点(一定给分)
  • 有那位朋友看过Java2核心技术中的自定义布局管理器,在其中方法preferredLayoutSize的实现是怎样的?看不明白,高手解释一下
  • 《thinking in java》一个有关继承的程序不明白,请讲一讲,谢谢
  • java到底好在哪儿,我是死活不明白,求大家解释一下!
  • Serializable?使用和意思?在thinking in java里面看了半天一天也没有明白什么意思!谢谢高手大虾了
  • java内部类的那些事儿_让你一看就弄明白
  • ***Java 学的好辛苦啊,想了好几天还是不明白啊:(***
  • 哪有jvm(java虚拟机)下载,为了让ie运行一些java程序!
  • 很多书上讲Linux为Java提供内核级支持,可是为什么我要用时还得装java虚拟机?
  • 听说WINDOWS XP不代JAVA虚拟机了,JAVA是不是要玩了
  • 关于Java虚拟机
  • JavaScript编写的Java虚拟机 BicaVM
  • Java虚拟机增强工具 Excelsior JET
  • linux下查看java项目虚拟内存很大,请高手指点下
  • java虚拟机问题
  • Java虚拟机 J9
  • JAVA虚拟机是不是也要调用Windows的API?
  • 关于java虚拟机
  • Lua 实现的 Java 虚拟机 luje
  • 各位高手,求助! Java 虚拟机 问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 初学 java 的朋友来和我交朋友,我也是初学。我的 QQ 号是 33555085
  • LINUX下JAVA要代替C..?常跟朋友讨论的一个问题
  • 初学java,该看那些书,请朋友们指教
  • 各位使用过JAVA的朋友们!JAVA好用吗?它有向VC那样的集成开发环境吗?
  • 那位朋友有java类库手册?多谢了
  • 有没有在武汉学JAVA的和做开发的朋友!?
  • 愿交JAVA朋友,高手更好!!!
  • 我初学JAVA,大家愿意交朋友的进来看看!留QQ的给分啊!
  • 想认识一下重庆籍的unix,java开发的朋友!请进!
  • 各位朋友:请帮我推荐一下学java的教程
  • Java的版主真牛阿,哈哈,和朋友问好放点风也给删,佩服,散分,最后一次在这里!!
  • 节日小送分,给喜欢JAVA的朋友们!
  • 哪位朋友有关于Java调试方面的资料?
  • java内部类的那些事儿_让你一看就弄明白 iis7站长之家
  • 请问在工作岗位的朋友!使用java开发的公司对c#的态度如何?
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • 东软的java前景如何?东软的朋友快来谈一谈。
  • 哪位朋友有JAVA2认证复习指南?到那里下载电子版......
  • 用VisualAge for java的朋友过来看看
  • 小弟是只菜鸟!真诚的结交天下所有的java朋友!!请大家留下QQ !
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3