
JVM
文章平均质量分 92
渔火愁眠_
社会小牛马
展开
-
JVM之类加载
在java中,类加载和它的双亲委派机制是很重要的一部分知识,本文中通过四个方面,重点说一下这个过程。 一、类加载机制 在了解类加载过程之前,我们先了解一下java文件的编译过程,就是通过javac编译生成.class文件,在通过JVM生成机器码的过程。 它的主要过程有: 1、词法分析 2、语法分析 3、中间代码生成 4、代码优化 5、代码生成 经过这五个过程,就会将.java文件变成.class文件,这个.class文件就是JVM可以识别的代码文件。 这个.class文件是一个字节码文件原创 2021-04-07 00:56:20 · 275 阅读 · 0 评论 -
JVM之垃圾回收
说起垃圾回收,我们都知道,传统的C/C++等编程语言,需要程序员负责回收已经分配出去的内存。显示进行垃圾回收是一件令人头疼的事情,因为程序员并不总是知道内存应如何时进行释放。如果一些分配出去的内存不能及时的回收就会引起系统运行速度下降,甚至导致程序瘫痪,这种现象称为内存泄露。Java相比于C++一大特点便是其特有的自动垃圾回收机制,有了它,我们就可以不用再关系内存分配的问题了,也一般不需要担心出现内存泄漏。大家也可以愉快的聚焦于业务发展。那么Java的GC回收到底是怎么实现的呢,本文就来简单的说一下。 ..原创 2021-03-27 23:30:47 · 423 阅读 · 0 评论 -
JVM之内存模型
对于JVM的内存模型,面试中通常会直接问你对它的认识和了解多少,所以我们的回到应该由浅入深,逐层刨析。 一. Java 虚拟机内存模型 首先,我们得知道,JVM内存空间分为五部分,分别是:方法区、堆、Java虚拟机栈、本地方法栈、程序计数器。 这些数据区域可以分为两个部分:一部分是线程共享的,一部分则是线程私有的。其中,线程共享的数据区包括方法区和堆,线程私有的数据区包括虚拟机栈、本地方法栈和程序计数器。如下图所示: 接下来我们挨个再说。 1.1、线程共享数据区域 1.1.1、方法区 方法区用于存储已被虚原创 2021-02-07 12:27:20 · 1389 阅读 · 0 评论