内存
kdy527
这个作者很懒,什么都没留下…
展开
-
java JVM常见的四大异常及处理方案
区域作用异常控制参数解决思路java堆存放对象的实例。java.lang.OutOfMemory Error:Java heap space-Xms(初始化堆),-Xmx(最大堆),-Xmn(新生代)1、先查看是不是内存泄漏(内存中的对象是不是必须的),如果是泄漏,则找到与GC root 的路径解决泄漏。2、看物理内存是否允许加大-Xms,-Xmx。3、检查堆中是不是有对象实例一直在内存中没有释放...转载 2018-04-09 20:09:24 · 1038 阅读 · 0 评论 -
Java垃圾回收(GC)机制详解
一、为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。 二、哪些内存需要回收? 哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使用的对象。那么如何找到这些对象? 1、引用计数法 这个算法的实现...原创 2019-01-20 16:29:03 · 238 阅读 · 0 评论 -
Java常量池理解与总结(讲的非常浅显易懂)
一.相关概念 什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 Class文件中的常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本...转载 2019-01-16 17:26:22 · 360 阅读 · 0 评论 -
Java8内存模型(关于永久区、元数据Metaspace、老年代、新生代)
一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出St...转载 2019-01-16 18:17:11 · 5744 阅读 · 0 评论