随笔分类 - Java
摘要:一、Curator 简介 Apache Curator 是一个比较完善的 ZooKeeper 客户端框架,通过封装的一套高级 API 简化了 ZooKeeper 的操作。通过查看官方文档,可以发现 Curator 主要解决了三类问题: 封装 ZooKeeper client 与 ZooKeeper
阅读全文
摘要:ThreadLocal 是什么从名字我们就可以看到 ThreadLocal 叫做本地线程变量,意思是说,ThreadLocal 中填充的的是当前线程的变量,该变量对其他线程而言是封闭且隔离的,ThreadLocal 为变量在每个线程中创建了一个副本,这样每个线程都可以访问自己内部的副本变量。 从字面
阅读全文
摘要:import org.springframework.cglib.proxy.MethodInterceptor; import org.springframework.cglib.proxy.MethodProxy; import java.lang.reflect.Method; public
阅读全文
摘要:概述 什么是动态代理 使用 JDK 的反射机制,创建对象的能力, 创建的是代理类的对象,不用自己创建类文件,不用写 Java 文件。 动态:在程序执行时,调用 JDK 提供的方法才能创建代理类的对象。 JDK 动态代理,必须有接口,目标类必须实现接口,没有接口时,需要使用 cglib 动态代理。 动
阅读全文
摘要:核心流程 MyBatis 应用程序通过 SqlSessionFactoryBuilder 从 mybatis-config.xml 配置文件中构建出 SqlSessionFactory,然后 SqlSessionFactory 的实例直接开启一个 SqlSession,再通过 SqlSession
阅读全文
摘要:1. 新版 SpringBoot 好像不会加载 bootstrap.properties 文件,导致 apollo.bootstrap.eagerLoad.enabled=true 失效,@ConditionalOnProperty 工作不正常。
阅读全文
摘要:javac javac 就是一个编译器;编译器就是把一种语言转换成另一种语言,也就是将对人友好的语言转换成对机器友好的语言。因此,javac 是把 *.java 源代码编译成 *.class 字节码,JVM 可以识别的二进制。 主要由4个模块组成: 词法剖析器:识别 java 中的 if、else、
阅读全文