
源码阅读
文章平均质量分 94
小杨Vita
纸上得来终觉浅,绝知此事要躬行。
展开
-
ReentrantLock中lock/trylock/lockInterruptibly方法的区别及源码解析
看了几篇关于这三者区别的文章,但都说的不够具体,自己去读了下源码,大概是清楚了三者的功能,不想了解源码的可以跳到最后看总结。首先,ReentrantLock类中使用了大量的CAS操作,也就是CompareAndSwap原子操作,依靠硬件保证互斥与同步,然后说下interrupt()方法。每个线程都有一个interrupt标志。当线程在阻塞状态时,如sleep、wait、await(park)、...原创 2015-08-16 22:45:49 · 7970 阅读 · 1 评论 -
java类加载器不完全分析
本文分析了启动(Bootstrap)类加载器、扩展(Extension)类加载器、系统(System)类加载器、用户自定义类加载器的原理,并介绍一些类加载器的常用方法。原创 2016-09-08 02:44:13 · 8853 阅读 · 4 评论 -
Log4j 2的特性和改进
本文介绍了Log4j 2的诸多特性和改进, 建议将1.x升级到最新版本。翻译 2016-10-03 01:16:31 · 2516 阅读 · 0 评论 -
真正理解线程上下文类加载器(多案例分析)
线程上下文类加载器破坏了“双亲委派模型”,可以在执行线程中抛弃双亲委派加载链模式,使上层代码可以逆向使用下层的系统类加载器。本文通过JDBC和Tomcat两个案例分析,详细解释了其中的原理。原创 2016-09-25 13:31:36 · 59382 阅读 · 115 评论 -
spring集成SLF4J时的问题及延展
Spring Framework 所使用的日志接口一直都是 commons-logging,Apache Commons Logging是一个通用的日志接口,与slf4j简单日志门面类似。如果它搜索到应用添加了log4j的引用,那么将直接使用log4j,如果你想用现在越来越流行的SLF4J来接管日志接口,则需要使用SLF4J提供的 jcl-over-slf4j 把 commons-logging原创 2016-10-07 01:29:21 · 2148 阅读 · 0 评论