IoC控制反转:实现了程序之间的解耦合,简化开发。思想:在Spring框架中,所有对象的生命周期和对象之间的关系都由Spring来管理,不用程序员进行操心。只需要在使用的时候,从Spring容器中取出来用就行。对象创建:1.通过在配置文件中使用<bean>标签来创建。可以使用无参构造方法,也可以使用 ...
分类:
其他好文 时间:
2020-01-08 12:52:16
阅读次数:
66
JAVA虚拟机加载类是采用双亲委派加载机制加载。 双亲委派模型 模型如下图: 双亲委派模型中除了启动类加载器之外其余都需要有自己的父类加载器。 当一个类收到了类加载请求时: 自己不会首先加载,而是委派给父加载器进行加载,每个层次的加载器都是这样。 所以最终每个加载请求都会经过启动类加载器。只有当父类 ...
分类:
其他好文 时间:
2020-01-06 13:08:54
阅读次数:
90
什么是类的加载 类加载是指将源代码编译后的.class加载到内存中初始化待程序使用的过程,类加载的最终结果就是将.class字节码加载到JVM中生成一个java.lang.Class对象,提供给程序使用的访问入口。 类加载的过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括: ...
分类:
其他好文 时间:
2020-01-01 13:35:54
阅读次数:
92
jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数] 注意!!!:使用的jdk版本是jdk8. 类加载统计: Loaded:加载class的数量 Bytes:所占用空间大小 Unloaded:未加载 ...
分类:
Web程序 时间:
2019-12-31 15:59:07
阅读次数:
103
反射 类加载 类在内存中的生命周期:加载-->使用-->卸载 当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载、连接、初始化三个步骤来对该类进行初始化 类的加载又分为三个阶段: (1)加载:load 就是指将类型的class字节码数据读入内存 (2)连接:link ①验证:校验合法 ...
分类:
编程语言 时间:
2019-12-25 01:35:10
阅读次数:
82
代码执行顺序 当父类与子类都有静态代码块,构造方法和构造代码块的时候,程序的执行顺序如下 父类静态代码块 子类静态代码块 父类构造方法 父类构造代码块码块 子类构造方法 子类构造代码块 (先有父亲,后有孩子) 如果是多层的继承关系,就优先执行高层的父类,再递减下来 因为静态代码块在jvm虚拟机加载类 ...
分类:
编程语言 时间:
2019-12-21 00:37:19
阅读次数:
120
类加载器深入理解和双亲委托模型的案例分析 我们知道类必须通过类加载器加载后,我们程序才可以使用。接下来我们就对类加载器进行分析,Java虚拟机的类加载器是如何加载类的。首先我们可以从ClassLoader的源码分析入手。 ClassLoader 的源码分析 ClassLoader 的javadoc文 ...
分类:
其他好文 时间:
2019-12-19 16:29:23
阅读次数:
135
什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。 小总结 类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构, ...
分类:
其他好文 时间:
2019-12-11 19:03:41
阅读次数:
77
主要包含以下内容:静态变量与实例变量的区别、抽象类和接口的区别、Integer与int的区别(封装类和基本类型的区别)、异常的抛出,throws、throw、try、catch、finally分别有什么意义、Java 中sleep方法和wait方法的区别等 ...
分类:
编程语言 时间:
2019-11-28 00:58:26
阅读次数:
97
【From】https://www.cnblogs.com/yjd_hycf_space/p/7755633.html jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数] 注意!!!:使用的jdk ...
分类:
Web程序 时间:
2019-11-27 00:33:11
阅读次数:
108