跳至主要內容
JVM 知识点总结

本篇是学习 JVM 的一些知识点总结,翻阅了大量参考资料,不求多深入到细节,只求把一些重点的内容整理出来,所有参考资料均在文章末尾列出,这些参考资料才是最大的宝藏,文章所引用图片均来自于互联网。

一般来讲,JVM 的架构分为3个部分:类加载子系统、运行时数据区域、执行引擎。如下图。

类加载子系统将二进制的字节码读入和转换成虚拟机能够处理的数据结构,Java 虚拟机在执行Java程序的过程中将它所管理的内存区域划分为若干不同的数据区域,这些区域有不同作用,统称为运行时数据区域。执行引擎是虚拟机的执行字节码的概念模型,在虚拟机的实现中有解释执行(通过解释器执行)和编译执行(通过即时编译器生成本地代码执行)2种类型。


Kaybee大约 37 分钟编程技术总结JVM
Redis 知识点总结

内部数据结构

简单动态字符串 Simple Dynamic String

Redis 的字符串表示为sds ,而不是C 字符串(以\0 结尾的char*)。

  • 对比C 字符串,sds 有以下特性:
    • 可以高效地执行长度计算(strlen);
    • 可以高效地执行追加操作(append);
    • 二进制安全;
  • sds 会为追加操作进行优化:加快追加操作的速度,并降低内存分配的次数,代价是多占
    用了一些内存,而且这些内存不会被主动释放。

Kaybee大约 35 分钟读书笔记总结Redis