Java字节码的执行需要经过以下3个步骤:
(1)由类装载器(class loader)负责把类文件(.class文件)加载到Java虚拟机中。在此过程需要检验该类文件是否符合类文件规范。
(2)字节码校验器(bytecode verifier)检查该类文件的代码中是否存在着某些非法操作,例如Applet程序中写本地计算机文件系统的操作。
(3)如果字节码校验器检验通过,由Java解释器负责把该类文件解释成为机器码进行执行。
注意:
Java虚拟机采用“沙箱”运行模式,即把Java程序的代码和数据都限制在一定内存空间里执行,不允许程序访问该内存空间以外的内存。如果是Applet程序,还不允许访问客户端机器的文件系统。
分享到:
相关推荐
本资源主要介绍了Java字节码和类加载的详细过程。字节码是Java程序在编译之后的中间代码表现形式。而类加载是Java程序执行过程中的一个重要的组成部分,它实现了程序的动态加载和运行。 在字节码方面,我们将从Java...
a) 字节码文件:字节码文件不包括任何内存布 局信息 与操作系统和硬件毫无关系 (Java 的内存分布是在运行的时候才动态分配的) b) JVM:真正解释字节码文件内容并且和操作 系统交互的部分 Sun(Oracle)已经给每一 款...
JVM 执行 Java 程序是一件理所当然的事情,但随着工作过程中接触到了越来越多的基于 JVM 实现的语言如Groovy Kotlin Scala等,就深刻的理解到了 JVM 和 Java 的无关性,JVM 运行的不是 Java 程序,而是符合 JVM ...
- 字节码的解释和执行过程; - 使用Java反射机制获取类信息的方法; 阅读建议: - 在阅读过程中,请结合实际代码运行,加深对概念和原理的理解。 - 尝试修改示例代码,观察结果的变化,以加强对原理的掌握。 - ...
Java解释器(java),执行Java字节码 Java的垃圾回收: 由一个后台线程gc进行垃圾回收 虚拟机判定内存不够的时候会中断代码的运行,这时候gc才进行垃圾回收 缺点:不能够精确的去回收内存 java.lang.System.gc...
Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。 JVM指令主要分为:本地变量表到操作数栈类指令、操作数栈到本地变量表类指令、常数到操作数栈类指令、将数组指定索引的数组推送...
这篇文章聊下字节码和相关的应用。 1、机器码和字节码 机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据。 通常意义上来理解的话,机器码就是计算机可以...
JAVA入门基础篇,适合于初学者.第一章 Java语言入门 授课内容: ...7.分析Java运行过程,再次讲解Jvm、字节码等概念 8.简单介绍JSP技术 作业: 1. 配置环境变量 2. 完成第一个Java程序的编译及运行
ava SE 第一讲: Java SE:Java Standard Edition Java ME: Java Mobile Edition ...Java 程序的执行过程分为两步: 1. 编译 2. 执行 Class 文件是字节码文件,程序最终执行的就是这个字节码(bytecode)文件。
1.指出JAVA语言的主要特点和JAVA程序的执行过程。 (1)强类型; (2)编译和解释; (3)自动无用内存回收功能; (4)面向对象; (5)与平台无关; (6)安全性; (7)分布式计算; (8)多线程; 2.说出开发与运行JAVA程序的重要步骤。 ...
《Java虚拟机精讲》以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法...
本书以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器...
1. Java的源程序代码的扩展名为.java。 Java的编译器和解释器的扩展名为.exe,他们分别是javac.exe、java.exe。 通过Java编译器编译生成的是二进制...解释执行过程分三步进行:代码的装入、代码的校验和代码的执行。
本书以极其精练的语句诠释了 HotSpot VM的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析 HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器...
本书以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器...
初识字节码编程是从使用非入侵的全链路监控开始,在这之前我所了解的如果需要监控系统的运行状况,通常需要硬编码埋点或者AOP的方式采集方法执行信息;耗时、异常、出入参等来监控一个系统的运行健康度。而这样的...
我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件, 而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 。 也就是如下: ① Java 源文件—->编译器—->字节码...
1. **Java编译器(javac)**:这是将Java源代码(.java文件)编译成Java字节码(.class文件)的关键工具,字节码能在任何支持Java的平台上运行。 2. **Java运行时环境(Java Runtime Environment,JRE)**:包含...
北京动力节点-Java编程零基础教程-011-Java语言概述-Java的工作原理-源文件及字节码文件.mp4 北京动力节点-Java编程零基础教程-012-Java语言概述-Java的工作原理-JVM分类.mp4 北京动力节点-Java编程零基础教程-...