概述很多人想要到阿里巴巴、美团、京东等互联网大公司去面试,但是现在互联网大厂面试一般都必定会考核JVM相关的知识积累和实践经验,毕竟线上系统写好代码部署之后,每个工程师都必须关注JVM相关的东西,比如OOM、GC等问题.所以一起来看看JVM的最基本的区域划分以及工作原理,这个基本上是互联网公司面试必问。区域划分jvm的区域划分如下所示:大致就是分为:程序计数器,虚拟机栈,堆,方法区,本地方法栈,这
分类:
其他好文 时间:
2019-05-21 22:58:39
阅读次数:
243
Java虚拟机内存区域总结:Java虚拟机相当于一个抽象的计算机操作系统, 其管理的内从区域大体上可以分为栈和堆,就像c或c++中对内存的分类一样, 但这样的分类对于Java虚拟机来说太过粗浅, 实际上Java虚拟机管理的内存区域分为程序计数器、虚拟机栈、本地方法栈、堆和方法区, 根据各区域是属于线 ...
分类:
编程语言 时间:
2019-05-13 22:44:15
阅读次数:
112
二、垃圾收集 垃圾收集主要是针对堆和方法区进行。 程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收。 判断一个对象是否可被回收 1. 引用计数算法 给对象添加一个引用计数器,当对象增加一个引用时计数器加 1, ...
分类:
编程语言 时间:
2019-05-12 15:45:08
阅读次数:
149
概述 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此, ...
分类:
编程语言 时间:
2019-05-11 21:51:57
阅读次数:
164
2.1.哪些内存需要回收? jvm的内存结构包含五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区。其中,程序计数器、虚拟机栈、方法栈3个区域随线程而生,随线程而灭,因此这届个区域的内存和回收都具备确定性,就不需要过多回收的问题,因为方法结束时,内存自然就跟着回收了,而java堆区和方法区不一 ...
分类:
其他好文 时间:
2019-05-09 20:23:03
阅读次数:
135
在Java运行时的几个数据区域中,程序计数器,虚拟机栈,本地方法栈3个区域随着线程而生,随线程而灭,因此这几个区域的内存分配和回收具有确定性,不需要过多考虑垃圾回收问题,因为方法结束或者线程结束时,内存就回收了。但是方法区和堆区不一样,一个接口或者实现类所需要的内存可能不一样,一个方法的多个分支需要 ...
分类:
编程语言 时间:
2019-04-30 23:31:57
阅读次数:
201
内存分配以及回收Java虚拟机运行时数据区,分为以下几个模块,包含所有线程共有的数据区和线程单独享有的数据区。程序计数器:字节码行号,通过这个计数器来选取下一条需要执行的指令,线程独有。虚拟机栈:线程私有。方法在执行时会创建一个栈帧,用于存储局部变量表等。局部变量表中存放了编译器可知的基本数据类型、对象引用、returnAddress(指向了一条字节码指令的地址)本地方法栈:与虚拟机栈类似,只不过
分类:
编程语言 时间:
2019-04-28 20:26:53
阅读次数:
171
原文出处: 兰亭风雨 内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。 程序计数器(Pr ...
分类:
编程语言 时间:
2019-04-25 15:59:25
阅读次数:
129
方法区:也叫永久区,线程共享,用于存储类结构信息的地方,包括常量池、静态变量、构造函数等类型信息,类型信息是由类加载器在类加载时从类文件中提取出来的,永久区同样存在垃圾回收机制,用为用户通过加载器加载的一些类同样会成为垃圾,JVM会回收一个未被类引用所占的空间,以使方法区空间达到最小堆:是存储Java对象的地方,是GC的主要区域,同样是线程共享的主要区域Java虚拟机栈:存储基本数据类型,局部变量
分类:
其他好文 时间:
2019-04-23 14:19:38
阅读次数:
154
虚拟机栈: 栈元素是栈帧。方法调用,栈帧入栈,反之出栈。 栈帧:一个方法的运行空间。 1、局部变量表:方法定义的局部变量、方法的参数存在该表。 实例方法中有个隐含参数“this”,所以实例方法可以访问该类的实例变量和其他实例方法。 局部变量表中变量的存放顺序:this(如果是实例方法)=>参数(如果 ...
分类:
其他好文 时间:
2019-04-17 13:46:28
阅读次数:
153