标签:创建对象 完成 加载驱动 直接 函数 反序列化 方法 实例 动态
本文主要介绍Java中,有关反射机制、类的加载过程、以及控制反转方面的内容。
Class装载过程:加载、链接(验证、准备、解析)、初始化
Class初始化的详细步骤:
Class初始化6大时机:
JDBC编程为什么用Class.forName类进行加载驱动?--> 通过classforName 进行初始化statis、注册Driver
优点:增加代码的灵活度、可读性更强;
缺点:(在量大的情况下)相比较于直接调用性能会下降、封装性不好(会暴露内部安全)
反射慢的原因:寻找class字节码的过程、判断安全机制
Java反射中,如果需要对私有的属性进行访问,需要设置强制访问(setAccessible)。
class.newInstance()的本质是什么?--> 该方案会首先找指定class中默认的无参数的构造函数(如果该class已经设定了一个新的有参数的抛出异常)
IOC(控制反转),把创建对象的控制权交给程序(容器):构造器、静态工厂、实例方法
DI(依赖注入),对象创建过程中,容器动态构建所需的对象:构造器、setter函数
标签:创建对象 完成 加载驱动 直接 函数 反序列化 方法 实例 动态
原文地址:https://www.cnblogs.com/huanghzm/p/11821747.html