05 2021 档案
摘要:
1 来源 来源:《Java高并发编程详解 多线程与架构设计》,汪文君著 章节:第十二、十三章 本文是两章的笔记整理。 2 CPU缓存 2.1 缓存模型 计算机中的所有运算操作都是由CPU完成的,CPU指令执行过程需要涉及数据读取和写入操作,但是CPU只能访问处于内存中的数据,而内存的速度和CPU的速
阅读全文

摘要:
1 来源 来源:《Java高并发编程详解 多线程与架构设计》,汪文君著 章节:第九、十、十一章 本文这三章的笔记整理。 2 类加载简介 类加载的过程可以简单分为三个阶段: 加载阶段:主要负责查找并且加载类的二进制数据文件 连接阶段:可以细分为验证、准备、解析三个阶段,验证就是确保类文件的正确性,准备
阅读全文

摘要:
1 来源 来源:《Java高并发编程详解 多线程与架构设计》,汪文君著 章节:第四、六章 本文是两章的笔记整理。 2 概述 本文主要讲述了synchronized以及ThreadGroup的基本用法。 3 synchronized 3.1 简介 synchronized可以防止线程干扰和内存一致性错
阅读全文

摘要:
1 问题描述 环境OpenJDK 11+Gradle,直接在build.gradle中引入druid的依赖,报错如下: 'dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path b
阅读全文

摘要:
1 问题描述 环境Manjaro+paru,升级WebStorm的时候,错误提示如下: 2 原因 这个问题在Arch的AUR官网上有讨论: 就是PKGBUILD的文件中的版本号出错了,把版本号修改回来就可以了。 3 解决方案 上面说了解决方案就是找到WebStorm的PKGBUILD版本并进行修改,
阅读全文

摘要:
1 来源 来源:《Java高并发编程详解 多线程与架构设计》,汪文君著 章节:第一、二、三章 本文是前三章的笔记整理。 2 概述 本文主要讲述了线程的生命周期、Thread类的构造方法以及常用API,最后介绍了线程的关闭方法。 3 线程生命周期 3.1 五个阶段 线程生命周期可以分为五个阶段: NE
阅读全文

摘要:
1 来源 来源:《Java虚拟机 JVM故障诊断与性能优化》——葛一鸣 章节:第十章 本文是第十章的一些笔记整理。 2 概述 本文主要讲述了类加载器以及类加载的详细流程。 3 类加载流程 类加载的流程可以简单分为三步: 加载 连接 初始化 而其中的连接又可以细分为三步: 验证 准备 解析 下面会分别
阅读全文

摘要:
1 来源 来源:《Java虚拟机 JVM故障诊断与性能优化》——葛一鸣 章节:第九章 本文是第九章的一些笔记整理。 2 概述 本文主要介绍了Class文件的主要组成,包括魔数、版本号、常量池、访问标志等。 3 Class文件概览 根据JVM规范,一个Class文件可以非常严谨地描述为: ClassF
阅读全文
