Java基础篇 - 强引用、弱引用、软引用和虚引用 原创零壹技术栈 最后发布于2018-09-09 08:58:21 阅读数 4936 收藏展开前言Java执行GC判断对象是否存活有两种方式其中一种是引用计数。 引用计数:Java堆中每一个对象都有一个引用计数属性,引用每新增1次计数加1,引用每释放 ...
分类:
编程语言 时间:
2020-02-09 22:08:36
阅读次数:
90
看反压 通常最后一个被压高的subTask的下游就是job的瓶颈之一 看checkpoint时长 checkpoint时长能在一定程度影响job的整体吞吐 看核心指标 延迟和吞吐是最重要的指标 资源使用率 提高资源利用率是最终目的。排查首先看GC 常见性能问题 JSON序列化和反序列化 MAP和Se ...
分类:
其他好文 时间:
2020-02-09 11:43:28
阅读次数:
80
疑问: 在学习GC的时候发现,无论是 ,还是 算法,都要 ,这必然会导致对象的 发生变动,那么移动后,对象是怎么找到在堆中对象的新内存地址的? 难道每移动一个对象,就会找到并更新所有引用这个对象的 reference? 垃圾收集算法:https://plumbr.io/handbook/garbag ...
分类:
其他好文 时间:
2020-02-09 09:48:45
阅读次数:
65
疑问: 在学习GC的时候发现,无论是 ,还是 算法,都要 ,这必然会导致对象的 发生变动,那么移动后,对象是怎么找到在heap中对象的新内存地址的? 难道移动对象的时候会将引用这个对象的所有变量的值更新? 垃圾收集算法:https://plumbr.io/handbook/garbage colle ...
分类:
其他好文 时间:
2020-02-07 18:30:32
阅读次数:
128
jps 类的pid jstat 使用: jstat -gcutil pid 1000 //1000是毫秒是监控时间间隔 YGC 是young gc 的占的内存的百分比,YGCT是young gc 次数 FGC 是Full gc占内存的百分比,FGCT是 Full gc 的次数, GCT是总gc 的平 ...
分类:
其他好文 时间:
2020-02-06 21:32:35
阅读次数:
91
线上系统突然变得卡顿或无法访问,排除网络异常的情况下,检查服务器资源占用情况,如果CPU、内存、磁盘IO等资源占用过高,就会导致无法继续处理HTTP请求。 如果是CPU占用飙高,有可能是程序中存在死循环、死锁导致的,也有可能是内存紧张从而频繁GC导致的,要具体问题具体分析。 排查过程 这里记录一次线 ...
分类:
其他好文 时间:
2020-02-06 11:07:57
阅读次数:
75
三大指标 高可用,高性能,高并发 高性能 RPC 通信 Kyro 高速序列化 HikariCP 连接池 SQL 优化 Redis 缓存 JVM 优化 GC 优化 高并发 垂直扩展+水平扩展 高可用 一直可以用,99.999999% k8s 解决单点故障 实现崩溃恢复,自动重启 自动扩/缩容 金丝雀发 ...
分类:
其他好文 时间:
2020-02-05 20:31:48
阅读次数:
117
JVM第二弹GC分代收集算法VS分区收集算法分代收集算法当前主流的VM垃圾收集都采用“分代收集“算法,这种算法会根据对象存活周期的不同将内存划分为几块,如JVM中的新生代、老年代、永久代,这样就可以根据个年代特点分别采用最适当的GC算法。新生代·复制算法每次垃圾收集都能发现大批对象已死,只有少量存活。因此选用复制算法,只需要付出少量存活对象的复制成本就可以完成收集。老年代·标记整理算法因为对象存活
分类:
其他好文 时间:
2020-02-05 18:12:19
阅读次数:
71
1. File →Setting →Build,Execution,Deployment →Console →Python Console →勾选Add source roots to PYTHONPAT,如下所示: 2. 右键点击项目工作空间文件夹,找到Mark Directory as 选择So ...
分类:
其他好文 时间:
2020-02-03 09:40:55
阅读次数:
80
Java 内存分配策略 Java 内存分配策略 优先在 Eden 区分配 大对象直接进入老年代 长期存活的对象将进入老年代 空间分配担保 新生代和老年代的 GC 操作 新生代 GC 操作:Minor GC 发生的非常频繁,速度较块。 老年代 GC 操作:Full GC / Major GC 经常伴随 ...
分类:
编程语言 时间:
2020-02-03 00:04:41
阅读次数:
107