摘要: 代码说明:由于存储在本地变量中的值都是不相关的。当一个新的线程被创建出来,它就会获得一个新的包含initialValue()值的存储槽。 InheritableThreadLocal是 ThreadLocal的子类,除了定义一个InheritableThreadLocal()的构造方法,这个类还声明 阅读全文
posted @ 2019-08-22 20:00 pamne 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 代 码 说 明:每个ThreadLocal 代表一个局部变量,它为每一个访问它的线程提供了单独的存储槽,每个线程可以在同一个变量中存储不同的值,可直接通过get()方法获取 其他方法说明:initialValue() 创建调用线程存储槽并存入一个初始值为null,如果要改写默认值,需要继承Threa 阅读全文
posted @ 2019-08-22 19:43 pamne 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 代码执行流程: main()方法调用Excutors的newFixedThreadPool方法获取一个executor.之后初始化实现了Callable接口的匿名类并且将这个任务提交给executor,在返回接收一个Future的实例。 通过isDone()判断是否执行完毕,’waiting‘表示一 阅读全文
posted @ 2019-08-22 19:21 pamne 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 一、为什么要做sql优化? 在数据量较大,好的sql语句和合理的表结构,能够呈倍的提高执行效率,从而提高程序的可用性和用户体验性。 二、优化方向 1.sql语句优化(尽量避免造成全表扫描) (1)查询时尽量不要用* 号 (2)减少子查询和使用in,使用exits 例如 select id,name, 阅读全文
posted @ 2019-08-22 11:32 pamne 阅读(877) 评论(0) 推荐(0) 编辑