CGRW_BLOG


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

Java虚拟机之本地方法调用实现

发表于 2018-05-07 | 分类于 JVM | 阅读次数:
字数统计: 1,572 | 阅读时长 ≈ 7

Java虚拟机规范对本地方法和本地方法栈的实现要求是非常宽松的,甚至明确说明“如果Java虚拟机不支持native方法,自己也不依赖传统栈(通常指“C Stacks”)的话,可以无需支持本地方法栈”。商业级别的HotSpot将虚拟机栈和本地方法栈合并,并采用JNI规范来实现本地方法。而本文也采用虚拟机栈和本地方法栈合并的模式来模仿编写。

阅读全文 »

Java虚拟机之方法引用实现原理(下)

发表于 2018-05-04 | 分类于 JVM | 阅读次数:
字数统计: 1,679 | 阅读时长 ≈ 7

本篇将主要记录invokestatic、invokespecial、invokevirtual指令的实现以及类初始化的编写,invokeinterface的实现基本类似就不赘述了。

阅读全文 »

Java虚拟机之方法引用实现原理(上)

发表于 2018-05-03 | 分类于 JVM | 阅读次数:
字数统计: 1,278 | 阅读时长 ≈ 6

本篇主要涉及四种方法调用指令:invokestatic、invokespecial、invokevirtual以及invokeinterface。invokestatic和invokespecial指令调用的方法,都可以在解析阶段确定唯一调用版本,在类加载的时候就把符号引用解析为该方法的直接引用,剩下两种需要在运行时再确定。此外,final方法是非虚方法。

阅读全文 »

单词查找树

发表于 2018-05-03 | 分类于 算法 | 阅读次数:
字数统计: 521 | 阅读时长 ≈ 2

《算法(第4版)》5.2节讲到了单词查找树(也就是字典树),这里结合LeetCode相关题目进行分析。

阅读全文 »

Java虚拟机之Class文件(续):探索Java异常处理原理

发表于 2018-04-30 | 分类于 JVM | 阅读次数:
字数统计: 2,217 | 阅读时长 ≈ 10

之前通过《Java虚拟机之Class文件》成功解析了目标Class文件,了解了类文件结构,本篇是对之前的补充,内容涉及CONSTANT_NameAndType表以及Code属性表中的异常表。

特别是本人通过分析Code属性表中的字节码指令,对Java异常处理有了更深入的理解。

阅读全文 »

Java虚拟机之Java内存模型

发表于 2018-04-29 | 分类于 JVM | 阅读次数:
字数统计: 1,837 | 阅读时长 ≈ 6

本章很多内容参考了其它资料,但总体编排还是按照《深入理解Java虚拟机》的流程进行。

阅读全文 »

Java虚拟机之类加载实战

发表于 2018-04-28 | 分类于 JVM | 阅读次数:
字数统计: 1,349 | 阅读时长 ≈ 6

本人在前篇《Java虚拟机之Class文件》中已经分析了Class文件结构,末尾小结提到了“自己动手实现远程执行功能”的实战,本篇就来进行该实战。

阅读全文 »

Java虚拟机之Class文件

发表于 2018-04-27 | 分类于 JVM | 阅读次数:
字数统计: 2,646 | 阅读时长 ≈ 10

这一篇主要解析Class文件结构,并通过Java编程实现相关细节对解析的结构进行验证。

阅读全文 »

Union-Find算法

发表于 2018-04-23 | 分类于 算法 | 阅读次数:
字数统计: 2,199 | 阅读时长 ≈ 9

并查集是一种数据结构,而union-find算法定义了用于此数据结构的操作。这是维基给的简单定义,而这篇笔记主要是针对《算法》这本书上出现的相关问题,暂且不深入展开这个定义。

阅读全文 »

使用确定有限状态自动机解KMP算法

发表于 2018-04-22 | 分类于 算法 | 阅读次数:
字数统计: 2,372 | 阅读时长 ≈ 9

这里介绍的方法来自于《算法(第4版)》一书,通过构造一个确定有限状态自动机来解决KMP算法。

阅读全文 »
1…8910…15
Cgrw

Cgrw

146 日志
43 分类
117 标签
GitHub E-Mail
© 2021 Cgrw
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4