美文网首页
JVM的初识

JVM的初识

作者: chenjiehao | 来源:发表于2018-06-25 11:43 被阅读0次

最近感觉自己的脚步跟不上自己的思想,可能自己有些浮了。所以想静下来巩固自己学习的一些基础知识。


JVM的基础架构图(初次画图):

我们今天主要就是说明内存区域区域是如何对应我们代码。简单的一个例子,

public static void main(String[] args) {

Student stu=new Student();

}

首先代码会被加载到方法区(main方法),然后new Student()则会被分配到堆内存中,再然后stu引用Student这个对象则会分配到栈中。计算器的功能则是负责代码是如何一步步运行的(个人理解)。


重点来了解一下JVM中的堆内存的结构。拷贝二张图

jdk1.7 jdk1.8

从上面的图中我们可以很清晰的看出堆内存划分的规则,Young Gen我们称之的年轻代,被划分三块,Eden、S0、S1。Old Memory我们称之老年代,加上我们称之永久代的区域Perm(jdk1.8之后就不存在,只有元空间,使用堆外内存)。

我们new的对象是如何在这个区域执行流转?我们大概的流程说明一下,Object--->Eden随着Eden的对象越来越多,就会将Eden的一直常驻对象转移到S0区域(minor GC),随之S0区域中也慢慢装下的时候,也会将一些不用的对象清除并转移剩下的对象到S1区域。在这个过程中,有些对象可能就一直在Young区域中我们就会将其转移到Old区域中。随着old区域也慢慢的装不下的时候,就会发生major GC。

(仅作为自己的学习总结,如果有不对的地方也欢迎大家的指正。)

相关文章

  • 深入JVM内核 目录

    深入JVM内核 目录 深入JVM内核1 初识JVM深入JVM内核2 JVM运行机制深入JVM内核3 常用JVM配置...

  • chapter-1 初识JVM

    本章知识点 1.JVM的概念2.JVM发展历史3.JVM种类4.Java语言规范5.JVM规范 初识JVM - J...

  • JVM的初识

    最近感觉自己的脚步跟不上自己的思想,可能自己有些浮了。所以想静下来巩固自己学习的一些基础知识。 JVM的基础架构图...

  • 初识JVM

    Java 程序的执行过程 一个 Java 程序,首先经过 javac 编译成 .class 文件,然后 JVM 将...

  • JVM 初识

    Java 虚拟机简介 Java 号称 「一次编译,到处运行」的主要源于 JVM (Java Virtual Mac...

  • 初识JVM

    为猿不识JVM,侃称大神也枉然。 最近利用晚上时间学习了JVM相关知识,还未真正深入。以脑图形式记录了部分知识点,...

  • JVM初识

    今天对JVM进行了简单的学习,做了一个总结,如果有不对的地方还请大家指正。 一.java代码如何运行 编译型语言:...

  • jvm初识

    jvm内存模型介绍 Java语言优势巨大,一处编译随处运行,这个全依赖于jvm 自从内存管理机制之下,不再需要为没...

  • JVM初识

    一、JVM的基本介绍 JVM(Java Virtual Machine)又被分为三大子系统,类加载子系统,运行时数...

  • 初识JVM

    一.什么是 是()的缩写,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计...

网友评论

      本文标题:JVM的初识

      本文链接:https://www.haomeiwen.com/subject/funeyftx.html