摘要: 1、ThreadLocal 是什么 它是一个数据结构,像 HashMap,可保存 "key : value" 键值对;ThreadLocal 有一个内部类ThreadLocalMap,用于存储数据。 但一个 ThreadLocal 只能保存一个,并且各个线程的数据互不干扰。 2、ThreadLoca 阅读全文
posted @ 2019-04-03 13:23 不无聊 阅读(585) 评论(0) 推荐(0) 编辑
摘要: 1、程序计数器(线程私有)【不会OOM】 记录线程执行的代码位置,每个线程各自独有。 2、栈:虚拟机栈和本地方法栈(线程私有)【会OOM和StackOverflow】 虚拟机栈 每个JAVA方法在执行时都会创建一个栈帧。 用于存储局部变量表、操作数栈、动态链接、方法出口等信息。 本地方法栈:同虚拟机 阅读全文
posted @ 2019-04-03 09:40 不无聊 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 一、类生命周期:共7个阶段 类从被加载到虚拟机内存中开始,到卸载出内存。整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。 其中验证、准备、解析3个部分统称为连接。 类加载的过程:不包括上面的使用和卸载。 示意图:![](https://ws1.sinaimg.cn/large/ 阅读全文
posted @ 2019-04-03 09:21 不无聊 阅读(1169) 评论(0) 推荐(0) 编辑
摘要: Redis是单线程还是多线程?以及处理模型。 线程:单线程 处理模型:参考书《Redis 设计与实现》P151-152 ![](https://ws1.sinaimg.cn/large/b35c33e9ly1g1p4dzlbukj20jq08twhg.jpg) ![](https://ws1.sin 阅读全文
posted @ 2019-04-03 08:18 不无聊 阅读(6756) 评论(0) 推荐(1) 编辑
摘要: CMS收集器整理 @white 基本说明: 目标:获取最短回收停顿时间 算法:标记-清除算法 线程:并发 步骤: 初始标记:(会STP) 标记 GC Roots 能直接关联到的对象,速度很快 并发标记:(耗时最长,且可与用户线程一起工作) 进行 GC Root Tracing 的过程 重新标记:(会 阅读全文
posted @ 2019-04-03 07:56 不无聊 阅读(1858) 评论(0) 推荐(0) 编辑