`
darrendu
  • 浏览: 194388 次
  • 性别: 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简析

    JVM ClassLoader简析.压缩包中文档和示例代码

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

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

    JVM.zip_JVM代理_classloader

    运用代理模式,通过自定义classloader对代码加密,啊;敌法;打飞机

    JVM类加载机制详细讲解

    讲解JVM的ClassLoader子系统原理.

    深入Java虚拟机JVM类加载学习笔记

    深入Java虚拟机JVM类加载学习笔记:jvm java classloader 垃圾回收 gc

    ClassLoader运行机制 自己写的

    ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的ClassLoader运行机制 自己写的

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

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

    JVM基础.doc

    • JVM指令介绍,获得ClassLoader的途径,CAS指令由硬件提供 • 并发程序设计实现的基础 • 486之后并不需要锁总线 • 基于MESI缓存⼀一致性协议 如果不声明volatile,变量装载到本地变量 中,或者cpu cache中,多...

    深入理解ClassLoader工作机制.docx

    JVM内存模型,类加载模式工作机制详细,内存屏障,类从被加载到虚拟机内存中开始,直到卸载出内存为止,它的整个生命周期包括了:加载、验证、准备、解析、初始化、使用和卸载这7个阶段。其中,验证、准备和解析这三...

    Java高级面试第二套2.探索JVM底层奥秘ClassLoader源码分析与案例讲解

    微信小程序详细图文教程 泉州大白网络科技 目录 一.微信小程序申请 二....1.申请服务器 2.部署服务器 3.域名申请和配置 三....一....申请,并认证(未认证不能发布,认证需要300元,目前只支持企业认证)详细见官网说明。...

    Java ClassLoader

    Java中ClassLoader的解析,从ClassLoader的角度分析了JVM,装载类,创建类的对象的整个过程,更清晰的了解JVM的运行机制。

    如何运用加密技术保护Java源代码

    JVM每次装入类文件时都需要一个称为ClassLoader的对象,这个对象负责把新的类装入正在运行的JVM。JVM给ClassLoader一个包含了待装入类名字的字符串,然后由ClassLoader负责找到类文件,装入原始数据,并把它转换成一...

    ClassLoader 详解.doc

    关于J2EE服务器的ClassLoader的原理,该文档清晰了揭示了jvm装载类的顺序,同时用户可以自定义修改classLoader的配置 通过该文档,可以加深对Java虚拟机的理解

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

    内容简介: ClassLoader体系结构 类装载器在JVM中并不是唯一的,JVM自带了三个装载器,用户也可以根据自己的需求自定义新的装载器,这些装载器的体系结构可以看作是树状结构,如图1所示:

    java深度历险

    java深度历险 经典研读系列:深入浅出介绍java jvm classpath classloader import

    JVM基础教程

    有关JVM的基础教程。介绍JVM原理:hotspot、classfile、classloader、内存模型、锁、同步、JVM内存管理和垃圾收集。

    【图解版】深入分析ClassLoader类加载工作机制

    【图解版】深入分析ClassLoader类加载工作机制,从原理到JVM的装载过程,详情分析了ClassLoader加载类以及自定义类加载器的过程,不可用于商业用途,如有版权问题,请联系删除!

    JVM中编译Class、内存回收、多线程原理和使用

    JVM负责装载class文件并执行,因此,首先是JDK如何将Java代码编译为class文件、如何装载class文件及如何执行class,将源码编译为class文件的实现取决于各个JVM实现或各种源码编译器。class文件通常由类加载器...

Global site tag (gtag.js) - Google Analytics