JS框架预测和IT领域技术趋势
|
最近在重新梳理Java 并发的知识,这篇文章是为了后面讲ReentrantLock做准备的,先热个身,随着研究的深入,就来到了这里,要把一件事情讲清楚,可以无限下钻,就像物体->分子->原子->夸克,直到超出自己能理解的知识范畴。 前言 我们知道操作系统采用的是虚拟地址空间,以32位操作系统举例,它的寻址空间为4G(2的32次方),这里解释二个概念:
操作系统将这4G可访问的内存空间分为二部分,一部分是内核空间,一部分是用户空间。 内核空间是操作系统内核访问的区域,独立于普通的应用程序,是受保护的内存空间。 用户空间是普通应用程序可访问的内存区域。
以linux操作系统为例,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。空间分配如下图所示: 闪客:不错不错,这可是你自己总结的哟,现在还用我给你讲什么是线程池了么? 小宇:啊天呢,我才发现这似乎就是我一直弄不清楚的线程池的参数和原理呢! 闪客:没错,而且最后一版代码的构造方法,就是 Java 面试常考的 ThreadPoolExecutor 最长的那个构造方法,参数名都没变。 小宇:哇,太赞了!我都忘了一开始我想干嘛了,嘻嘻。 闪客:哈哈,不知不觉学到了技术才爽呢,对吧?晚饭时间快到了,要不要一块去吃山西面馆呀? 小宇:哦,那家店餐桌的颜色我不太喜欢,下次吧。 闪客:哦好吧。 后记 线程池是面试常考的知识点,网上很多文章都是直接从它那有 7 个参数的构造方法讲起,强行把各个参数的含义说给你听,让人云里雾里。
希望读者读完本篇文章后,线程池的这些参数不再是死记硬背,而是像本文中这些动图一样在你的脑中活灵活现,这样就能永远记住他们啦~ (编辑:平顶山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
