朝花夕誓
JavaAgent探针 JavaAgent探针
一、介绍Agent中文含义代理,但是在java中我跟喜欢称它为探针而非代理,尽管他也属于代理技术,但是代理本身并不能体现agent的作用。 agent技术是在JDK1.5引入的,通过agent技术,我们可以构建一个独立于应用程序的代理程序,
2023-07-31
线上诊断工具Arthas 线上诊断工具Arthas
一、介绍Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题
2022-12-03
并发-AQS 并发-AQS
一、介绍AQS 是多线程同步器,它是 J.U.C 包中多个组件的底层实现,如Lock、CountDownLatch、Semaphore 等都用到了 AQS。 从本质上来说,AQS 提供了两种锁机制,分别是排它锁 和 共享锁。 排它锁,就是存
2022-09-04
多线程高级JUC(2) 多线程高级JUC(2)
一、锁1、悲观锁synchronized (this){ // 业务代码 } 或 // 需要保证多线程使用同一个ReentrantLock ReentrantLock lock = new ReentrantLock(); loc
2022-07-04
JVM参数 JVM参数
一、参数分类java启动参数共分为三类; 标准参数(-),所有的 JVM 实现都必须实现这些参数的功能,而且向后兼容;如 -version、-help 非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且
2022-04-27
ThreadLocal ThreadLocal
一、简介  多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。ThreadLocal是除了加锁这种同步方式之外的
2021-10-28
JVM-类加载 JVM-类加载
JVM加载类的原理和机制Java 语言是一种具有动态性的解释型语言,类(Class)只有被加载到JVM 后才能运行。当运行指定程序时,JVM 会将编译生成的.class文件按照需求和一定的规则加载到内存中,并组织成为一个完整的Java 应用
2021-10-20
JVM-内存结构与垃圾回收 JVM-内存结构与垃圾回收
一、JVM简介Java Virtual Machine,JAVA程序的运行环境(JAVA二进制字节码的运行环境)。本文以HotSpot 为例。 用途 一次编写,到处运行 自动内存管理,垃圾回收机制 数组下标越界检查 JVM JR
2021-10-10
JVM调试命令 JVM调试命令
查看java进程 jpsjps(Java Virtual Machine Process Status Tool)类似 Linux 下的 ps,用于快速查看哪些 Java 应用正在运行,以及它们的进程 ID,这对于进一步使用其他 JVM 工
2021-10-10
多线程高级JUC 多线程高级JUC
0、只要是并发编程,一定要加锁一、概念 1、什么是JUC 在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程
2021-04-12