Java之所以能跨平台,是因为java虚拟机能跨平台。因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”——字节码。
寿宁网站建设公司成都创新互联公司,寿宁网站设计制作,有大型网站制作公司丰富经验。已为寿宁1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的寿宁做网站的公司定做!
C/C++语言都直接编译成针对特定平台机器码。如果要跨平台,需要使用相应的编译器重新编译。Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行。解释是通过Java虚拟机来执行的。
首先纠正下错误:也有语言可以跨平台,比如汇编,机器码这类的低级语言。只是这类的低级语言仅仅只是语法通过,不能做到同一代码同样执行效果。要解释java为何能跨平台就要从java的执行过程来讲。
java跨平台就是能在不同的环境(主要是操作系统)上运行java程序!Java 不同于一般的编译执行计算机语言和解释执行计算机语言。
Java之所以能跨平台,是因为java虚拟机能跨平台。
class文件 Java之所以能够跨平台,是因为Java在主流操作系统中都实现了Java虚拟机,而每个系统的虚拟机编译出的.class文件都是统一的,这个.class文件能在任意一个安装了Java虚拟机的系统平台上运行,所以Java能够跨平台。
Java工作原理 由四方面组成:(1)Java编程语言 (2)Java类文件格式 (3)Java虚拟机 (4)Java应用程序接口 当编辑并运行一个Java程序时,需要同时涉及到这四种方面。
所谓jvm垃圾回收机制其实就是相较于于c、c++语言的优势之一是自带垃圾回收器,垃圾回收是指不定时去堆内存中清理不可达对象。
内存管理:JVM对内存进行分配和管理,包括堆、栈等多种内存结构。执行引擎:JVM的执行引擎可以将Java代码转换为可执行的机器指令。JVM指令集:JVM指令集定义了Java语言的许多操作。
JAVA程序设计中有关内存管理的其他经验:根据JVM内存管理的工作原理,可以通过一些技巧和方式让JVM做GC处理时更加有效。,从而提高内存使用和缩短GC的执行时间。1,尽早释放无用对象的引用。
这和抢占式的线程在发生作用时的原理一样。\x0d\x0a程序员只能通过上面的方法建议JVM回收垃圾,但是JVM是否回收,同样是不可预料的。
这就是JVM的机制,正是因为java的这种机制才实现了java的跨平台,在不同的平台上安装能够在相应平台上运行的虚拟机,然后在java虚拟机中运行java的源程序,“一次编译,多次执行”就此实现了。
因为Java语言源文件编译产生的是字节码文件,这是一种“中间”文件,特定平台(例如x86)的系统不能直接识别并执行这个字节码文件的指令。字节码文件由Java虚拟机(JVM)来加载并解释执行。
简单地说Java的跨平台性就是指,编译后的Java程序可直接在不同的平台上运行而不用重新编译,这一特性使得Java随着Web应用的普及而迅速普及起来。而Java的跨平台性是如何实现的呢?这就要理解Java虚拟机和字节码的概念。