首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
深入学习JVM
hresh
创建于2022-01-26
订阅专栏
Java工程师必修课
等 42 人订阅
共25篇文章
创建于2022-01-26
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JVM系列之:你知道Java有多少种内存溢出吗
Java内存区域 关于这部分内容大多来源于《深入理解Java虚拟机》一书。 Java 运行时数据区域(JDK8)如下图所示: 关于上述提到的线程共享和线程隔离区域,下图做详细讲解: 程序计数器 程序计
JVM系列之:日志分析工具:GCViewer、VisualVM、GCeasy
GCViewer GCViewer 是一个可以将 JVM 中的 gc log 可视化的工具,使用该工具可以帮助你充分的发现 JVM 垃圾回收中的潜在问题,让你可以更加准确的做出关于 JVM GC 优化
JVM系列之:MAT工具使用教程
Eclipse Memory Analyzer (MAT)是一个快速且功能丰富的Java堆分析器,可帮助您发现内存泄漏并减少内存消耗。 安装并启动 直接参考 Mac下MAT的安装 需要注意的是注意 J
JVM系列之:GC调优基础以及初识jstat命令
影响垃圾收集性能有三个主要的属性,垃圾收集调优又有三个基本原则,以及垃圾收集调优时需要采集的信息。如果想要对垃圾收集进行调优,则需要根据实际场景对不同属性做出取舍,理解调优的原则以及收集什么信息。 性
JVM系列之:你知道Jhsdb整合的故障处理工具
Jhsdb 是 JDK9 引入的新的命令行工具,它有 clhsdb、debugd、hsdb、jstack、jmap、jinfo、jsnap 这些 mode 可以使用,其中有几个在名称和功能上与以前的
JVM系列之:关于即时编译器的其他一些优化手段
学习即时编译器的优化手段,未来自己写代码时,在保证可读性的前提下,尽量减少编译器的工作量,提升自己的代码质量。
JVM系列之:关于逃逸分析的学习
JIT 即时编译有一个最前沿的优化技术:逃逸分析,本文将带你认识一下即时编译器基于逃逸分析的优化手段。
JVM系列之:深入学习方法内联
在前面多篇文章中多次提到方法内联,作为编译器最重要的优化技术,该技术不仅可以消除调用本身带来的性能开销,还能够触发更多的优化。本文将带领大家对该技术一探究竟。 方法内联 方法内联指的是:在编译过程中遇
JVM系列之:关于即时编译器的优化措施
我们来继续讲解 Java 虚拟机中的即时编译。 Profiling 上篇文章中介绍了关于分层编译的交互关系图,这里再贴一遍。 对于图片中描述的四种编译途径做过详细介绍,这里就不重复介绍了,其中提到了如
JVM系列之:关于即时编译器的那些事
我们在前文学习 Java 是如何执行的这篇文章中有提及即时编译器,这是一项用来提升应用程序运行效率的技术。通常而言,代码会先被 Java 虚拟机解释执行,之后反复执行的热点代码则会被即时编译成为机器码
JVM系列之:你知道Lombok是如何工作的吗
在学习本文前,也许你只是用过 Lombok,知道有一些注解可以帮助我们快速开发,但是你是否了解它是怎么工作的,为什么可以产生这样的效果?让我们带着上述问题,开始本文的学习。 在前文讲解《Javac编译
JVM系列之:初识Javac编译器和Java语法糖
Javac编译器 概念 《Java虚拟机规范》 中严格定义了 Class 文件格式的各种细节, 可是对如何把 Java 源码编译为Class 文件却描述得相当宽松。这里的 javac 编译器称为前端编
JVM系列之:你知道为什么要有两个 Survivor吗?关于卡表技术又有多少了解
分代收集理论 以下内容来源于《深入理解Java虚拟机》一文。 分代收集理论实质是一套符合大多数程序运行实际情况的经验法则, 它建立在两个分代假说之上: 1、弱分代假说(Weak Generationa
JVM系列之:聊一聊垃圾收集器
关于 JVM 垃圾回收内容比较多,本文将继续讲述一下 JVM 发展历程中的各个垃圾收集器,这部分内容大多来源于《深入理解Java虚拟机》一文,没有太多的扩展性内容可以补充,但是为了整个系列的完整性,还
JVM系列之:你真的了解垃圾回收吗
本文带你了解Java垃圾回收的四大要素,回收的目的、回收的时间、回收的内容、回收的算法,重点讲述了如何判定对象死亡。
JVM系列之:JVM是如何处理我们定义的对象生成代码
快要讲解 Java 垃圾回收机制了,在此之前我们有必要了解一下 Java 对象的内存分配和创建过程。 JDK8内存区域 Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的
JVM系列之:JVM是怎么实现invokedynamic的?
invokedynamic 指令 千呼万唤始出来,上一篇文章介绍了那么久的方法句柄,终于来到 invokedynamic 指令讲解了。 invokedynamic 是 Java 7 引入的一条新指令,
JVM系列之:关于方法句柄的那些事
前言 Java 字节码中与调用相关的指令共有五种。 invokestatic:用于调用静态方法。 invokespecial:用于调用私有实例方法、构造器,以及使用 super 关键字调用父类的实例方
JVM系列之:关于HSDB的一点心得
之前未接触过 HSDB 工具,在深入学习反射时,研究其源码时需要了解生成的字节码文件,恰巧看到别人使用了 HSDB 工具,因此花时间学习了一番。
JVM系列之:JVM是如何实现反射的
Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;
下一页