撰写于    浏览:49 次  分类: 彻底理解ThreadLocal
1、ThreadLocal简介threadlocal是一个线程内部的存储类,可以在指定线程内存储数据,数据存储以后,只有指定线程可以得到存储数据。2、ThreadLocal使用方法:threadlocal使用方法很简单static final ThreadLocal<T> threadlocal = new ThreadLocal<[...]

撰写于    浏览:125 次  分类: 彻底理解ThreadLocal
1、ThreadLocal的原理每个Thread内部维护着一个ThreadLocalMap,它是一个Map。这个映射表的Key是一个弱引用,其实就是ThreadLocal本身,Value是真正存的线程变量Object。也就是说ThreadLocal本身并不真正存储线程的变量值,它只是一个工具,用来维护Thread内部的Map,帮助存和取。注意上图的[...]

撰写于    浏览:164 次  分类: 彻底理解ThreadLocal
一、对于HTTP事务的理解一次HTTP请求,就是一个事务。事务者,必须完整的执行其中的所有步骤,不能中断。二、HTTP事务的隔离每次HTTP请求对应一个HTTP事务,而每个请求都对应一个线程,线程之间相互隔离,没有共享数据,这就是ThreadLocal一个典型的应用场景。三、ThreadLocal在Web容器中的使用场景,针对HTTP事务Threa[...]

撰写于    浏览:180 次  分类: 彻底理解ThreadLocal
ThreadLocal类是修饰变量的,重点是在控制变量的作用域,初衷可不是为了解决线程并发和线程冲突的,而是为了让变量的种类变的更多更丰富,方便人们使用罢了。很多开发语言在语言级别都提供这种作用域的变量类型。根据变量的作用域,可以将变量分为全局变量,局部变量。简单的说,类里面定义的变量是全局变量,函数里面定义的变量是局部变量。还有一种作用域是线程作[...]

撰写于    浏览:783 次  分类: 多线程与并发
ExecutorService 是一个接口,提供了管理终止的方法,以及可为跟踪一个或多个异步任务执行状况而生成Future 的方法。方法摘要从Executor 接口中继承了不跟踪异步线程,没有返回的 execute 方法:execute(Runnable command):在未来某个时间执行给定的命令。该命令可能在新的线程、已入池的线程或者正调用的[...]

撰写于    浏览:1019 次  分类: 多线程与并发
在开发服务器端软件项目时,软件经常需要处理执行时间很短而数目却非常巨大的请求,如果为每一个请求创建一个新的线程,会导致性能上的瓶颈,因为线程对象的创建和销毁需要JVM频繁地进行处理,如果请求的执行时间很短,可能花在创建和销毁线程对象的时间大于真正执行任务的时间,若这样,则系统性能大幅降低。在JDK5中提供了线程池的支持,主要的作用是支持高并发的访问[...]

撰写于    浏览:876 次  分类: 数据结构
好的文章,直接收录:https://www.cnblogs.com/CarpenterLee/p/5488070.html

撰写于    浏览:528 次  分类: Java8基础知识
Java Stream API入门篇https://www.cnblogs.com/CarpenterLee/p/6545321.htmlJava Stream API进阶篇https://www.cnblogs.com/CarpenterLee/p/6550212.html深入理解Java Stream流水线https://www.cnblogs[...]

撰写于    浏览:1348 次  分类: Java8基础知识
这篇文章写的很好,作者很用心,直接收录了:https://www.cnblogs.com/CarpenterLee/p/6507161.html本系列只专注jdk1.8,希望搜索和整理更全面的jdk1.8新资料。

撰写于    浏览:558 次  分类: 数据结构
1.jdk中TreeMap,TreeSet底层用的什么数据结构?红黑树2.红黑树的数据结构怎么定义的?enum Color { RED = 0, BLACK = 1 }; struct RBTreeNode { struct RBTreeNode*left, [...]