摘要: 一、前言 上一篇最后讲到了AbstractExecutorService,这一篇接着说ThreadPoolExecutor。 二、ThreadPoolExecutor ThreadPoolExecutor这个类中实现了一系列java线程池管理最核心的方法,再来回顾一下他的属性及使用方法。 1、属性 阅读全文
posted @ 2021-09-16 14:11 上官兰夏 阅读(123) 评论(0) 推荐(0)
摘要: 一、线程的生命周期 线程的生命周期包含5个阶段,包括:新建、就绪、运行、阻塞、销毁。 新建:就是刚使用new方法,new出来的线程; 就绪:就是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资源,谁开始执行; 运行:当就绪的线程被调度并获得CPU资源时,便进入 阅读全文
posted @ 2021-09-15 15:12 上官兰夏 阅读(105) 评论(0) 推荐(0)
摘要: 一、定义 很多人分不清【java 内存结构】与【java 内存模型】,【java 内存结构】指的是jvm的内存分区,例如:堆、程序计数器、虚拟机栈等这些,【java 内存模型】是 Java Memory Model(JMM)的意思。简单的说,JMM 定义了一套在多线程读写共享数据时(成员变量、数组) 阅读全文
posted @ 2021-09-14 13:41 上官兰夏 阅读(77) 评论(0) 推荐(0)
摘要: 一、类的生命周期 类被加载到jvm虚拟机内存开始,到卸载出内存为止,他的生命周期可以分为:加载->验证->准备->解析->初始化->使用->卸载。 其中验证、准备、解析统一称为链接阶段 1、加载 将类的字节码载入方法区中,内部采用 C++ 的 instanceKlass 描述 java 类,它的重要 阅读全文
posted @ 2021-09-13 17:59 上官兰夏 阅读(159) 评论(0) 推荐(0)
摘要: 一、垃圾回收判断 引用计数法:每次引用+1,解引用-1,引用为0可被回收,解决不了循环引用问题,会造成内存泄漏 可达性分析算法:被根对象直接或间接引用的对象都不能回收 Q:那些对象可以作为GC Root? Memory Analyzer工具可以作为堆内存分析工具,可以找到作为GC Root的对象 抓 阅读全文
posted @ 2021-09-10 14:53 上官兰夏 阅读(100) 评论(0) 推荐(0)
摘要: 1.查看CPU占用率高的进程 top命令查看进程信息 ps -eo pid,pcpu | sort -n -k pid 2.确定高cpu消耗的线程 top -H ps H -eo pid,tid,pcpu | sort -n -k 3 3.查看进程的线程 pstree -p pid 查看线程的相信信 阅读全文
posted @ 2021-09-10 14:45 上官兰夏 阅读(260) 评论(0) 推荐(0)
摘要: 常用参数 -XX:+PrintGCDetails:打印gc日志详细信息 -XX:+PrintGCTimeStamps:打印gc发生时相对jvm启动的时间戳,(后来加入了PrintGCDateStamps,打印gc发生的日期) -Xloggc:设置gc日志的生成位置 -Xms4096M:堆容量初始值 阅读全文
posted @ 2021-09-10 14:45 上官兰夏 阅读(70) 评论(0) 推荐(0)
摘要: JVM内存结构 一、程序计数器 线程私有(指令最终由cpu执行,所以必须线程私有),记录了下一条指令的地址,不会出现内存溢出 二、虚拟机栈 线程运行时需要的一个内存空间,Java虚拟机栈和线程是同时创建的,用于存储栈帧。每个方法在执行时都会创建一个栈帧(Stack Frame),用于存储局部变量表、 阅读全文
posted @ 2021-09-10 14:44 上官兰夏 阅读(80) 评论(0) 推荐(0)
摘要: ArrayList和Vector使用了数组的实现,可以认为ArrayList或者Vector封装了对内部数组的操作,比如向数组中添加,删除,插入新的元素或者数据的扩展和重定向。 LinkedList使用了循环双向链表数据结构。与基于数组ArrayList相比,这是两种截然不同的实现技术,这也决定了它 阅读全文
posted @ 2021-09-09 22:50 上官兰夏 阅读(129) 评论(0) 推荐(0)
摘要: 一、简介 java8开始,ConcurrentHashMap摒弃了原有的Segment + HashEntry + Unsafe的实现,采用了Synchronized + CAS + Node + Unsafe的实现,使得性能进一步的提高。 二、源码剖析 1、put操作 public V put(K 阅读全文
posted @ 2021-08-30 15:45 上官兰夏 阅读(81) 评论(0) 推荐(0)