Java虚拟机
轻点 别打脸
无无
展开
-
JVM内存溢出问题排查
JVM虚拟机有自己的垃圾回收机制,一般情况下无需担心内存溢出的问题。但不是绝对的无需担心。 最近遇到一个服务器内存溢出问题,起因是使用了一个永不会关闭的线程,去做PDF上传下载,程序能正常运行一周,然后内存溢出。每日增量增加80多MB内存,并不会被GC回收。 内存溢出一般可能存在的情况: &nb原创 2021-12-01 11:36:11 · 1535 阅读 · 0 评论 -
浅谈java虚拟机对象内存分配与回收策略,MinorGC执行逻辑
对象优先在Eden区分配内存 大多数情况下,对象在新生代Eden区中进行分配,当Eden区没有足够空间进行分配时,虚拟机将发起一次MinorGC(新生代垃圾回收) 大对象直接进入老年代 大对象—需要大量连续内存空间的java...原创 2020-04-16 17:09:25 · 313 阅读 · 0 评论 -
Java垃圾收集算法
以下内容来自深入了解java虚拟机一书,中间穿插一点自己的理解,与顺序整合。 1 、概述 java运行时区域中,程序计数器(PC寄存器),虚拟机栈(java栈),本地方法栈,三个区域为线程私有区域,线程结束,区域毁灭,每个栈中内存分配,在类结构确定下来时就已知了。因此这几个区域内存分配回收都具有确定性,...原创 2020-04-03 18:45:45 · 178 阅读 · 0 评论 -
java内存区域,java栈,堆,方法区,常量池
在不考虑实例对象入参的情况下,聊聊java的内存区域,各个内存区域之间的协同关系 经常有人将java内存区分为堆内存,和栈内存,期初我也是这么粗糙的去划分的,java内存区域的划分实际上远比这来的复杂。 1.java运行时数据区域 2.java对象构建-内存分配 ...原创 2020-03-30 22:22:06 · 581 阅读 · 0 评论