jvm笔记

作者: IT入门指南 | 来源:发表于2020-02-27 17:49 被阅读0次

jvm内存区域

堆,方法区, 虚拟机栈, 本地方法栈, 程序计数器。

程序计数器

线程私有,存储当前线程执行的字节码行号。因为有线程的切换。必须保存线程的当前的执行点。

虚拟机栈

线程私有,线程执行的函数的信息,包括函数的局部变量表,动态链接,方法的出口等。
线程执行一个方法,创建一个 栈帧。方法调用直到完成, 就是一个栈帧的如栈和出栈的过程
局部变量表的大小是在编译时期就确定下来的。不会随着程序运行动态改变
如线程在执行过程中达到栈的最大深度,程序会报stackoverflow。
但是jvm支持动态的增加虚拟机栈的大小,如果在申请内存的时候,内存不够会报 outofmemery的错误

本地方法栈

本地方法栈和虚拟机栈的作用相当,只是用户netive方法。

java的堆

线程共享。存放对象的实例子(也不是决定的。jit和逃逸技术发展可以改变这一事实)。
堆是垃圾收集器主要管理的管理对象。 分为新生代和老年代。又可以eden。from survivor 和 to survivor

方法区

线程共享的区域,存放被虚拟机加载类信息,常量,静态变量, jit编译后的代码

其中有一个运行时常量池。存放的编译器生成的字面量和符号引用。

java如何访问对象

1: 采用句柄的方式
2: 采用指针的方式。 hotspot采用指针的方式。速度很快。

垃圾回收和内存分配

新生代复制算法
老年代 标记 整理

然后分代回收

相关文章

  • JVM学习笔记(3)-垃圾收集算法

    JVM学习笔记(1)-内存管理机制 JVM学习笔记(2)-内存分配与回收 垃圾收集算法 JVM垃圾收集算法有四种:...

  • JVM学习笔记

    JVM学习笔记 JVM简介 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种...

  • Java笔记之 1. JVM学习

    一、 JVM学习笔记 JVM:Java Virtual MachineJVM总感觉那么的神秘,底层的东西,试着把一...

  • 第二周 JVM运行机制

    笔记 JVM启动流程启动过程如下图所示:bootup.png注释:jvm.cfg的用途:Controls the ...

  • JVM内存管理及垃圾回收机制

    JVM笔记 JDK:Java、JVM、Java API类库,是支持java程序开发的最小环境。JRE:Java A...

  • 【JVM篇】【JVM的组成】

    【JAVA】【JVM篇】【JVM的组成】 来自二线的码农笔记,用自己的理解总结知识点,互相学习 1. JVM概念 ...

  • ElasticSearchx

    ElasticSearch 笔记修改ES内存的占用:/etc/elasticsearch/jvm.options ...

  • Java运行时数据区

    原文戳这里JVM Run-Time Data Areas 下面是我阅读JVM规范的笔记。 1.单个线程的数据区(不...

  • JVM学习笔记之类装载器-ClassLoader

    JVM学习笔记之类装载器-ClassLoader 本文字数:2300,阅读耗时7分钟 JVM体系结构概览 类装载器...

  • JVM笔记

    一、JVM运行时划分的区域 1.程序计数器 用于存放当前线程下一个执行命令的指针。每个线程私有一个程序计数器。 2...

网友评论

      本文标题:jvm笔记

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