摘要: 概括起来说,对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。前者仅提供一份变量,让不同的线程排队访问,而后者为每一个线程都提供了一份变量,因此可以同时访问而互不影响。 ThreadLocal 并不能替代同步机制,两者面向的问题领域 阅读全文
posted @ 2018-11-15 18:25 一心行走 阅读(1117) 评论(0) 推荐(0) 编辑
摘要: 输出2147359167,123456 可以简单满足混淆,和恢复的需求 阅读全文
posted @ 2018-11-15 18:18 一心行走 阅读(1097) 评论(0) 推荐(0) 编辑
摘要: package jesse.test1; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; // 生产者 class Producer implements Runnable{ private BlockingQueue queue; ... 阅读全文
posted @ 2018-11-15 17:58 一心行走 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 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... 阅读全文
posted @ 2018-11-15 17:55 一心行走 阅读(875) 评论(0) 推荐(0) 编辑
摘要: 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... 阅读全文
posted @ 2018-11-15 17:54 一心行走 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 相互持有对方锁,导致死锁 阅读全文
posted @ 2018-11-15 17:52 一心行走 阅读(791) 评论(0) 推荐(0) 编辑
摘要: Cglib动态代理采用的是创建目标类的子类的方式。优点:不用实现额外接口,只操作我们关心类,高性能。 阅读全文
posted @ 2018-11-15 17:50 一心行走 阅读(1083) 评论(0) 推荐(0) 编辑
摘要: JDK代理,非常简单地实现了动态代理(首先是实现对应的InvocationHandler;然后,以接口来为被调用目标构建代理对象,代理对象简介运行调用目标,并提供额外逻辑插入) 缺点:它是只能以接口为中心的。优点:依赖JDK,更稳定可靠,跟着JDK升级,代码简单。 阅读全文
posted @ 2018-11-15 17:48 一心行走 阅读(351) 评论(0) 推荐(0) 编辑