Kang's Blog

疯狂创作中···

技巧-代码查询优化

批量查询小技巧

技巧 业务需要单条获取   一般来说,在没有前台页面的情况下,会将数据全部查询出来,这样就可能导致单次查询的数据量过大,查询耗时,所以需要对查询进行优化,可以使用引入分页和本地缓存的方式来优化整个查询,具体示例代码: ExampleRecordDBTableReader   特别需要注意的是,在使用的时候,ExampleRecordDBTableReader需要为有状态的,所以必须为非...

基础-谈谈SPI对双亲委托模型的破坏

关于SPI对双亲委托模型的破坏

准备知识 1.XXX.class与Class.forName 加载类区别 XXX.class仅仅是把类加载进JVM而没有做任何类的初始化,故静态代码块&静态变量也不会被加载; Class.forName的形式是初始化了类的(包括初始化静态变量和静态代码快) – 这就是为啥最开始加载驱动使用Class.forName(“com.mysql.jdbc.Driver”) 2...

基础-ThreadLocal

关于ThreadLocal的思考

常见ThreadLocal使用方式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 static class ThreadId{ private static final AtomicInteger nextId = new AtomicInteger(0); //线程本地变量,为每个线程关联一个唯一的序号 private sta...

Hello 2019

"Hello World, Hello Blog"

“Yeah It’s on. ” 前言   Kang’s Blog 就这么开通了。总算有个地方可以好好写点东西了。   作为一个程序员, Blog 这种轮子要是挂在大众博客程序上就太没意思了。一是觉得大部分 Blog 服务都太丑,二是觉得不能随便定制不好玩。之前因为太懒没有折腾,结果就一直连个写 Blog 的地儿都没有。乘着这次机会,又激起了我开博客的冲动。一不做二不休,直接将...