文档章节

JVM —— ClassLoader

Mr-想
 Mr-想
发布于 2017/01/18 13:32
字数 232
阅读 5
收藏 0

一、ClassLoader基本概念。

    JVM加载类的三个步骤:装载、连接、初始化。

    java程序根据程序需要吧对应的类文件逐一载入的,其启动类加载器中包括:

  1. bootstrap classloader——用来加载 Java 核心的 API ;
  2. ExtClassLoader——用来加载lib包中的类文件;
  3. AppClassLoader——用来加载编译后的class文件。

二、ClassLoader使用了父类委托模式。

  1. 可以避免已经加载了父类,再对子类进行重复加载。
  2. 考虑安全因素,避免可以使用自定义的string来动态替换java核心API中定义的类型。

三、一些重要的方法。

  1. loadClass方法——不完全(不带解析)装入类。
  2. defineClass方法
  3. findSystemClass方法——从本地文件系统装入文件。
  4. resolveClass方法——完全(带解析)装入类。
  5. findLoadedClass方法——充当缓存。
  6. findClass方法
  7. getSystemClassLoader方法
  8. forName方法——与loadClass方法效果一样,但用法不同

© 著作权归作者所有

Mr-想
粉丝 2
博文 21
码字总数 8408
作品 0
程序员
私信 提问
ClassLoader加载Class的过程 解析

ClassLoader即类加载器,负责将 .class 文件(可能在磁盘上, 也可能在网络上) 加载到内存中, 并为之生成对应的 java.lang.Class 对象,当 JVM 启动时,会形成由三个类加载器组成的初始类加载器...

phacks
2015/08/19
65
0
Java程序员从笨鸟到菜鸟之(九十八)深入java虚拟机(七)深入源码看java类加载器ClassLoader

欢迎阅读本专题的其他博客: 深入java虚拟机(一)——java虚拟机底层结构详解 深入java虚拟机(二)——类的生命周期(上)类的加载和连接 深入java虚拟机(三)——类的生命周期(下)类的初...

长平狐
2012/11/12
197
0
Java虚拟机技术总结(07年写的,原JavaEye精华)

近段时间,我们项目中用到的WebSphere应用服务器(WAS),但在客户的production环境下极不稳定,经常宕机。给客户造成非常不好的影响,同时,也给项目组很大压力。为此,我们花了近一个月时间对...

爱在昨天
2013/09/14
461
0
Java 类加载机制 ClassLoader Class.forName 内存管理 垃圾回收GC

Java之类加载机制 类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。 研究类加载机制的第二个目的是让程序能动态的控制类加载...

underA
2013/10/24
6.2K
0
阿里内部的那个牛逼带闪电的Java诊断工具终于开源了

在阿里巴巴内部,有很多自研工具供开发者使用,其中有一款工具,是几乎每个Java开发都使用过的工具,那就是Arthas,这是一款Java诊断工具,是一款牛逼带闪电的工具。该工具已于2018年9月份开...

Java填坑路
2018/12/20
634
0

没有更多内容

加载失败,请刷新页面

加载更多

医疗项目pc端后台页面用vue重构整个html页面

页面源码是vue

xintaiideas
38分钟前
3
0
领域驱动中的“贫血症和失忆症” --实践领域驱动--原文

贫血症严重危害着人类健康,并且伴随有危险的副作用。当贫血领域对象被首次提出来时,它并不是一个博得赞美的词汇,它描述的是一个缺少内在行为领域对象。奇怪的是,人们对于贫血领域对象的态...

还仙
41分钟前
5
0
条码打印软件中标签预览正常打印无反应怎么解决

在使用条码打印软件制作标签时,有客户反馈,标签打印预览正常的,但是打印无反应,咨询是怎么回事?今天针对这个情况,可以参考以下方法进行解决。 一、预览正常情况下,打印没反应 (1)在条码...

中琅软件
51分钟前
5
0
判断字符串的时候

判断字符串的时候一定把常量房前边, //报警程度 String leve = vo.getDeviceAlertDeal().getWarnLevel(); if(("0").equals(leve)) { row.add("无报警"); }else if(("1").equals(leve)) { ro......

简小姐
51分钟前
7
0
Linux maven3.6.2 install

PS:安装 maven 之前请先安装 jdk 1.安装 wget 命令(安装过就不用了) yum -y install wget 2.寻找需要的 maven 版本 https://maven.apache.org/download.cgi 3.进入 /var/local 文件夹 cd...

东方神祇
53分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部