![你知道Lombok是如何工作的吗 你知道Lombok是如何工作的吗](https://www.hreshhao.com/wp-content/themes/mkBlog/inc/timthumb.php?src=https%3A%2F%2Fwww.hreshhao.com%2Fwp-content%2Fuploads%2F2022%2F05%2Fbinary-4791836_1280.jpg&w=360&h=240&zc=1)
你知道Lombok是如何工作的吗
在学习本文前,也许你只是用过 Lombok,知道有一些注解可以帮助我们快速开发,但是你是否了解它是怎么工作的,为什么可以产生这样的效果?让我们带着上述问题,开始本文的学习。在前文讲解《Javac编译器》时学习编译器的执...
![初识Javac编译器和Java语法糖 初识Javac编译器和Java语法糖](https://www.hreshhao.com/wp-content/themes/mkBlog/inc/timthumb.php?src=https%3A%2F%2Fwww.hreshhao.com%2Fwp-content%2Fuploads%2F2022%2F05%2Ffuturistic-7020072_1280.jpg&w=360&h=240&zc=1)
初识Javac编译器和Java语法糖
Javac编译器概念《Java虚拟机规范》 中严格定义了 Class 文件格式的各种细节, 可是对如何把 Java 源码编译为Class 文件却描述得相当宽松。这里的 javac 编译器称为前端编译器,其他的前端编译器还有诸如 Eclipse JDT 中的...
![你知道为什么要有两个 Survivor吗?关于卡表技术又有多少了解 你知道为什么要有两个 Survivor吗?关于卡表技术又有多少了解](https://www.hreshhao.com/wp-content/themes/mkBlog/inc/timthumb.php?src=https%3A%2F%2Fwww.hreshhao.com%2Fwp-content%2Fuploads%2F2022%2F05%2Fbinary-6944162_1280.jpg&w=360&h=240&zc=1)
你知道为什么要有两个 Survivor吗?关于卡表技术又有多少了解
JVM内存分配策略分代收集理论以下内容来源于《深入理解Java虚拟机》一文。分代收集理论实质是一套符合大多数程序运行实际情况的经验法则, 它建立在两个分代假说之上:1、弱分代假说(Weak Generational Hypothesis) : 绝...
![聊一聊垃圾收集器 聊一聊垃圾收集器](https://www.hreshhao.com/wp-content/themes/mkBlog/inc/timthumb.php?src=https%3A%2F%2Fwww.hreshhao.com%2Fwp-content%2Fuploads%2F2022%2F05%2Fmatrix-356024_1280.jpg&w=360&h=240&zc=1)
聊一聊垃圾收集器
关于 JVM 垃圾回收内容比较多,本文将继续讲述一下 JVM 发展历程中的各个垃圾收集器,这部分内容大多来源于《深入理解Java虚拟机》一文,没有太多的扩展性内容可以补充,但是为了整个系列的完整性,还是补发一下。Serial 收...
![你真的了解垃圾回收吗 你真的了解垃圾回收吗](https://www.hreshhao.com/wp-content/themes/mkBlog/inc/timthumb.php?src=https%3A%2F%2Fwww.hreshhao.com%2Fwp-content%2Fuploads%2F2022%2F05%2Finternet-3116062_1280.jpg&w=360&h=240&zc=1)
你真的了解垃圾回收吗
Java 虚拟机的自动内存管理,将原本需要由开发人员手动回收的内存,交给垃圾回收器来自动回收。因为是自动机制,我们平时不会直接接触,但还是有必要了解与垃圾回收实现相关的问题。下文先从基础开始学习垃圾回收。垃圾回收...
![你知道Java是如何创建对象的吗 你知道Java是如何创建对象的吗](https://www.hreshhao.com/wp-content/themes/mkBlog/inc/timthumb.php?src=https%3A%2F%2Fwww.hreshhao.com%2Fwp-content%2Fuploads%2F2022%2F05%2Fapps-426559_1280.jpg&w=360&h=240&zc=1)
你知道Java是如何创建对象的吗
快要讲解 Java 垃圾回收机制了,在此之前我们有必要了解一下 Java 对象的内存分配和创建过程。JDK8内存区域Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。如下图所示:Java 对象分配内...
![JVM是怎么实现invokedynamic的? JVM是怎么实现invokedynamic的?](https://www.hreshhao.com/wp-content/themes/mkBlog/inc/timthumb.php?src=https%3A%2F%2Fwww.hreshhao.com%2Fwp-content%2Fuploads%2F2022%2F05%2Fmonitor-1307227_1280.jpg&w=360&h=240&zc=1)
JVM是怎么实现invokedynamic的?
千呼万唤始出来,上一篇文章介绍了那么久的方法句柄,终于来到 invokedynamic 指令讲解了。invokedynamic 是 Java 7 引入的一条新指令,用以支持动态语言的方法调用。具体来说,它将调用点(CallSite)抽象成一个 Java 类,...
![关于方法句柄的那些事 关于方法句柄的那些事](https://www.hreshhao.com/wp-content/themes/mkBlog/inc/timthumb.php?src=https%3A%2F%2Fwww.hreshhao.com%2Fwp-content%2Fuploads%2F2022%2F05%2Fball-63527_1280.jpg&w=360&h=240&zc=1)
关于方法句柄的那些事
前言Java 字节码中与调用相关的指令共有五种。invokestatic:用于调用静态方法。invokespecial:用于调用私有实例方法、构造器,以及使用 super 关键字调用父类的实例方法或构造器,和所实现接口的默认方法。invokevirtual...
![HSDB使用详解 HSDB使用详解](https://www.hreshhao.com/wp-content/themes/mkBlog/inc/timthumb.php?src=https%3A%2F%2Fwww.hreshhao.com%2Fwp-content%2Fuploads%2F2022%2F05%2Fbinary-code-475664_1280.jpg&w=360&h=240&zc=1)
HSDB使用详解
之前未接触过 HSDB 工具,在深入学习反射时,研究其源码时需要了解生成的字节码文件,恰巧看到别人使用了 HSDB 工具,因此花时间学习了一番。HSDB(Hotspot Debugger),是一款内置于 SA 中的 GUI 调试工具,可用于调试 JVM ...
![JVM是如何实现反射的 JVM是如何实现反射的](https://www.hreshhao.com/wp-content/uploads/2022/05/fiber-4814456_1280-768x512.jpg)
JVM是如何实现反射的
简介Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。在...