`
darrendu
  • 浏览: 195754 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JVM及ClassLoader

    博客分类:
  • JVM
 
阅读更多

 

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
分享到:
评论

相关推荐

    JVM ClassLoader简析

    ClassLoader是JVM中的一个重要组件,它的主要任务是加载类的二进制数据,转换为Class对象,并供Java应用程序使用。本文将深入浅出地探讨JVM ClassLoader的工作原理和相关知识点。 首先,ClassLoader可以分为三种...

    JVM.zip_JVM代理_classloader

    而JVM代理(JVM Agent)和类加载器(ClassLoader)则是两个关键的概念,它们对于深入理解Java应用程序的运行机制至关重要。 **JVM代理** JVM代理是一种在JVM启动时或者运行时插入额外功能的方式,它允许开发者在不...

    探索JVM底层奥秘ClassLoader源码分析与案例讲解

    在JVM的运行机制中,ClassLoader起着至关重要的作用。ClassLoader负责查找并加载类到JVM中,使得程序得以运行。本篇将深入探讨ClassLoader的源码,通过实例解析其工作原理。 ClassLoader的基本工作流程可以概括为...

    ClassLoader运行机制 自己写的

    在Java虚拟机(JVM)中,类加载器(ClassLoader)是至关重要的组成部分,它负责查找和加载类的字节码文件。理解ClassLoader的工作机制对于深入掌握Java应用程序的运行至关重要。这里我们将详细讨论ClassLoader的运行...

    深入理解ClassLoader工作机制.docx

    Java虚拟机(JVM)中的ClassLoader是负责加载类到内存中的核心组件。它不仅承担着将字节码转换为可执行对象的重任,还参与了类生命周期的各个阶段,包括加载、验证、准备、解析、初始化、使用和卸载。这些阶段共同...

    JVM组成及工作原理原理

    JVM组成及工作原理 JVM(Java Virtual Machine)是一种基于栈的虚拟机,它是Java程序的运行环境。JVM主要由两个子系统和两个组件组成。两个子系统分别是Classloader子系统和Executionengine子系统;两个组件分别是...

    classloader

    4. 考虑Java 2版本的兼容性:学习如何修改你的ClassLoader以适应Java 2及以上版本的特性,比如支持Service Provider Interface (SPI)。 在深入学习之前,你需要理解类的生命周期,以及类加载、链接和初始化的概念。...

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    1. JVM原理:JVM的工作原理涉及类加载器(ClassLoader)、类文件(ClassFile)、内存管理及垃圾收集机制。类加载器负责将.class文件加载到内存中,为程序的运行准备数据结构。内存管理涉及JVM内存区域,包括堆、栈、...

    jvm原理及调优

    ### JVM原理及调优 #### 一、JVM概述 JVM(Java Virtual Machine,Java虚拟机)是Java编程语言的基础,它作为一种软件层面的抽象计算机,能够在多种操作系统平台上执行Java字节码程序。Java编译器的目标是生成能够...

    JVM必知必会

    - **Bootstrap ClassLoader**:JVM级别的类加载器,负责加载`$JAVA_HOME/jre/lib`下的所有类库,不由Java实现,开发者无法直接操作。 - **Extension ClassLoader**:负责加载Java平台扩展功能的jar包,如`%JRE_HOME/...

    java ClassLoader机制及其在OSGi中的应用

    Java ClassLoader机制是Java虚拟机(JVM)中一个至关重要的组成部分,它的主要任务是将类的.class文件加载到JVM中,使得程序能够运行。ClassLoader不仅负责类的加载,还涉及类的验证、初始化等一系列过程。理解...

    Java ClassLoader定制实例

    在Java编程语言中,ClassLoader是一个至关重要的组成部分,它负责加载类到JVM(Java虚拟机)中。理解ClassLoader的工作原理以及如何定制它,对于深入学习Java的运行机制和进行高级应用开发具有重要意义。本篇文章将...

    ClassLoader小例子

    在Java编程语言中,ClassLoader是一个至关重要的组成部分,它负责加载类到JVM(Java虚拟机)中,使得程序能够执行。本示例"ClassLoader小例子"将深入探讨这个概念,并通过一个具体的程序来演示其工作原理。下面我们...

    ClassLoader 详解.doc

    总之,ClassLoader是Java程序运行的基础,理解其工作原理及特性对于成为一名合格的Java开发者至关重要。通过本文档的学习,读者可以深入理解Java虚拟机加载类的过程,掌握如何自定义和优化类加载机制,从而提升应用...

    狂神说JVM探究.rar

    【狂神说JVM探究】是一份集合了多种格式的学习资料,主要涵盖了Java虚拟机(JVM)的基础知识。这份资料出自B站上的【狂神说Java】系列教程,为快速入门JVM提供了详实的笔记。以下是根据这些资源可能包含的一些关键...

    理解Java ClassLoader机制

    Java ClassLoader机制是Java运行时环境中的核心组件之一,它负责加载类到JVM(Java虚拟机)中,使得程序能够执行。理解ClassLoader的工作原理对于优化应用性能、处理类加载问题以及实现自定义加载器至关重要。 首先...

    ClassLoader

    在Java编程语言中,`ClassLoader`是一个非常重要的组件,它负责加载程序运行所需的类文件到Java虚拟机(JVM)中。`ClassLoader`不仅管理着类的加载过程,而且其设计模式还对Java的安全性和性能有着至关重要的影响。 #...

    jvm的基本原理及结构

    ### JVM基本原理及结构详解 #### 一、Java虚拟机(JVM)的逻辑与物理结构 JVM,即Java Virtual Machine,是运行Java字节码的虚拟机环境,它的设计目的是为了提供一个独立于硬件的运行环境,使得Java程序可以在任何...

    深入JVM内核 - 原理、诊断与优化

    目前,Java是最为流行的编程语言之一,它的基础平台就是JVM。除了Java,如JRuby、Scala、Clojure等语言也运行在JVM平台。熟悉和掌握JVM平台有着重要的实用价值和意义。 在本课程中个,将详细介绍JVM的基本原理、...

Global site tag (gtag.js) - Google Analytics