随笔 - 388
文章 - 1
评论 - 31
阅读 -
94万
07 2021 档案
关键系统的JVM参数推荐
摘要:1. 性能篇 1.1 建议的性能参数 1. 取消偏向锁: -XX:-UseBiasedLocking JDK1.6开始默认打开的偏向锁,会尝试把锁赋给第一个访问它的线程,取消同步块上的synchronized原语。如果始终只有一条线程在访问它,就成功略过同步操作以获得性能提升。 但一旦有第二条线程访
阅读全文
HotSpot虚拟机的分层编译(Tiered Compilation)
摘要:一、基本概念名词用于 HotSpot 虚拟机中。 提前编译(Ahead Of Time,AOT)即时编译(Just In TIme,JIT)解释器(Interpreter)编译器(Compiler)客户端编译器(Client Compiler,C1)服务端编译器(Server Compiler,C2
阅读全文
Jvm 性能分析工具-JMC+JFR 小记
摘要:开启 JFR 收集: 由于JFR是商用的,所以需要解锁Java程序的商业feature: -XX:+UnlockCommercialFeatures -XX:+FlightRecorder --JDK 1.8u40之前版本,需再jvm启动前添加参数 # JDK 1.8u40之后版本,不需要在启动的时
阅读全文
JMH: 最装逼,最牛逼的基准测试工具套件
摘要:JMH简介 官网:http://openjdk.java.net/projects/code-tools/jmh/ 简介:JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchma
阅读全文
自带火焰图的Java性能分析工具Async-profiler
摘要:如果你经常遇到 Java 线上性能问题束手无策,看着线上服务 CPU 飙升一筹莫展,发现内存不断泄露满脸茫然。别慌,这里有一款低开销、自带火焰图、让你大呼好用的 Java 性能分析工具 - async-profiler。 最近 Arthas 性能分析工具上线了火焰图分析功能,Arthas 使用 as
阅读全文
JVM 解析器和JIT即时编译器 热点检测 JIT编译器优化 逃逸分析
摘要:解析器和JIT即时编译器在部分商用虚拟机中(如HotSpot),Java程序初是通过解释器(Interpreter)进行解释执行的,当 虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”。为了提高热点代 码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器
阅读全文
静态代码块,静态方法,构造方法的执行顺序,字符串池
摘要:一、Java初始化顺序类变量(静态变量)、实例变量(非静态变量)、静态代码块、非静态代码块 的初始化时机由 static 关键字修饰的(如:类变量[静态变量]、静态代码块)将在类被初始化创建实例对象之前被初始化,而且是按顺序从上到下依次被执行; 没有 static 关键字修饰的(如:实例变量[非静态
阅读全文
BFS——广度优先算法(Breadth First Search)
摘要:1、前言这几天刷leetcode经常碰到DFS BFS的问题,之前一直也是模棱两可,凭着感觉做,是需要总结一下了。 广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略。因为它的思想是从一个顶点V0V0开始,辐射状地优先遍历其周围较广的区域,因此得名。 一般可以用它
阅读全文
SwingUtilities详解
摘要:Swing多线程编码过程中的误区 很多学JAVA程序员都是从Swing开始的,但很多人对AWT GUI线程的机制并没有太深的了解,或者说一直都只了解线程的概念,而不了解AWT对线程的使用。我发现很多人碰到线程阻塞的问题,就通过调用SwingUtilities.invokeLater()来解决。 其实
阅读全文
IntelliJ IDEA编写插件深入(2):自动创建代码
摘要:https://www.jianshu.com/p/360a1cf75a17 IntelliJ IDEA编写插件入门(1):自动创建代码:https://www.jianshu.com/p/b0c7218678d8 最下面放源码地址,源码只适合学习,因为每个人的框架都是不一样的,我的这个生成代码也只
阅读全文