1. Java虚拟机与程序的生命周期
运行一个java程序,相等于开了一个jvm进程
2. Java虚拟机结束生命周期
-----执行了System.exit()方法
----程序正常执行结束
-----程序执行过程遇到了异常或错误而异常终止
-----由于操作系统出现错误而导致Java虚拟机进程终止
3. 类的加载、连接与初始化
加载:查找并加载类的二进制码,将字节码文件加载到内存中
连接:---验证:确保被加载类的正确性
---准备:为类的静态变量分配内存,并将其初始化为默认值
---解析:把类中的符号引用转为直接引用
初始化:为类的静态变量赋予正确的初始值
4. Java程序对类的使用方式可以分为两种:
-----主动使用
----被动使用
5. 所有的java虚拟机实现必须必须在每个类或接口被java程序“首次主动使用“时才初始化他们
6. 主动使用(六种)
-----创建类的实例
-----访问某个类或接口的静态变量(注意final类型变量),或者对该静态变量赋值(对类的静态变量读、写时)
-----调用类的静态方法
----反射(Class.forName(“com.test.Test”))
----初始化一个类的子类,对父类是主动使用
----Java虚拟机启动时被表明为启动类的类(命令行中执行Java Test)
7. 出了以上6种情况,其他使用java类的方式都被看作是对类的被动使用,都不会导致类的初始化
8. 类的加载
类的加载指的是将类的class文件中二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一 个java.lang.Class(由JVM创建)对象,用来封装类在方法区内的数据结构
9. 加载.class文件的方式
----从本地系统中直接加载
---通过网络下载.class(通过URLClassLoader)
---从zip,jar等归档文件中加载
---从专有数据库中提取.class文件
---将java源文件动态编译为.class文件


- 大小: 26 KB
分享到:
相关推荐
ClassLoader是JVM中的一个重要组件,它的主要任务是加载类的二进制数据,转换为Class对象,并供Java应用程序使用。本文将深入浅出地探讨JVM ClassLoader的工作原理和相关知识点。 首先,ClassLoader可以分为三种...
而JVM代理(JVM Agent)和类加载器(ClassLoader)则是两个关键的概念,它们对于深入理解Java应用程序的运行机制至关重要。 **JVM代理** JVM代理是一种在JVM启动时或者运行时插入额外功能的方式,它允许开发者在不...
在JVM的运行机制中,ClassLoader起着至关重要的作用。ClassLoader负责查找并加载类到JVM中,使得程序得以运行。本篇将深入探讨ClassLoader的源码,通过实例解析其工作原理。 ClassLoader的基本工作流程可以概括为...
在Java虚拟机(JVM)中,类加载器(ClassLoader)是至关重要的组成部分,它负责查找和加载类的字节码文件。理解ClassLoader的工作机制对于深入掌握Java应用程序的运行至关重要。这里我们将详细讨论ClassLoader的运行...
java面试视频资源探索JVM底层奥秘ClassLoader源码分析与案例讲解提取方式是百度网盘分享地址
Java虚拟机(JVM)中的ClassLoader是负责加载类到内存中的核心组件。它不仅承担着将字节码转换为可执行对象的重任,还参与了类生命周期的各个阶段,包括加载、验证、准备、解析、初始化、使用和卸载。这些阶段共同...
JVM组成及工作原理 JVM(Java Virtual Machine)是一种基于栈的虚拟机,它是Java程序的运行环境。JVM主要由两个子系统和两个组件组成。两个子系统分别是Classloader子系统和Executionengine子系统;两个组件分别是...
4. 考虑Java 2版本的兼容性:学习如何修改你的ClassLoader以适应Java 2及以上版本的特性,比如支持Service Provider Interface (SPI)。 在深入学习之前,你需要理解类的生命周期,以及类加载、链接和初始化的概念。...
1. JVM原理:JVM的工作原理涉及类加载器(ClassLoader)、类文件(ClassFile)、内存管理及垃圾收集机制。类加载器负责将.class文件加载到内存中,为程序的运行准备数据结构。内存管理涉及JVM内存区域,包括堆、栈、...
### JVM原理及调优 #### 一、JVM概述 JVM(Java Virtual Machine,Java虚拟机)是Java编程语言的基础,它作为一种软件层面的抽象计算机,能够在多种操作系统平台上执行Java字节码程序。Java编译器的目标是生成能够...
- **Bootstrap ClassLoader**:JVM级别的类加载器,负责加载`$JAVA_HOME/jre/lib`下的所有类库,不由Java实现,开发者无法直接操作。 - **Extension ClassLoader**:负责加载Java平台扩展功能的jar包,如`%JRE_HOME/...
Java ClassLoader机制是Java虚拟机(JVM)中一个至关重要的组成部分,它的主要任务是将类的.class文件加载到JVM中,使得程序能够运行。ClassLoader不仅负责类的加载,还涉及类的验证、初始化等一系列过程。理解...
在Java编程语言中,ClassLoader是一个至关重要的组成部分,它负责加载类到JVM(Java虚拟机)中。理解ClassLoader的工作原理以及如何定制它,对于深入学习Java的运行机制和进行高级应用开发具有重要意义。本篇文章将...
在Java编程语言中,ClassLoader是一个至关重要的组成部分,它负责加载类到JVM(Java虚拟机)中,使得程序能够执行。本示例"ClassLoader小例子"将深入探讨这个概念,并通过一个具体的程序来演示其工作原理。下面我们...
【狂神说JVM探究】是一份集合了多种格式的学习资料,主要涵盖了Java虚拟机(JVM)的基础知识。这份资料出自B站上的【狂神说Java】系列教程,为快速入门JVM提供了详实的笔记。以下是根据这些资源可能包含的一些关键...
总之,ClassLoader是Java程序运行的基础,理解其工作原理及特性对于成为一名合格的Java开发者至关重要。通过本文档的学习,读者可以深入理解Java虚拟机加载类的过程,掌握如何自定义和优化类加载机制,从而提升应用...
Java ClassLoader机制是Java运行时环境中的核心组件之一,它负责加载类到JVM(Java虚拟机)中,使得程序能够执行。理解ClassLoader的工作原理对于优化应用性能、处理类加载问题以及实现自定义加载器至关重要。 首先...
在Java编程语言中,`ClassLoader`是一个非常重要的组件,它负责加载程序运行所需的类文件到Java虚拟机(JVM)中。`ClassLoader`不仅管理着类的加载过程,而且其设计模式还对Java的安全性和性能有着至关重要的影响。 #...
### JVM基本原理及结构详解 #### 一、Java虚拟机(JVM)的逻辑与物理结构 JVM,即Java Virtual Machine,是运行Java字节码的虚拟机环境,它的设计目的是为了提供一个独立于硬件的运行环境,使得Java程序可以在任何...