前言 最近在面试过程中有被问到,在Java反射中Class.forName()加载类和使用ClassLoader加载类的区别。当时没有想出来后来自己研究了一下就写下来记录一下。 解释 在java中Class.forName()和ClassLoader都可以对类进行加载。ClassLoader就是遵循 ...
分类:
其他好文 时间:
2020-03-15 13:44:39
阅读次数:
68
1.jvm A.ClassLoader有层次关系 B.ClassLoader包括bootstrap classLoader(启动类加载器),ClassLoader在JVM运行时加载Java核心的API,其中包括用户定义的ClassLoader,这里所谓的用户定义是指通过Java程序实现的两个Clas ...
分类:
编程语言 时间:
2020-03-14 01:26:21
阅读次数:
76
ClassLoader,类加载器子系统: 负责从文件系统或网络中读取class文件,class文件所在开头有特定的文件标识 ClassLoader只负责class文件的加载,是否能运行,则由Execution Engine决定 加载类的信息存放在一块称为方法区的内存空间。除了类的信息,方法区还可能会 ...
分类:
其他好文 时间:
2020-03-10 14:17:00
阅读次数:
53
内存结构概述 1.内存结构概述 2.类加载器与类的加载过程 3.类加载分类器 4.ClassLoader的使用 5.双亲委派机制 6.其他 这是一个可供参考的简图: 类加载器子系统Class Loader: 字节码文件——》类加载器子系统,包括:加载【引导类加载器、扩展类加载器、应用类(系统)加载器 ...
分类:
其他好文 时间:
2020-03-08 20:06:25
阅读次数:
83
JVM入门 1、JAVA代码执行过程 Java源程序(.java)经过Java编译器(javac)以后, 生成一个或多个字节码(.class)文件, JVM将每一条要执行的字节码通过类加载子系统ClassLoader加载进内存, 再通过字节码校验器的校验, Java解释器翻译成对应的机器码(图中将两 ...
分类:
其他好文 时间:
2020-03-07 16:16:38
阅读次数:
68
一、 Prometheus与服务发现 1.1 目前支持的服务发现方式 二、 案例 2.1 基于文件的服务发现 2.2 基于Consul的服务发现 三、本地测试 3.1 基于文件的服务发现 1.测试环境 2.配置文件 3.可视化 3.2 prometheus.yml热加载 一、 Prometheus与 ...
分类:
其他好文 时间:
2020-03-04 19:36:21
阅读次数:
126
ClassLoader是什么? 它负责将 Class 的字节码形式(本质就是一个字节数组 byte[])转换成内存形式的 Class 对象 字节码有特定的复杂的内部格式,可以来自于磁盘文件 *.class,也可以是 jar 包里的 *.class,也可以来自远程服务器提供的字节流 很多字节码加密技术 ...
分类:
其他好文 时间:
2020-03-04 12:57:44
阅读次数:
66
1. 类加载器的分类 1. JVM 自带的类加载器 根类加载器( BootStrap ) 拓展类加载器 ( Extension ) 系统 (应用) 加载器 ( System / AppClassLoader) 2. 开发者自己创建的类加载器 java.long.ClassLoader 的子类 2. ...
分类:
编程语言 时间:
2020-03-01 12:53:04
阅读次数:
76
上节,我们探讨了动态代理,在前几节中,我们多次提到了类加载器ClassLoader,本节就来详细讨论Java中的类加载机制与ClassLoader。 类加载器ClassLoader就是加载其他类的类,它负责将字节码文件加载到内存,创建Class对象。与之前介绍的反射、注解、和动态代理一样,在大部分的 ...
分类:
编程语言 时间:
2020-03-01 01:05:35
阅读次数:
76
获取src路径下的文件的方式 >ClassLoader 类加载器:可以加载类的字节码文件进内存,随便一个字节码文件都可以 | getClass():取得当前对象所属的Class对象 | getClassLoader():取得该Class对象的类装载器,类装载器负责从Java字符文件将字符流读入内存, ...
分类:
其他好文 时间:
2020-02-28 13:35:47
阅读次数:
58