full gc 是对新生代,旧生代,以及持久代的统一回收 新生代 主要是用来存放新生的对象。一般占据堆空间的1/3,由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收。 旧生代 对象比较稳定,所以MajorGC不会频繁执行 次数频繁,则表示服务器不断挂起 引用 https://blog ...
分类:
其他好文 时间:
2020-07-03 10:38:16
阅读次数:
46
针对新生代的GC复制算法和老年代的GC标记-整理算法,jvm针对新生代和老年代分别提供了不同的垃圾收集器 新生代: Serial,ParNew, ParallelScavenge 老年代:CMS,SerialOld(MSC),ParallelOld 从新生代介绍起: 1.Serial 垃圾收集器(单 ...
分类:
其他好文 时间:
2020-07-01 23:52:59
阅读次数:
79
首先使用vim ~/.bashrc进入 ~/.bashrc文件 然后在~/.bashrc文件添加以下修改 凭自己的习惯添加 alias gst='git status' alias ga='git add -A .' alias gc='git commit -m' alias gd='git di ...
分类:
系统相关 时间:
2020-07-01 20:34:45
阅读次数:
70
java有两个特性。一是所谓的“书写一次,到处运行”(Write once, run anywhere),能够非常容易地获得跨平台能力;另外就是垃圾收集(GC, Garbage Collection),Java 通过垃圾收集器(Garbage Collector)回收分配内存,大部分情况下,程序员不 ...
分类:
编程语言 时间:
2020-06-30 00:43:26
阅读次数:
65
垃圾回收(GC):是JVM中创建对象的内存分配以及销毁对象的内存回收的机制。 对象是否可回收: 1、对象引用计数法:根据对象的引用数量判断对象是否可回收 2、对象不可达分析法:根据对象是否可达判断对象是否可回收; 垃圾收集机制: 1、标记 - 清除: 根据对象是否可达判断对象是否可回收;然后进行标记 ...
分类:
编程语言 时间:
2020-06-29 09:29:10
阅读次数:
74
Java后端开发学习路线 编程基础 Java语言 语言基础 基础语法 面向对象 接口 容器 异常 泛型 反射 注解 I/O 图形化(如Swing) JVM 类加载机制 字节码执行机制 jvm内存模型 GC垃圾回收 jvm性能监控与故障定位 jvm调优 并发/多线程 并发编程基础 线程池 锁 并发容器 ...
分类:
编程语言 时间:
2020-06-28 18:20:44
阅读次数:
123
JVM调优核心为调整年轻代、年老大的内存空间大小及使用GC发生器的类型等。start.sh文件内容,我们来分下: java -server -Xms4G -Xmx4G -Xmn2G -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -Dcom.sun.manag ...
分类:
其他好文 时间:
2020-06-28 14:58:59
阅读次数:
42
内存分析: 1、通过 ps -aux(或-elf) | grep java(或shua-xiao)获取进程PID 2、通过 jmap -histo <pid> 查看堆内存中存活的对象 按照对象所占内存大小排序,显示了存活对象的实例数、所占内存、类名。 3、进一步通过jmap获取dump文件,也可以设 ...
分类:
其他好文 时间:
2020-06-27 18:36:16
阅读次数:
107
CLR GC是一种引用跟踪算法,大致步骤如下: 1、暂停进程中所有的线程; 2、标记阶段,遍历堆中的所有对象,标记为删除,然后检查所有活动根,如果有引用对象,就标记那个对象可达,否则不可达; 3、GC压缩阶段,对堆中可达对象压缩,使占用连续的内存; GC是基于代的垃圾回收算法,对象越新,生存期越短, ...
分类:
其他好文 时间:
2020-06-27 14:45:03
阅读次数:
62
.Net Core CLR 的GC分为两个部分,一个是GC的内存分配,另外一个是GC的垃圾回收。这里我们先讲一下垃圾回收。 一.垃圾回收的触发条件1.在C#代码中调用 GC.Collection();2.物理内存不足的情况下3.分配量超过分配阈值4.找不到可分配的内存空间在满足了以上四个条件中的任何 ...
分类:
Web程序 时间:
2020-06-27 09:31:35
阅读次数:
75