摘要:
概括起来说,对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。前者仅提供一份变量,让不同的线程排队访问,而后者为每一个线程都提供了一份变量,因此可以同时访问而互不影响。 ThreadLocal 并不能替代同步机制,两者面向的问题领域 阅读全文
摘要:
输出2147359167,123456 可以简单满足混淆,和恢复的需求 阅读全文
摘要:
package jesse.test1; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; // 生产者 class Producer implements Runnable{ private BlockingQueue queue; ... 阅读全文
摘要:
package jesse.test1; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java... 阅读全文
摘要:
package jesse.test1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.ServerSocke... 阅读全文
摘要:
相互持有对方锁,导致死锁 阅读全文
摘要:
Cglib动态代理采用的是创建目标类的子类的方式。优点:不用实现额外接口,只操作我们关心类,高性能。 阅读全文
摘要:
JDK代理,非常简单地实现了动态代理(首先是实现对应的InvocationHandler;然后,以接口来为被调用目标构建代理对象,代理对象简介运行调用目标,并提供额外逻辑插入) 缺点:它是只能以接口为中心的。优点:依赖JDK,更稳定可靠,跟着JDK升级,代码简单。 阅读全文