1. 字节码解释执行
在完成将class文件信息加载到JVM产生Class对象以后,就可执行对Class对象的静态方法或实例化对象进行调用了。在源码编译阶段将源码编译成字节码。JVM字节码是一种中间代码的方式,要由JVM在运行期间对其进行解析并执行。这种方式称为字节码解释执行方式。
2.编译执行
解释执行的效率比较低,为提升代码的执行效率,Sun的JDK提供对字节码编译为机器码的支持。编译在运行时进行。通常称为JIT编译器。Sun JDK对运行中执行频率高的代码进行编译,对于不频繁的继续以解释的方式执行。因此Sun JDK又称为HotSpot VM。
分为client complier,server complie。
client: 又称为c1,较为轻量级,只做少量性能开销比高的优化,他占用内存少,适合于桌面交互式应用,在寄存器分配策略上,JDK6以后采用的是线性扫描寄存器分配算法,其他方面优化的主要有,方法内联,去虚拟化,冗余削减。
server:又称为c2,较为重量级,采用了大量的传统的编译优化技巧来进行优化,占用内存会多一些。适合于服务器端的应用。
3.反射执行
基于反射可动态调用某对象实例中的对应的方法,访问对象属性等,无需在代码编写的时候就确定要创建的对象。这样就可以使得java很灵活的实现对象的调用。例如通常MVC的框架中要调用实现类中的execute方法,在框架的编写的时候是无法知道实现类的。在java中可以通过反射机制直接去调用实现类中的execute方法。
这种方式对于框架之类的代码非常的重要。反射和直接创建对象实例,调用方法的最大不同在于创建的过程,方法调用的过程是动态的。这也使得反射生产执行方法调用的代码并不像直接调用实例对象的代码,编译后就可直接生成对象方法调用的字节码。而是只能生成调用JVM反射实现的字节码了。
分享到:
相关推荐
Java类加载机制是Java程序运行的第一步,它对于理解Java虚拟机(JVM)的行为至关重要。类加载过程涉及到类的加载、链接(验证、准备、解析)、初始化等阶段,并且这一过程是由类加载器系统完成的。 #### 二、类加载...
综上所述,Java的运行机制涉及到编译、执行、类加载等多个层面,每个环节都对Java程序的成功运行起着至关重要的作用。深入理解这些机制有助于开发者更好地掌握Java语言的特点,提高编程效率和代码质量。
Java 的类加载机制是 Java 运行时环境(JRE)中的一个重要组成部分。它负责将 Java 类的字节码(.class 文件)加载到 Java 虚拟机(JVM)中,并确保类的正确加载、链接和初始化。本文将深入探讨 Java 类加载机制的...
Java类加载机制是Java虚拟机的一项核心技术,可以在运行时刻动态地加载或替换系统的某些功能模块,而不影响系统其他功能模块的正常运行。类加载机制是Java虚拟机中的一项重要技术,可以使Java程序具有很高的灵活性和...
Java 类加载机制是 Java 虚拟机(JVM)的一部分,负责将编译后的 Java 字节码文件加载到 JVM 中,以便执行 Java 程序。类加载机制是 JVM 的核心组件之一,对 Java 程序的执行和安全性起着至关重要的作用。 类加载...
Java类加载机制是Java平台核心特性之一,它负责将类的.class文件加载到JVM(Java虚拟机)中,使得程序能够运行。本篇主要基于“译 Java类加载机制(一、二)”的博客内容,深入探讨Java的类加载过程、类加载器以及...
Java虚拟机(JVM)是一种能够执行Java字节码的虚拟机,它提供了一个平台无关的执行环境,使得Java程序可以在各种不同的硬件和操作系统上运行。JVM解释执行机制是Java虚拟机执行字节码的一种方式,其中解释器将Java...
Java 动态类加载机制研究及应用是基于 Java 虚拟机(JV M)机制的,旨在实现 Java 应用程序中动态加载类文件,而不影响其他功能模块的正常运行。为了实现这个目标,需要对 Java 类加载器的体系结构、动态类加载机制...
### Java程序的运行机制详细分析 #### 一、Java为何具备平台独立性 Java作为一种广泛使用的编程语言,其最大的特点之一就是平台独立性。这意味着编写的Java程序可以在任何支持Java虚拟机(JVM)的操作系统上运行而...
Java类加载机制是Java程序运行的关键部分,它使得程序能够在运行时动态加载和执行。类加载涉及多个步骤,包括加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)和初始化...
Java 类加载机制是Java运行时环境中的核心组成部分,它负责将`.class`文件中的字节码转换为运行时的Class对象。在这个过程中,类加载器扮演着至关重要的角色。本篇文章将深入探讨Java的双亲模型类加载机制,以及如何...
Java虚拟机运行机制 Java虚拟机(JVM)是一种用于计算设备的规范,可以用不同的方式(软件或硬件)加以实现。JVM包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 Java虚拟机是一个...
Java类加载机制是Java虚拟机(JVM)中的一种机制,负责将类从字节码文件加载到内存中,并将其转换为可执行的类对象。在Java中,类加载机制是通过ClassLoader来完成的,该机制在JDK 1.2以后变得更加复杂和灵活。 类...
Java类加载机制是Java运行时环境中的核心组成部分,它负责将编译后的字节码(.class文件)加载到Java虚拟机(JVM)中,使得程序能够执行。这一过程涉及多个步骤,包括加载、验证、准备、解析和初始化。理解类加载...
Java 动态类加载机制是 Java 虚拟机(JVM)的一种机制,允许在 Java 应用程序运行期间动态加载类文件,而不影响其他功能模块的正常运行。这种机制可以提高 Java 应用程序的灵活性和可扩展性。 Java 动态类加载机制...
Java注解、反射、字节码和类加载机制是Java编程中的核心概念,它们在实际开发中扮演着重要角色。让我们深入探讨这些知识点。 **Java注解(Annotation)**: Java注解是一种元数据,它提供了在编译时或运行时处理代码的...
在Java编程语言中,动态类加载机制是一种强大的特性,它允许程序在运行时加载、实例化和执行未在编译时硬编码的类。这种能力是通过Java的反射API实现的,它为开发者提供了深入洞察和操作Java对象的能力。本文将深入...
Java的安全机制通过其独特的运行方式、类加载器机制以及强大的安全管理组件,构建了一个全面的安全防护体系。JAAS、JCE和JSSE等API的引入,进一步提升了Java在身份验证、加密和网络通信安全方面的功能,为开发者提供...