java语言为什么具有平台无性
2021-06-16 16:05
标签:系统 java虚拟机 之间 分配 平台无关 col 类加载器 操作系统 文件 首先解释一下什么叫做平台无关性:平台无关性即对每种数据类型在不同的操作系统中都分配固定长度,例如,int类型数据总是占据32个位(4个字节),而C/C++却不然。 知道了平台无关性后下面我们简单说一下java为什么能够"Write Once,Run Anywhere"如下是java程序运行的过程: 编译 Java编译器 JVM java虚拟机 类加载器(class loader) java语言为什么具有平台无性 标签:系统 java虚拟机 之间 分配 平台无关 col 类加载器 操作系统 文件 原文地址:https://www.cnblogs.com/a5137/p/9725166.html
将Java代码翻译成Java字节码。
将Java源文件(.java)翻译成Java字节码文件(.class )。 javac Welcome.java
//将Java源代码翻译成Java字节码,并且生成.class文件 java Welcome
//运行字节码
解释Java字节符的程序。不是物理机器。
所以Java字节码可以在不同的硬件平台和操作系统上运行,只要安装了JVM(不同的操作系统对应不同的jvm)。
将类的字节码加载到内存中的程序。
在执行一个Java程序时,JVM首先会用一个称为类加载器的程序将类的字节码加载到内存中。如果程序中使用了其他类,类加载程序会在需要它们之前动态地加载他们。当加载该类后,JVM使用一个成为字节码验证器(bytecode verifier)的程序来检验字节码的合法性,确保字节码不会违反Java的安全规范