摘要: 整机:top 查看整机信息:top命令+uptime命令 CPU:vmstat 查看CPU:vmstat 每2秒采样一次 一共采样3次 procs进程信息: r 是运行和等待CPU时间片的进程数,原则上1核CPU的运行队列不要超过2,整个系统的运行队列不能超过综合书的2倍。否则系统压力过大。 b 是 阅读全文
posted @ 2020-06-07 22:23 xd会飞的猫 阅读(729) 评论(0) 推荐(0) 编辑
摘要: G1的特点 除了G1的其余垃圾回收器的特点是,年轻代和老年代是各自独立且连续的内存块,年轻代收集使用单edn+s0+s1进行复制算法,老年代收集必须扫描整个老年代区域。都是以尽可能少而快速地执行GC为设计原则。 G1是一款面向服务端应用的收集器,应用在多CPU和大容量内存的环境中,在实现高吞吐量的同 阅读全文
posted @ 2020-06-07 19:32 xd会飞的猫 阅读(745) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal概述 ThreadLocal是线程变量,ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 它具有3个特性: 线程并发:在多线程并发场景下使用。 传递数 阅读全文
posted @ 2020-06-05 19:25 xd会飞的猫 阅读(3651) 评论(0) 推荐(1) 编辑
摘要: 排序算法比较 https://www.cnblogs.com/bjwu/articles/10006419.html 冒泡排序 1 /**冒泡排序 2 * 第一次比较0~N-1位 将最大值沉底 3 * 第二次比较0~N-2位 将最大值沉底 4 * ...... 5 * 第N-1次比较0~1位 将最大 阅读全文
posted @ 2020-06-05 10:15 xd会飞的猫 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 七种垃圾回收器类型 GC的约定参数 DefNew——Default New Generation Tenured——Serial Old ParNew——Parallel New Generation PSYoungGen——Parallel Scavenge ParOldGen——Parallel 阅读全文
posted @ 2020-06-03 23:16 xd会飞的猫 阅读(1652) 评论(0) 推荐(2) 编辑
摘要: 垃圾回收器 V.S. 垃圾回收算法 垃圾回收算法有四种,分别是引用计数(已经不用了)、复制拷贝、标记清除、标记整理。一般的实现采用分代回收算法,根据不同代的特点应用不同的算法。垃圾回收算法是内存回收的方法论。垃圾回收器是算法的落地实现。和回收算法一样,目前还没有出现完美的收集器,而是要根据具体的应用 阅读全文
posted @ 2020-06-03 22:15 xd会飞的猫 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 组织架构 严格来说,StackOverflowError和OutOfMemoryError都属于错误,而不是异常。 java.lang.StackOverflowError 1 public class StackOverflowErrorDemo { 2 public static void me 阅读全文
posted @ 2020-06-02 22:43 xd会飞的猫 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 整体架构 强引用 强引用是默认支持,当内存不足的时候,JVM开始垃圾回收,对于强引用的对象,就算是出现了OOM也不会回收对象。 强引用是最常见的普通对象引用,只要还有强引用指向对象,对象就存活,垃圾回收器不会处理存活对象。一般把一个对象赋给一个引用变量,这个引用变量就是强引用。当一个对象被强引用变量 阅读全文
posted @ 2020-06-01 13:21 xd会飞的猫 阅读(1049) 评论(3) 推荐(3) 编辑
摘要: 如何理解GCRoots? 为了解决引用计数法的循环引用问题,Java使用了可达性分析的方法。GC Roots是一组活跃的引用,通过一系列名为GC Roots的对象作为起始点,沿着该对象向下搜索,如果一个对象到GC Roots没有任何引用链相连,则说明对象不可用。 哪些可以作为GC Roots的对象? 阅读全文
posted @ 2020-06-01 11:38 xd会飞的猫 阅读(258) 评论(0) 推荐(0) 编辑
摘要: CAS和AtomicInteger AtomicInteger用来保证自增原子性,它的实现是基于CAS(比较和交换)的。 CAS(CompareAndSwap):判断内存某个位置的值是否与预期值一致,如果是则更改为新值,这个过程是原子的。不会造成数据不一致的问题。 compareAndSet(exc 阅读全文
posted @ 2020-05-31 15:07 xd会飞的猫 阅读(363) 评论(0) 推荐(0) 编辑