- 浏览: 4100 次
- 性别:
- 来自: 北京
最新评论
文章列表
ThreadLocal记录日志
- 博客分类:
- java
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import trace.visitor.Visitor;
public class Trace {
private static ThreadLocal<ConcurrentHashMap<Class<? extends ITracer>, ITracer>> tracer = new ThreadLocal<ConcurrentHashMap< ...
loader constraints测试
- 博客分类:
- java
深入java虚拟机里说,无论何时java虚拟机遇到某些指向被引用类新的字段或者方法的符号引用,且被引用的类型的初始装载并非是初始装载引用类型的同一个类装载器,虚拟机就会在列表上加一个约束,虚拟机在解析符号引用的时候必须检查当前已经能够装载的所有约束。
从上面的说明来看,加约束的前提是存在多个类加载器,并且发生了引用关系,下面写一个测试案例。
首先定义一个普通的类:
public class Constraint {
}
定义一个普通的B类
public class B {
public void test(Constraint l) {
Constraint ll = ...
在log4j1.2的版本里,发现有两把性能低下的锁,一把就是在Category的callAppender方法里,代码如下
public
void callAppenders(LoggingEvent event) {
int writes = 0;
for(Category c = this; c != null; c=c.parent) {
// Protected against simultaneous call to addAppender, removeAppender,...
synchronized(c) {
if( ...