深度研究JDK的各种技术细节
打算建立一个JDK网站,将目前JDK的各种重要特性都深入分析一下。希望JDK中各种技术实现细节都可以在这个网站上查到。相关的模块以及阅读顺序如下图所示。

没有将一些内容规划进来,Java语言基本语法太简单,Java框架、中间件等内容太多了,JDK类库资料太丰富了,所以这些内容就暂时不写了。下面就是3个免费部分的目录,如下:
1、字节码增强
字节码增强相关内容如下:
第1篇-字节码增强概述
第2篇-字节码增强的应用
第3篇-字节码增强框架之ASM
第4篇-字节码增强框架之Javassist
第5篇-字节码增强框架之ByteBuddy
第6篇-反射
第7篇-MethodHandle与MethodType
第8篇-Lambda
第9篇-Attach机制
第10篇-JavaAgent
第11篇-字节码增强源代码剖析
第12篇-DIY反编译工具
第13篇-字节码增强经典工具
2、Java性能优化
Java性能优化相关内容如下:
1、基础
第1篇-JDK自带监控及诊断工具
第2篇-常见诊断工具的实现技术
第3篇-JDK自带工具源代码剖析
第4篇-PerfData
第5篇-虚拟机选项
第6篇-Hook 2、JVMTI
第1篇-JVM Tool Interface(JVMTI)
第2篇-JVMTI Agent
第3篇-调试 3、JMX
第1篇-JMX介绍
第2篇-JMX的Notification
第3篇-JMX源代码分析 4、SA
第1篇-SA介绍
第2篇-SA的实现方式 5、栈
第1篇-获取Java调用栈
第2篇-获取本地调用栈
第3篇-jstack
第4篇-async-profiler
第5篇-火焰图
第6篇-使用Java Flight Recorder采集热点
第7篇-使用async-profiler采集热点 6、内存
第1篇-Java内存概述
第2篇-NMT
第3篇-直接内存
第4篇-内存分配热点 7、堆
第1篇-Eclipse MAT工具解读
第2篇-堆导出文件heapdump 8、GC
第1篇-GC概述
第2篇-GC信息采集源码剖析
第3篇-Serial GC日志解读
第4篇-Parallel Scavenge的GC日志解读
第5篇-G1 GC日志解读 9、Crash文件
第1篇-虚拟机崩溃处理
第2篇-虚拟机对crash的处理
第3篇-crash文件解读
第4篇-核心转储文件 10、案例剖析
...
3、虚拟机学前基础
虚拟机学前基础的相关内容如下:
1、C/C++
第1篇-宏
第2篇-模板类
第3篇-extern关键字
第4篇-动态分派
第5篇-指针和地址偏移
第6篇-重载运算符
第7篇-RAII
第8篇-对齐
第9篇-C/C++中嵌入汇编语法
第10篇-C++一种巧妙的内存管理方式
第11篇-Arena管理内存 2、Linux
第1篇-C++线程
第2篇-程序调用约定
第3篇-信号
第4篇-大页
第5篇-Linux内存布局
第6篇-Linux内存查看
第7篇-Linux内存使用
第8篇-动态链接库 3、x86寄存器与指令
第1篇-x86通用指令
第2篇-eflags寄存器
第3篇-lock指令
第4篇-SIMD
第6篇-CAS 4、x86机器指令
第1篇-指令格式
第2篇-指令前缀
第3篇-Opcode操作码
第5篇-ModR/M
第6篇-SIB
第7篇-Displacement
第8篇-Immediate 5、x86架构CPU
第1篇-x86寄存器
第2篇-Cache
第3篇-预取
第4篇-NUMA架构
第5篇-内存屏障 6、虚拟机研究工具
第1篇-JITWatch和hsdis
第2篇-C1 Visualizer
第3篇-C2 IdealGraphVisualizer
第4篇-jtreg回归测试
第5篇-JMH
第6篇-HSDB
3个部分的内容都是紧紧围绕着JDK来介绍的,JDK或HotSpot VM涉及不到的基础知识点不会介绍。例如x86架构CPU中介绍预取是因为HotSpot VM有部分源代码解读需要有预取基础,介绍NUMA架构是因为GC有对NUMA架构的支持。
付费部分在今年至少会有3个部分内容完成更新,分别为:
1、Javac前端编译器(内容主要来自于《深入解析Java编译器:源码剖析与实例详解》一书),内容会有少量更新
2、虚拟机基础(内容主要来自于《深入剖析Java虚拟机:源码剖析与实例详解》一书内容),这一章节内容和书比起来,会有许多的更新和增加,增加的部分是虚拟机选项、CMake调试HotSpot VM、CDS、压缩指针等内容,更新主要是尝试让现有的许多内容更深入透彻
3、虚拟机运行,目录已经大概确定,其中涉及到许多复杂的内容,争取早日更新完成。
如果今年能顺利完成如上3个部分内容的更新,接下来更新的是GC的Parallel Scavenge。在虚拟机基础中介绍过Serial GC,这是最简单的一个GC,以这个为基础,Parallel Scavenge不是很难,这个GC仍然是吞吐量的首选,现在仍然比较重要。
下面更新的是G1和C2 ... ,努力更新让大家不要等待太久...

