花费 7 ms
JVM基础系列开篇:为什么要学虚拟机?

跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看。所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试。但我经过了几年的学习和实战,我发现其实学习虚拟机并 ...

Tue Nov 06 16:21:00 CST 2018 15 16537
JVM基础系列第4讲:从源代码到机器码,发生了什么?

在上篇文章我们聊到,无论什么语言写的代码,其到最后都是通过机器码运行的,无一例外。那么对于 Java 语言来说,其从源代码到机器码,这中间到底发生了什么呢?这就是今天我们要聊的。 如下图所示,编译器 ...

Sat Nov 10 18:13:00 CST 2018 6 11160
JVM基础系列第5讲:字节码文件结构

温馨提示:此篇文章长达两万字,图片50多张,内容非常多,建议收藏后再看。 前面我们说到 Java 虚拟机使用字节码实现了跨平台的愿景,无论什么系统,我们都可以使用 Java 虚拟机解释执行字节码文件 ...

Mon Nov 12 18:01:00 CST 2018 9 8520
JVM基础系列第3讲:到底什么是虚拟机?

我们都知道在 Windows 系统上一个软件包装包是 exe 后缀的,而这个软件包在苹果的 Mac OSX 系统上是无法安装的。类似地,Mac OSX 系统上软件安装包则是 dmg 后缀,同样无法在 ...

Fri Nov 09 16:58:00 CST 2018 2 8241
JVM基础系列第7讲:JVM 类加载机制

当 Java 虚拟机将 Java 源码编译为字节码之后,虚拟机便可以将字节码读取进内存,从而进行解析、运行等整个过程,这个过程我们叫:Java 虚拟机的类加载机制。JVM 虚拟机执行 class 字节 ...

Tue Nov 20 17:41:00 CST 2018 7 6638
JVM基础系列第14讲:JVM参数之GC日志配置

说到 Java 虚拟机,不得不提的就是 Java 虚拟机的 GC(Garbage Collection)日志。而对于 GC 日志,我们不仅要学会看懂,而且要学会如何设置对应的 GC 日志参数。今天就让 ...

Tue Dec 11 04:16:00 CST 2018 2 6695
JVM基础系列第6讲:Java 虚拟机内存结构

看到这里,我相信大家对于一个 Java 源文件是如何变成字节码文件,以及字节码文件的含义已经非常清楚了。那么接下来就是让 Java 虚拟机运行字节码文件,从而得出我们最终想要的结果了。在这个过程中,J ...

Fri Nov 16 18:50:00 CST 2018 0 7059
JVM基础系列第11讲:JVM参数之堆栈空间配置

JVM 中最重要的一部分就是堆空间了,基本上大多数的线上 JVM 问题都是因为堆空间造成的 OutOfMemoryError。因此掌握 JVM 关于堆空间的参数配置对于排查线上问题非常重要。 tip ...

Mon Dec 10 18:11:00 CST 2018 5 5605
JVM基础系列第1讲:Java 语言的前世今生

Java 语言是一门存在了 20 多年的语言,其年纪比我自己还大。虽然存在了这么长时间,但 Java 至今都是最大的工业级语言,许多大型互联网公司均采用 Java 来实现其业务系统。大到国际电商巨头阿 ...

Wed Nov 07 17:14:00 CST 2018 0 6148
JVM基础系列第2讲:Java 虚拟机的历史

说起 Java 虚拟机,许多人就会将其与 HotSpot 虚拟机等同看待。但实际上 Java 虚拟机除了 HotSpot 之外,还有 Sun Classic VM、Exact VM、BEA JRock ...

Thu Nov 08 19:32:00 CST 2018 1 4993

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM