JVM
文章平均质量分 88
DoUUnderstand
这个作者很懒,什么都没留下…
展开
-
JVM Java内存分配
Java中的内存分配以及栈和堆的区别 A:栈栈分为两种:虚拟机栈(Virtual Machine Stacks)和本地方法栈(Native Method Stacks)虚拟机栈 保存局部变量的值,包括:1.用来保存基本数据类型的值;2.保存类的实例,即堆区对象的引用(指针)。也可以用来保存加载方法时的帧。每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用于存储局部变量表、操原创 2017-03-31 16:37:26 · 1061 阅读 · 0 评论 -
JVM GC(Garbage Collection)
Garbage Collection垃圾回收在面试中被经常提及,要弄懂垃圾回收,首先要先弄懂一个问题 GC是在什么时候,对什么东西,做了什么事情(1)首先“什么时候” 1、绝大多数刚刚被创建的对象会存放在伊甸园空间(Eden)。2、在伊甸园空间被装满时执行第一次GC(Minor GC),第一次GC执行之后存活的对象被移动到其中一个幸存者空间(Survivor )。3、此后,每次伊甸园空间执行GC原创 2017-04-09 12:08:59 · 1011 阅读 · 0 评论 -
JVM 类加载机制
Java虚拟机并不关心.class文件的来源是何种语言,其他语言的编译器也可以把程序代码编译成class文件。 这里我们具体讲class文件是如何加载进虚拟机?class文件中的信息进入到虚拟机中后会发生什么变化?类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括原创 2017-06-13 19:44:07 · 877 阅读 · 0 评论 -
JVM方面相关面试总结
Java虚拟机有了解么?先讲讲它的内存模型吧。Java虚拟机规范中将Java运行时数据分为六种。1.程序计数器:是一个数据结构,用于保存当前正常执行的程序的内存地址。Java虚拟机的多线程就是通过线程轮流切换并分配处理器时间来实现的,为了线程切换后能恢复到正确的位置,每条线程都需要一个独立的程序计数器,互不影响,该区域为“线程私有”。2.Java虚拟机栈:线程私有的,与线程生命周期相同...原创 2017-09-10 20:54:33 · 1010 阅读 · 0 评论