Skill comes from practice
JVM调优 JVM调优
JVM调优Jmap 查看内存信息,实例个数及内存占用大小jmap -histo 13441 > ./jamp.txt(线程 jps可查看) 查看堆信息jmap -heap 13441 导出堆内存dump文件,记录当时堆里的对
2023-04-24
Java集合 Java集合
Java集合Collectionpublic interface Collection extends Iterable AbstractCollectionpublic abstract class AbstractCollection
2023-04-20
Java并发 Java并发
Java并发CPU现代CPU为了提升执行效率,为了减少CPU与内存交互,在CPU上做了多级缓存,一般是三级缓存 一级缓存:数据缓存和指令缓存,逻辑核独占 二级缓存:物理核独占,一个物理核心一个L1和L2,逻辑核共享 三级缓存:所有物理核共
2023-04-15
JVM底层 JVM底层
JVM底层类加载机制Java有以下加载器 引导类加载器:加载JRE核心类库,如rt.jar charsets.jar 扩展类加载器:加载JRE中ext扩展目录下的jar包(父加载器是引导类加载器,但是它是C++写的,所以是null) 应用
2023-04-11
动态代理 动态代理
动态代理代理Java有两种代理方式,一种是静态代理,另一种是动态代理。对于静态代理,其实就是通过依赖注入,对对象进行封装,不让外部知道实现的细节。很多 API 就是通过这种形式来封装的代理模式给某一个(目标)对象提供一个代理对象,并由代理对
2022-06-28
Java相关 Java相关
Java相关垃圾回收引用计数法一个对象如果没有任何与之关联的引用,即他们的引用计数都不为 0,则说明对象不太可能再被用到,那么这个对象就是可回收对象 可达性分析通过一系列的“GC roots”对象作为起点搜索。如果在“GC roots”和一
2022-06-22
Java编码规范 Java编码规范
Java编码规范命名 类名使用 UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID 等 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
2022-02-18
Java-线程池 Java-线程池
线程池java.uitl.concurrent.ThreadPoolExecutor 类ThreadPoolExecutor类中提供了四个构造方法: public class ThreadPoolExecutor extends Abstr
2021-12-01
Java-线程 Java-线程
Java线程concurrent包的实现 由于Java的CAS同时具有 volatile 读和volatile写的内存语义,因此Java线程之间的通信现在有了下⾯四种⽅式: A线程写volatile变量,随后B线程读这个volatile变
2021-11-14
1 / 2