- 博客(5)
- 收藏
- 关注
原创 Druid数据库连接池源码理解
Druid maxWait 参数定义为 volatile 使用 FilterChain设计模式 getConnect初始化操作使用ReentrantLock getConnect 操作返回一个DruidPooledConnection 对象 数据源Id dataSourceIdSeed 使用 dataSourceIdSeed = new AtomicInteger(0), dataSourceId...
2018-11-01 17:27:31 541
原创 动态代理设计模式
什么是动态代理 在JAVA虚拟机运行期,使用程序动态创建一个 JAVA对象。通过按照.class的组织结构生成对应的字节码。这样就可以进行 AOP编程。 动态代理的实现方式 JDK: 基于接口,核心是 InvocationHandler CGLIB:基于继承,核心是 methodInterceptor ...
2018-10-30 16:44:29 114
原创 工厂设计模式
什么是工厂设计模式 工厂方法是创建对象模式的方法之一 工厂设计模式的实现方式 静态工厂方法 包含一个静态方法,通过该方法的不同参数创建不同的产品 抽象工厂 抽象工厂包括抽象工厂、具体工厂,抽象产品、具体产品 抽象工厂:定义获取不同类型的抽象产品的抽象方法 具体工厂:继承自抽象工厂,实现相关抽象方法 抽象产品:定义抽象产品拥有的抽象方法 具体产品:继承自抽象产品,实现相关抽象方法 ...
2018-10-30 16:31:54 74
原创 单例设计模式
什么是单例设计模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例设计模式的实现方式 饿汉式 很饿很着急,所以类加载时即创建实例对象 饱汉式 很饱不着急,延迟加载,啥时候用啥时候创建实例,存在线程安全问题 静态内部类 由于内部类在编译完成后也是一个单独的class文件,因此在不使用的情况下Inner类是不会被加载的。同时,JVM保证在类加载的过程中static代码块在多线程或者单线...
2018-10-30 16:13:17 82
原创 什么是进程、线程、协程?
什么是进程、线程、协程?什么是进程什么是线程什么是协程总结 什么是进程 进程就是一个应用程序的启动实例,拥有代码和打开的文件资源、数据资源、独立的内存空间,受操作系统管理 什么是线程 线程就是程序的实际执行者, 一个进程包含多个线程,拥有自己的栈空间。 由操作系统内核调度。JAVA线程有五种状态。 什么是协程 一种比线程更加轻量级的存在, 一个线程可以有多个协程。 为了解决例如“生产者、消费者...
2018-10-30 15:49:26 684
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人