打算建立一个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的各种技术细节的更多相关文章

  1. 深度研究:回归模型评价指标R2_score

    回归模型的性能的评价指标主要有:RMSE(平方根误差).MAE(平均绝对误差).MSE(平均平方误差).R2_score.但是当量纲不同时,RMSE.MAE.MSE难以衡量模型效果好坏.这就需要用到R ...

  2. Dotnet Core IHttpClientFactory深度研究

    今天,我们深度研究一下IHttpClientFactory.   一.前言 最早,我们是在Dotnet Framework中接触到HttpClient. HttpClient给我们提供了与HTTP交互 ...

  3. 研究jdk关于TreeMap 红黑树算法实现

    因为TreeMap的实现方式是用红黑树这种数据结构进行存储的,所以呢我主要通过分析红黑树的实现在看待TreeMap,侧重点也在于如何实现红黑树,因为网上已经有非常都的关于红黑树的实现.我也看了些,但是 ...

  4. [转]关于strtok和strtok_r函数的深度研究

    在linux环境下,字符串分割的函数中,大家比较常用的是strtok函数,这个函数用处很大,但也有一些问题,以下将深度挖掘一下这个函数的用法,原理,实现,其次,该函数是不可再入函数,但是在linux ...

  5. 深度剖析JDK动态代理机制

    摘要 相比于静态代理,动态代理避免了开发人员编写各个繁锁的静态代理类,只需简单地指定一组接口及目标类对象就能动态的获得代理对象. 代理模式 使用代理模式必须要让代理类和目标类实现相同的接口,客户端通过 ...

  6. Java多线程之interrupt()的深度研究

    近期学习Java多线程的中断机制,网上的帖子说得很浅,并没深究其原理.看了Java源码,对Java的中断机制有了略深入的理解,在这篇文章中向感兴趣的网友分享下.这篇文章主要通过一个典型例子对中断机制进 ...

  7. keystone 认证深度研究分析

    一.Keystone Token深度概述 Keystone作为OpenStack项目基础认证模块,目前支持的token类型分别是uuid.pkiz.pki.fernet. 首先,简要叙述一下这四种类型 ...

  8. 操作系统深度研究(75页PPT)

    上一篇:命令行版的斗地主你玩过没? 内容覆盖操作系统基本概念.分类.关键技术,体系架构,发展历程和主流国产操作系统厂商分析. 文中报告节选自兴业证券经济与金融研究院已公开发布研究报告,具体报告内容及相 ...

  9. Cookie在IE缓存问题深度研究

    最近在发布net到生产环境的时候,测试发现了问题,IE的登录无效. 同样的版本在QA环境没有遇到问题. 代码一样,chrome,firefox 都可以.就是IE不行,调试发现 登录完成,读取cooki ...

  10. 深度研究Oracle数据库临时数据的处理方法

    在Oracle数据库中进行排序.分组汇总.索引等到作时,会产生很多的临时数据.如有一张员工信息表,数据库中是安装记录建立的时间来保存的.如果用户查询时,使用Order BY排序语句指定按员工编号来排序 ...

随机推荐

  1. 云数据备份 | CDN 日志备份最佳实践

    前言 ​ 内容分发网络(Content Delivery Network,CDN),是在现有 Internet 中增加的一层新的网络架构,可以有效降低用户访问延迟,提升可用性. CDN 按照小时粒度对 ...

  2. ng-alain: i18n

    https://github.com/ng-alain/delon/blob/master/packages/theme/src/services/i18n/i18n.ts interface Ala ...

  3. 探索使用 ViewContainerRef 的 Angular DOM 操控技术

    探索使用 ViewContainerRef 的 Angular DOM 操控技术 https://indepth.dev/posts/1052/exploring-angular-dom-manipu ...

  4. 理解 ASP.NET Core: Host

    dotnet core 非常好用,代码也及其精炼,但是,你真的搞懂了每一行代码背后的含义了吗? 本文希望能够深入浅出地梳理一下它的脉络,把它从神秘变成水晶一般透明. 本文关注于分析 Pragram.c ...

  5. Qt编写安防视频监控系统68-兼容Qt4到Qt6

    一.前言 为了从Qt4.7兼容到Qt6.2及后续版本,着实花了不少精力,前提也是对自定义控件大全和各种跨平台的轮子组件全部做成了兼容Qt4到Qt6,这样只剩下UI这块需要兼容就好办多了,各个击破战略, ...

  6. B站千万级长连接实时消息系统的架构设计与实践

    本文由哔哩哔哩资深开发工程师黄山成分享,原题"千万长连消息系统",本文进行了排版和内容优化等. 1.引言 在当今数字娱乐时代,弹幕已经成为直播平台上不可或缺的互动元素之一. 用户通 ...

  7. Angular(一) - Typescript&Angular入门熟悉

    1. Typescript 1.1 安装typescript 1.2 typescript的小例子 1.2.1 新建一个index.ts 1.2.2 编译ts成js 1.2.3 查看生成的index. ...

  8. Solution -「LOJ #6538」烷基计数 加强版 加强版

    \(\mathscr{Description}\)   Link.   求含 \(n\) 个结点.无标号有根.结点儿子数量不超过 \(3\) 的树的数量.答案模 \(998244353\).   \( ...

  9. nginx平台初探-3

    过滤模块简介 (90%) 执行时间和内容 (90%) 过滤(filter)模块是过滤响应头和内容的模块,可以对回复的头和内容进行处理.它的处理时间在获取回复内容之后,向用户发送响应之前.它的处理过程分 ...

  10. ElasticSearch(1)---Logstash同步Mysql数据到ElasticSearch

    1. 单机部署-场景描述 elasticsearch只用过,没有部署或者维护过,从头完整走一遍,记录下,原创实战,有需要的朋友参考下. 2 . 解决方案 特别说下,以前win7下安装的3台虚拟机,没有 ...