深度研究JDK的各种技术细节的更多相关文章
- 深度研究:回归模型评价指标R2_score
回归模型的性能的评价指标主要有:RMSE(平方根误差).MAE(平均绝对误差).MSE(平均平方误差).R2_score.但是当量纲不同时,RMSE.MAE.MSE难以衡量模型效果好坏.这就需要用到R ...
- Dotnet Core IHttpClientFactory深度研究
今天,我们深度研究一下IHttpClientFactory. 一.前言 最早,我们是在Dotnet Framework中接触到HttpClient. HttpClient给我们提供了与HTTP交互 ...
- 研究jdk关于TreeMap 红黑树算法实现
因为TreeMap的实现方式是用红黑树这种数据结构进行存储的,所以呢我主要通过分析红黑树的实现在看待TreeMap,侧重点也在于如何实现红黑树,因为网上已经有非常都的关于红黑树的实现.我也看了些,但是 ...
- [转]关于strtok和strtok_r函数的深度研究
在linux环境下,字符串分割的函数中,大家比较常用的是strtok函数,这个函数用处很大,但也有一些问题,以下将深度挖掘一下这个函数的用法,原理,实现,其次,该函数是不可再入函数,但是在linux ...
- 深度剖析JDK动态代理机制
摘要 相比于静态代理,动态代理避免了开发人员编写各个繁锁的静态代理类,只需简单地指定一组接口及目标类对象就能动态的获得代理对象. 代理模式 使用代理模式必须要让代理类和目标类实现相同的接口,客户端通过 ...
- Java多线程之interrupt()的深度研究
近期学习Java多线程的中断机制,网上的帖子说得很浅,并没深究其原理.看了Java源码,对Java的中断机制有了略深入的理解,在这篇文章中向感兴趣的网友分享下.这篇文章主要通过一个典型例子对中断机制进 ...
- keystone 认证深度研究分析
一.Keystone Token深度概述 Keystone作为OpenStack项目基础认证模块,目前支持的token类型分别是uuid.pkiz.pki.fernet. 首先,简要叙述一下这四种类型 ...
- 操作系统深度研究(75页PPT)
上一篇:命令行版的斗地主你玩过没? 内容覆盖操作系统基本概念.分类.关键技术,体系架构,发展历程和主流国产操作系统厂商分析. 文中报告节选自兴业证券经济与金融研究院已公开发布研究报告,具体报告内容及相 ...
- Cookie在IE缓存问题深度研究
最近在发布net到生产环境的时候,测试发现了问题,IE的登录无效. 同样的版本在QA环境没有遇到问题. 代码一样,chrome,firefox 都可以.就是IE不行,调试发现 登录完成,读取cooki ...
- 深度研究Oracle数据库临时数据的处理方法
在Oracle数据库中进行排序.分组汇总.索引等到作时,会产生很多的临时数据.如有一张员工信息表,数据库中是安装记录建立的时间来保存的.如果用户查询时,使用Order BY排序语句指定按员工编号来排序 ...
随机推荐
- 对比 ASP.NET Core 中的 HttpContext.Features 与 HttpContext.Items
对比 ASP.NET Core 中的 HttpContext.Features 与 HttpContext.Items https://newbedev.com/httpcontext-feature ...
- 助推乡村振兴,四川农担X中电金信大数据智能风控平台彰显“榜样的力量”
在2024年3月召开的两会上,政府工作报告首次提到了要大力发展科技金融.绿色金融.普惠金融.养老金融.数字金融,为深入推进金融高质量发展,走中国特色金融发展之路指明了方向.其中,四川农担作为一家专注 ...
- 为什么SQL正在击败NoSQL,这对未来的数据意味着什么(转载)
为什么SQL正在击败NoSQL,这对未来的数据意味着什么 : http://geek.csdn.net/news/detail/238939 译者注:经过多年的沉寂之后,今天的SQL正在复出.缘由如何 ...
- kubernetes批量删除长期处于Terminating状态的namespace
环境是k3s 1.19.1版本 有时候跑实验,实验总是卡住,而且还删不了ns,一跑又n个 强行删除有风险,强删需谨慎!! 创建脚本 delns.sh #!/bin/bash for i in &quo ...
- 该怎么解决no route to host
出现No route to host 的时候,有如下几种可能: 1.对方的域名确实不通 2.本机自己开了防火墙 3.本机的etc/hosts 里面没有配置本机的机器名和ip (可能性最大) 其中第三点 ...
- 转载 OKHttp使用详解
一,OKHttp介绍 okhttp是一个第三方类库,用于android中请求网络. 这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和Le ...
- Qt/C++地图雷达扫描/动态扇形区域/标记线实时移动/轮船货轮动态轨迹/雷达模拟/跟随地图缩放
一.前言说明 地图雷达扫描的需求场景也不少,很多人的做法是直接搞个覆盖层widget,在widget上绘制雷达,优缺点很明显,优点是性能高,毕竟直接在widget上绘制性能明显比js中绘制要高,缺点是 ...
- Qt编写可视化大屏电子看板系统21-数据转曲线
一.前言 数据转曲线,这个用的非常多,比如串口或者网络收到的数据,对特定的字节数据绘制实时的曲线,或者对历史记录存储的数据进行曲线绘制,按照约定的规则,数据转曲线绘制必须提供规则,没有规则只能对所有数 ...
- 大型IM稳定性监测实践:手Q客户端性能防劣化系统的建设之路
本文来自腾讯手Q基础架构团队杨萧玉.邱少雄.张自蹊.王褚重天.姚伟斌的分享,原题"QQ 客户端性能稳定性防劣化系统 Hodor 技术方案",下文进行了排版和内容优化. 1.引言 接 ...
- Python多分类Logistic回归详解与实践
在机器学习中,Logistic回归是一种基本但非常有效的分类算法.它不仅可以用于二分类问题,还可以扩展应用于多分类问题.本文将详细介绍如何使用Python实现一个多分类的Logistic回归模型,并给 ...