JAVA--JVM
文章平均质量分 86
JAVA--JVM
如我般骄傲
学习
展开
-
JVM性能调优-03|如何优化垃圾回收机制?
三、如何优化垃圾回收机制?一.垃圾回收机制在 Java 开发中,开发人员是无需过度关注对象的回收与释放的,JVM 的垃圾回收机制可以减轻不少工作量。但完全交由 JVM 回收对象,也会增加回收性能的不确定性。在一些特殊的业务场景下,不合适的垃圾回收算法以及策略,都有可能导致系统性能下降。面对不同的业务场景,垃圾回收的调优策略也不一样。例如,在对内存要求苛刻的情况下,需要提高对象的回收效率;在 CPU 使用率高的情况下,需要降低高并发时垃圾回收的频率。1、回收发生在哪里?2、对象在什么时候可以被回收?原创 2021-11-09 18:35:01 · 789 阅读 · 0 评论 -
JVM性能调优-02|深入JVM即时编译器JIT,优化Java编译
二、深入JVM即时编译器JIT,优化Java编译一.类编译加载执行过程1、类编译反编译来看看一个 class 文件结构中主要包含了的信息:2、类加载当一个类被创建实例或者被其它对象引用时,虚拟机在没有加载过该类的情况下,会通过类加载器将字节码文件加载到内存中。不同的实现类由不同的类加载器加载,JDK 中的本地方法类一般由根加载器(Bootstrp loader)加载进来,JDK 中内部实现的扩展类一般由扩展加载器(ExtClassLoader )实现加载,而程序中的类文件则由系统加载器(App原创 2021-11-09 14:58:29 · 1284 阅读 · 1 评论 -
Java编程性能调优-01|字符串性能优化不容小觑,百M内存轻松存储几十G数据
一、字符串性能优化不容小觑,百M内存轻松存储几十G数据一.String 对象是如何实现的?String str1= "abc";String str2= new String("abc");String str3= str2.intern();assertSame(str1==str2);assertSame(str2==str3);assertSame(str1==str3)1、String str1 = "abc";通过字面量的方式创建,abc存储于字符串常量池中;2、String原创 2021-11-02 10:07:07 · 378 阅读 · 0 评论 -
JVM性能调优-01|磨刀不误砍柴工:欲知JVM调优先了解JVM内存模型(JDK8+HotSpot)
一、概述JVM 整体组成可分为以下四个部分:运行时数据区为最主要部分类加载器(ClassLoader)运行时数据区(Runtime Data Area)执行引擎(Execution Engine)本地库接口(Native Interface)二、类加载器三、运行时数据区(Runtime Data Area)一.方法区(Method Area)二.堆空间(Java Heap)三.栈空间(Java Virtual Machine Stacks Area)四.PC寄存器(Progra原创 2021-11-03 11:31:34 · 286 阅读 · 0 评论 -
Java性能调优学习
一、编程性能调优一.字符串性能优化不容小觑,百M内存轻松存储几十G数据二.慎重使用正则表达式三.ArrayList还是LinkedList?使用不当性能差千倍四.Stream如何提高遍历集合效率?五.深入浅出HashMap的设计与优化六.网络通信优化之I/O模型:如何解决高并发下I/O瓶颈?七.网络通信优化之序列化:避免使用Java序列化八.网络通信优化之通信协议:如何优化RPC网络通信?九.深入了解NIO的优化实现原理二、多线程性能调优一.二.三.四.五.三、JVM性能调优原创 2021-11-01 16:13:48 · 264 阅读 · 0 评论 -
深入拆解Java虚拟机-01 |Java虚拟机基本原理 (上)
一、Java代码是怎么运行的?一.Java 和 C++ 在运行方式上的区别C++会直接被编译为机器码,可以被CPU所理解。Java 代码有很多种不同的运行方式,比如说可以在开发工具中运行,可以双击执行 jar 文件运行,也可以在命令行中运行,甚至可以在网页中运行。当然,这些执行方式都离不开 JRE,也就是 Java 运行时环境。JRE 仅包含运行 Java 程序的必需组件,包括 Java 虚拟机以及 Java 核心类库等。我们 Java 程序员经常接触到的 JDK(Java 开发工具包)同样包含了原创 2021-10-26 16:06:00 · 152 阅读 · 0 评论