S8nHor5PPK 发表于 2025-3-1 10:49:28

深度研究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篇-Hook2、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篇-堆导出文件heapdump8、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篇-CAS4、x86机器指令第1篇-指令格式第2篇-指令前缀第3篇-Opcode操作码第5篇-ModR/M第6篇-SIB第7篇-Displacement第8篇-Immediate5、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 ... ,努力更新让大家不要等待太久...

 
页: [1]
查看完整版本: 深度研究JDK的各种技术细节