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

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

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

撰写于    浏览:178 次  分类: 网站建设
站长是名技术爱好者,搞过Web,搞过大数据,搞过人工智能,工作之余就喜欢买域名,做网站,没办法,有点上瘾,控制不住。要说通过网站挣了多少钱,真没有多少,因为人的精力是有限的,专注于技术的人,很难能挣到外快的。目前站长业余时间维护的网站是:MyBatis中文官网。这里有更多的免费资源,因为有网站基金在支撑,所以做的水起风生的,欢迎移步参观:http:[...]

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

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

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

撰写于    浏览:488 次  分类: 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[...]

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

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