Young GC日志解析
一、一段程序代码public class MinorGCTest { public static void main(String[] args) { // 1MB byte[] array1 = new byte[1024 * 1024]; arra
为什么老年代的垃圾回收会把新生代的垃圾回收慢得多?
一、为什么新生代的垃圾回收快?因为新生代的存活对象比较少,通常占10%左右,从GC Roots出发追踪的存活对象比较少,速度比较快,清理时,只需要把存活的对象移动到Survivor区,原来的Eden区和另外一个Survivor区的所有垃圾对象全部快速删除即可。二、为什么老年代的垃圾回收慢?因为老年代
JVM垃圾回收后存活对象何去何从?
一、堆空间内存结构堆的内存空间分为新生代和老年代,默认占比是新生代占1/3,老年代占2/3,可以通过-XX:NewRatio来调整比例。而新生代又划分了3个区域,分别是Eden区、from survivor区和to survivor区,默认占比是Eden区占8/10,from survivor区占1
强引用、软引用、弱引用、虚引用
Java对象引用支持4种级别,从高到低分别是:强引用、软引用、弱引用和虚引用,用于控制灵活的控制对象的生命周期。一、强引用强引用就是我们平时创建的对象实例,JVM执行垃圾回收时,只要对象实例的引用还在,在内存不足时宁愿抛出OOM也不会对它进行回收。private static void testSt
Java类的生命周期
类在JVM的生命周期分别经历:加载、验证、准备、解析、初始化、使用和卸载7个阶段,其中验证、准备和解析也叫连接阶段。1、加载由类加载器进行加载class文件,加载的途径可以是本地文件、网络数据流、数据库等能获取到class文件的地方。java采用双亲委派机制进行类加载,也就是对某个类进行加载的时候,
我们写的java代码是如何运行起来的?
1、我们在IDE(IntellJ IDEA、Eclipse)上编写java代码,实际保存的是.java后缀的文件。2、java代码通过编译器进行编译打包成jar或者war文件。3、其中war文件可以放在容器进行运行,比如Tomcat;jar文件通常可以通过java -jar直接运行。4、例如我们通过
《OKR工作法》读书笔记
一、什么是OKR?OKR:Objective and Key Results,目标与关键结果,是一套明确和跟踪目标及其完成情况的管理方法,由英特尔公司创始人安迪·葛洛夫(AndyGrove)发明,并在Google发扬光大。目标是用来明确方向,关键结果则是用来量化目标,使团队和个人聚焦在一个有挑战性的
采用sysbench对mysql进行压测
一、服务器准备操作系统:CentOS 7CPU:8核内存:32GB硬盘:500GB数据库:MySQL 5.7二、安装sysbench curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.s