首页
AI Coding
AIDP
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
WriteOnRead
掘友等级
公众号
|
WriteOnRead
诗酒趁年华
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
87
文章 64
沸点 23
赞
87
返回
|
搜索文章
最新
热门
我是如何阅读 JDK 源码的?
1. 前言 本文主要分享一下我的阅读工具和阅读顺序。 2. 工具 工欲善其事,必先利其器。 需要的工具不多,IDE + Google 翻译足够了。 使用 IDE 的主要目的是可以写一些测试代码以便跟踪调试。这个还是很有必要的,跟进代码的执行流程更容易理解它的实现原理。 直接在 …
ThreadLocal到底有没有内存泄漏?从源码角度来剖析一波
1. 前言 ThreadLocal 也是一个使用频率较高的类,在框架中也经常见到,比如 Spring。 不少文章对此讲述比较模糊,经常让人看完脑子还是一头雾水,我也有此困惑。因此找时间跟小伙伴讨论了一番,总算对这个问题有了一定的理解,这里记录和分享一下,希望对有同样困惑的朋友们…
JVM性能分析工具
1. 概述 前面几篇文章分析了 JVM 的一些概念,大部分都是偏理论的,本文介绍一些可以实操的 JVM 性能监控与分析工具。 主要包括 JDK 自带的一些常用工具,以及阿里开源的 Java 诊断工具 Arthas。 2. 性能监控与故障处理工具 查资料说是 JVM 的 bug(…
JVM笔记-后端编译与优化
1. 概述 前面分析了 JVM 的前端编译器 Javac,本文分析后端编译器:即时编译器(JIT 编译器)和提前编译器(AOT 编译器)。 其实二者都不是 JVM 必需的组成部分。但是,后端编译器编译性能的好坏、代码优化质量的高低,却是衡量一款商用 JVM 优秀与否的关键指标之…
JVM笔记-前端编译与优化
1. 概述 所谓”编译“,通俗来讲就是把我们写的代码“翻译“成机器可以读懂的机器码。而编译器就是做这个翻译工作的。 前端编译器:把 *.java 文件转变为 *.class 文件的过程。比如 JDK 的 Javac。 即时编译器:Just In Time Compiler,常称…
JVM笔记-类加载机制
JVM 不和包括 Java 在内的任何语言绑定,它只与 "Class文件" 这种特定的二进制文件格式所关联。而 Class 文件也并非只能通过 Java 源文件编译生成,可以通过如下途径而来: JVM 把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初…
JVM笔记-内存分配策略
1. 概述 Java 技术体系的自动内存管理,最根本的目标就是解决两个问题:「自动化」地给对象分配、回收内存空间。 内存回收策略主要就是前面介绍的各种垃圾回收机制;而对象内存分配的规则并不固定,JVM 规范并未规定新对象的创建和存储细节,取决于使用哪种 JVM 以及参数设定。 …
JVM笔记-G1收集器概述
1. 简介 Garbage First(简称 G1)收集器是垃圾收集器技术发展史上里程碑式的成果:它开创了「面向局部收集」的设计思路和「基于 Region」的内存布局形式。 G1 收集器是一款主要面向服务端应用的垃圾收集器,其定位是「CMS 收集器的替代者和继承人」。它的发展简…
JVM笔记-HotSpot的算法细节实现
1. 根节点枚举 迄今为止,所有收集器在根节点枚举这一步骤都是必须暂停用户线程的。即便是号称停顿时间可控、或者(几乎)不会发生停顿的 CMS、G1、ZGC 等收集器,枚举根节点时也必须要停顿。 这也是导致垃圾收集过程必须停顿所有用户线程的一个重要原因。 目前主流 JVM 使用的…
JVM笔记-垃圾收集算法与垃圾收集器
1. 一些概念 垃圾:在 JVM 语境下,“垃圾”指的是死亡的对象所占据的堆空间。 垃圾收集:所谓“垃圾收集”,就是将已分配出去、但不再使用的内存回收回来,以便能再次分配。 引用计数法(Reference Counting):为每个对象添加一个引用计数器,用来统计指向该对象的引…
下一页
个人成就
文章被点赞
134
文章被阅读
30,112
掘力值
1,264
关注了
6
关注者
70
收藏集
0
关注标签
6
加入于
2018-11-11