Spring Bean的生命周期由多个特定的生命队段组成,可以从两个层面来定义Bean的生命周期。第一层是Bean的作用范围;第二层是实例化Bean所经历的一系列阶段。
Spring Bean的生命周期由多个特定的生命队段组成,可以从两个层面来定义Bean的生命周期。第一层是Bean的作用范围;第二层是实例化Bean所经历的一系列阶段。
Java基础:理解try...catch...finally的使用
try...catch...finally
基本大家都会用,也很少出问题,但当 try 语句块里增加存在return
或System.exit()
时会怎么处理,可能就有些疑惑和不确定了,下面来演示下这两种情况。
PMP 总纲(5个过程组,10知识域,47个过程)
TCP/IP协议在客户端与服务器建立连接和断开连接时的一套消息确认机制,就是三次握手和四次挥手。
TCP/IP
的三次握手和四次挥手是《计算机网络》的基础知识。
Java基础:getResourceAsStream(String path)用法
项目中有用到读取 XML
文件数据到 InputStream
,因对getResourceAsStream(String path)
的用法不够了解,读到的总是空,问题已解决,总结如下。
Spring(八):将 Bean 注册到的 IoC 容器方式汇总
Spring 将 Bean 注册到的 IoC 容器方式主要有XML配置文件方式、JavaConfig方式、注解方式这三种。
首先明白类加载三个阶段:加载,连接,初始化。连接阶段还分了三个步骤:验证,准备,解析。
Spring Bean在使用之前或使用之后需要做一些操作,Spring对Bean
的生命周期的操作提供了支持。
类加载器就是寻找类的字节码文件并构造出类在JVM内部表示对象的组件。
类加载工作由ClassLoader
及其子类负责。ClassLoader
是一个重要的Java
运行时系统组件,它负责在运行时查找和装入Class
字节码文件。
设计模式(四):代理模式之CGLIB动态代理(CGLIB Dynamic Proxy)
基于静态代理和动态代理需要绑定接口的局限性,而对类的代理在某些场景下确实是需要的,所以某些大牛就创造了CGLIB
这个动态代理类库。
CGLIB
底层是基本ASM
字节码处理框架,该库允许在程运行时对字节码进行修改和动态生成新的类。
CGLIB
所创建的动态代理对象的性能比JDK
所创建的动态代理对象的性能高(大概10倍),但CGLIB
在创建代理对象时所花费的时间却比JDK
动态代理多(大概8倍)。
对于singleton
的代理对象或者具有实例池的代理,因无须频繁创建对象,比较适用CGLIB
动态代理技术;反之则适合采用JDK
动态代理技术。