JVM
文章平均质量分 95
BugWriter
这个作者很懒,什么都没留下…
展开
-
JVM学习笔记3——JVM 内存结构
JVM 内存结构JVM内存结构布局JVM内存结构主要有三大块:堆内存、方法区和栈。堆内存是JVM中最大的一块,由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配;方法区存储类信息、常量、静态变量等数据,是线程共享的区域,为与Java堆区分,方法区还有一个别名Non...原创 2018-03-07 16:11:57 · 373 阅读 · 0 评论 -
JVM学习笔记4——Class文件结构
Class文件结构 真正了不起的程序员对自己的程序的每一个字节都了如指掌Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用8位字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8位字节进行存储。根据...原创 2018-03-07 16:20:05 · 205 阅读 · 0 评论 -
JVM学习笔记1——概述
JVM学习笔记概述为什么要学习JVM理解原理方便调优什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般...原创 2018-03-03 17:51:14 · 324 阅读 · 0 评论 -
JVM学习笔记6——垃圾收集
概述垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区中,在程序运行期间,这部分内存的分配和使用都是...原创 2018-04-10 19:01:58 · 235 阅读 · 0 评论 -
JVM学习笔记2——类加载机制
类加载机制虚拟机如何加载class文件,class文件中的信息进入到虚拟机中会发生什么变化?类加载机制类的加载指的是JVM把描述类的二进制数据从.class文件中加载到内存中,将其放在运行时数据区的方法区内,并对其进行校验、转换解析和初始化,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Clas...原创 2018-03-04 21:53:47 · 197 阅读 · 0 评论 -
JVM学习笔记5——虚拟机字节码指令与执行引擎
虚拟机字节码执行引擎字节码指令字节码指令分类运行时栈帧结构局部变量表操作数栈动态连接方法返回地址附加信息基于栈的字节码解释执行引擎基于栈的指令集与基于寄存器的指令集基于栈的解释器执行过程虚拟机字节码执行引擎字节码指令Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个...原创 2018-03-11 13:55:13 · 449 阅读 · 0 评论