加入收藏 | 设为首页 | 会员中心 | 我要投稿 平顶山站长网 (https://www.0375zz.cn/)- 分布式云、数据处理、媒体处理、图像分析、基础存储!
当前位置: 首页 > 站长资讯 > 评论 > 正文

JS框架预测和IT领域技术趋势

发布时间:2021-01-29 17:38:43 所属栏目:评论 来源:互联网
导读:最近在重新梳理Java 并发的知识,这篇文章是为了后面讲ReentrantLock做准备的,先热个身,随着研究的深入,就来到了这里,要把一件事情讲清楚,可以无限下钻,就像物体-分子-原子-夸克,直到超出自己能理解的知识范畴。 前言 我们知道操作系统采用的是虚拟地

最近在重新梳理Java 并发的知识,这篇文章是为了后面讲ReentrantLock做准备的,先热个身,随着研究的深入,就来到了这里,要把一件事情讲清楚,可以无限下钻,就像物体->分子->原子->夸克,直到超出自己能理解的知识范畴。

前言

我们知道操作系统采用的是虚拟地址空间,以32位操作系统举例,它的寻址空间为4G(2的32次方),这里解释二个概念:

  1. 寻址: 是指操作系统能找到的地址范围,32位指的是地址总线的位数,你就想象32位的二进制数,每一位可以是0,可以是1,是不是有2的32次方种可能,2^32次方就是可以访问到的最大内存空间,也就是4G。
  2. 虚拟地址空间:为什么叫虚拟,因为我们内存一共就4G,但操作系统为每一个进程都分配了4G的内存空间,这个内存空间实际是虚拟的,虚拟内存到真实内存有个映射关系。例如X86 cpu采用的段页式地址映射模型。

操作系统将这4G可访问的内存空间分为二部分,一部分是内核空间,一部分是用户空间。

内核空间是操作系统内核访问的区域,独立于普通的应用程序,是受保护的内存空间。

用户空间是普通应用程序可访问的内存区域。

以linux操作系统为例,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。空间分配如下图所示:
 

闪客:不错不错,这可是你自己总结的哟,现在还用我给你讲什么是线程池了么?

小宇:啊天呢,我才发现这似乎就是我一直弄不清楚的线程池的参数和原理呢!

闪客:没错,而且最后一版代码的构造方法,就是 Java 面试常考的 ThreadPoolExecutor 最长的那个构造方法,参数名都没变。

小宇:哇,太赞了!我都忘了一开始我想干嘛了,嘻嘻。

闪客:哈哈,不知不觉学到了技术才爽呢,对吧?晚饭时间快到了,要不要一块去吃山西面馆呀?

小宇:哦,那家店餐桌的颜色我不太喜欢,下次吧。

闪客:哦好吧。

后记

线程池是面试常考的知识点,网上很多文章都是直接从它那有 7 个参数的构造方法讲起,强行把各个参数的含义说给你听,让人云里雾里。

希望读者读完本篇文章后,线程池的这些参数不再是死记硬背,而是像本文中这些动图一样在你的脑中活灵活现,这样就能永远记住他们啦~

(编辑:平顶山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读