标题:
Java基础:JVM(Java 虚拟机)的详细讲解
[打印本页]
作者:
qingqing3721
时间:
2011-8-3 21:09
标题:
Java基础:JVM(Java 虚拟机)的详细讲解
可能有很多学习Java的同学还不知道Java的运行原理、Java虚拟机是怎么任务的,本文将为你详细解说(JVM)Java 虚拟机。
在Java中引入了虚拟机的概念,即在机器和编译顺序之间加入了一层笼统的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译顺序一个的共同的接口。编译顺序只需求面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处置器,只面向虚拟机。每一种平台的解释器是不同的,但是完成的虚拟机是相同的。Java源顺序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。
可以说,Java虚拟机是Java言语的基础。它是Java技术的重要组成局部。Java虚拟机是一个笼统的计算机,和实际的计算机一样,它具有一个指令集并使用不同的存储区域。它担任执行指令,还要管理数据、内存和存放器。Java解释器担任将字节代码翻译成特定机器的机器代码。Java是一种复杂的言语。它用到的概念不多,而且多为顺序员所熟悉。如果你是一名顺序员,掌握Java对你来说是易如反掌的事。即使你没有学过任何编程言语,学习Java也要比学习C++要容易的多。
由于Java最后是为控制电子产品设计的,因此它必需复杂明了。为了保证这种复杂性,Java去掉了C++中许多复杂的、冗余的、有二义性的概念,例如操作符重载、多承袭、数据类型自动转换等。为了将顺序员从复杂的内存管理的担负中摆脱出来,同时也是为了增加错误,Java使用了自动内存渣滓收集机制,顺序员只需在需求的时分申请即可,不需求释放,而由Java本人来收集、释放内存中的无用的块。
与C++相比,Java有着更强的面向对象特性,是一种比拟纯粹的面向对象言语。普通我们使用的一些所谓的面向对象的编程言语,如C++,Object Pascal等,实际上都是一种混合型的言语,
牛尔
即在进程式的言语中加下面向对象的扩展。在Java中,几乎万物皆对象,就连一些基本数据类型,如整型、字符型、浮点型等,在Java中都可以作为对象处置。Java的面向对象特性几乎可以与Smalltalk媲美,但是其适用于散布式计算环境的特性却远远超过了Smalltalk。
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0