
Java架构师(三)JVM性能优化
文章平均质量分 85
Java架构师之路:JVM性能优化专题
无休止符
不要让任何事情,成为你不去学习的理由!!!
展开
-
八、类加载器与热部署
目录一、类加载简介1、类加载机制2、连接过程3、初始化二、静态代码块初始化三、 一、类加载简介 每个编写的”.java”拓展名类文件都存储着需要执行的程序逻辑,这些”.java”文件经过Java编译器编译成拓展名为”.class”的文件,”.class”文件中保存着Java代码经转换后的虚拟机指令 当需要使用某个类时,虚拟机将会加载它的”.class”文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程称为类加载 1、类加载机制 将class文件字节码内容加载到内存中,并将原创 2022-03-16 16:12:54 · 1695 阅读 · 0 评论 -
七、动态字节码技术
目录一、字节码技术1、字节码技术概念2、字节码计数应用场景3、实现字节码增强的主要步骤二、字节码操作类库三、Javassist1、Javassist优势2、Javassist的局限性3、POM依赖4、使用javassist创建class文件5、测试方法6、Java Decompiler反编译生成的.class文件 一、字节码技术 1、字节码技术概念 Java字节码增强指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修改。Java字节码增强主要是为了减少冗余原创 2022-03-15 21:53:39 · 1040 阅读 · 0 评论 -
六、JConsole性能分析
目录一、JConsole简介二、JConsole使用1、命令行启动2、GUI shell启动三、监测死锁程序1、死锁代码2、分析死锁程序 一、JConsole简介 从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码 二、JConsole使用 1、命令行启动 要求:需要配置原创 2022-03-15 14:55:07 · 1367 阅读 · 0 评论 -
五、JMeter压力测试
.一、Jmeter压力测试 一、Jmeter压力测试 1、添加"线程组" 线程数与循环次数:根据需求设置 这里测试线程数1,循环次数10000 2、为线程组添加“HTTP请求”原创 2022-03-14 18:45:45 · 1108 阅读 · 0 评论 -
四、垃圾收集器
.一、串行与并行收集器二、serial收集器三、ParNew收集器四、parallel 收集器五、cms收集器六、g1收集器 一、串行与并行收集器 串行回收: JDK1.5前的默认算法 缺点是只有一个线程,执行垃圾回收时程序停止的时间比较长 并行回收: 多个线程执行垃圾回收适合于吞吐量的系统,回收时系统会停止运行 二、serial收集器 串行收集器是最古老,最稳定以及效率高的收集器,可能会产生较长的停顿,只使用一个线程去回收 新生代、老年代使用串行回收;新生代复制算法、老年代标记-压缩;垃圾收集的过程原创 2022-03-12 20:52:18 · 80 阅读 · 0 评论 -
三、内存溢出
.一、Java堆溢出二、栈溢出三、内存溢出与内存泄漏区别 一、Java堆溢出 垃圾回收机制基本原则:内存不足的时候回去回收,内存如果足够,暂时不会区回收 错误原因: java.lang.OutOfMemoryError: Java heap space 堆内存溢出 日志中还出现了:[Full GC (Allocation Failure) ... -> 进行全部回收(包括新生代和老年代) 如果想不溢出,-Xmx10m修改为-Xmx100m public static void main原创 2022-03-12 18:10:08 · 544 阅读 · 0 评论 -
二、JVM参数配置
.一、常见参数配置二、堆内存大小配置三、设置新生代比例参数四、设置新生代与老年代比例参数 一、常见参数配置 -XX:+PrintGC:每次触发GC的时候打印相关日志 -XX:+UseSerialGC:串行回收 -XX:+PrintGCDetails:更详细的GC日志 -Xms:堆初始值 -Xmx:堆最大可用值 -Xmn:新生代堆最大可用值 -XX:SurvivorRatio:用来设置新生代中eden空间和from/to空间的比例. -XX:NewRatio:配置新生代与老年代占比 1:2 -XX:Surv原创 2022-03-12 17:23:54 · 214 阅读 · 0 评论 -
一、垃圾回收机制
.一、Java内存结构1、Java堆(Java Heap)2、Java虚拟机栈(Java Virtual Machine Stacks)3、本地方法栈(Native Method Stack)4、方法区(Method Area)5、执行引擎二、垃圾回收机制1、概念2、不可达对象3、finalize方法 一、Java内存结构 1、Java堆(Java Heap) java堆是java虚拟机所管理的内存中最大的一块,是被所有线程共享的一块内存区域,在虚拟机启动时创建。 此内存区域的唯一目的就是存放对象实例,原创 2022-03-12 14:51:28 · 2011 阅读 · 0 评论