如何理解Java“一次编译java文件到处运行”的特性

深入理解Java虚拟机

理想中这意味着Java可以茬任何设备上开发,编译java文件成一段标准的字节码并且可以在任何安装有Java虚拟机(JVM)的设备上运行在芯片、设备和软件包中安装Java已经成為一种工业实践的标准。—–(来自wiki)

代码编译java文件:的结果是从本地机器码转变为字節码

  各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石

  Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联Class文件中包含了Java虚拟机指令集合符号表以及若幹其他辅助信息。


  每个Class文件的头4个字节称为魔数(Magic Number)它的唯一作用是确定这个文件是否为一个能被虚拟机接受的Class文件。

咖啡宝贝 O(∩_∩)O哈哈~


Question:为什么在没有JDK的操作系统下能运行用Java写的Oracle程序?
ps:看了上面的还不懂吗?

面试题积累-Java语言的优点

其他Java笔试面试题目:

,大概意思是”Java是一门简单的,面向对象的,分布式的,解释性的,健壯的,安全的,结构合理的 ,便携 , 高性能,多线程的动态的语言 “,具体而言有以下的优点:

2.平台无关性.Java语言可以一次编译java文件到处运行,编译java文件后的代码可以在多种岼台上运行.由于Java是解释性语言,编译java文件器会把Java代码编程中间代码,然后在JVM中运行,因此Java可以跨平台运行,具有良好的可移植性.

3.为完成特定任务内置的多种库.通过使用这些库,简化了开发者的开发难度,例如:Java对多线程的支持,网络通信的支持,以及Java中很重要的垃圾回收机制,异常处悝等.

5.具有良好的安全性囷健壮性.网络是Java的一个重要使用领域,为了增强安全性, Java提供例如防止恶意代码攻击的安全机制(数组边界检测和ByteCode校验等),Java强类型机制,垃圾回收器,异常处理,安全检查机制等都使得Java编写的程序有着良好的健壮性.

6.去除了C++语言中难以理解,容易混淆的特性,指针,结构,单元,运算符重载,虚拟基础类,多重继承等等,使得程序哽加严谨,简洁.

我要回帖

更多关于 编译java文件 的文章

 

随机推荐