JVM
文章平均质量分 86
JVM相关,以及BIO、NIO、AIO,在socket中的应用
BigBug_500
Talk is cheap.Show me the code.
EmailMeAt:[email protected]
展开
-
Java Memory Model
简单来说就是系统在执行代码的时候并不一定是按照你写的代码的顺序依次执行。原创 2023-04-30 11:57:45 · 1215 阅读 · 0 评论 -
JVM系列:附、常用 JVM 参数含义与实际应用配置
在前几篇的 JVM系列 中,我们已经具备了 JVM 相关的基础知识,现在我们需要将学到的知识,在实际场景中运用起来,通过配置相关的原创 2020-12-06 17:10:17 · 2028 阅读 · 0 评论 -
JVM系列:三、JVM 优化与问题排查思路
常用命令jpsjps -lvjmapjmap 命令用于生产堆转存快照。命令格式:jmap [ option ] pidjmap [ option ] executable corejmap [ option ] [server-id@]remote-hostname-or-IP参数选项:-dump:[live,]format=b,file=<filename> 使用 hprof 二进制形式,输出 jvm 的 heap 内容到文件. live子选项是可选的,假如指定 live原创 2020-08-15 18:45:04 · 1831 阅读 · 0 评论 -
JVM系列:二、不同 GC 的演变与差异
垃圾回收 目前垃圾收集器基本都是采用分代收集的方法,其思想是,针对堆中不同存活周期、不同内存大小的对象采取不同的垃圾回收策略。堆(Heap)中新生代、老年代的划分与垃圾回收算法常见的 垃圾回收算法 如下:引用计数(无法解决循环引用的问题,故 JVM 中没有使用)复制(会对类进行反复复制,带来资源的消耗)标记清除(Mark-Sweep,被标记的清除对象清除后,会带来内存碎片,导致内...原创 2020-11-28 14:42:20 · 1321 阅读 · 1 评论 -
JVM系列:一、JVM内存分区及作用(JDK8)
JVM内存分区及作用:JDK 7之前的方法区 / 永久代(Method Area):在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。该区域是被线程共享的。方法区里有一个运行时常量池,用于存放静态编译产生的字面量和符号引用。该常量池具有动态性,...原创 2020-03-08 16:28:06 · 3289 阅读 · 3 评论 -
Java 类的生命周期、ClassLoader的应用和演变(KeyWord:SpringBootClassLoader、委派模型)
类加载器:双亲委派模型下的类加载机制:JVM启动的时候,Java 开始使用如下三种类加载器:1. 根类加载器 Bootstrap负责装载最核心的Java类,比如Object、System、 String等,用 C++ 来实现的,不存在于 JVM 中。2. 扩展类加载器 Extension ClassLoader,JDK 9 及以后更换为Platform ClassLoader负责加载一些扩展的系统类,比如XML、加密、压缩相关的功能类等;3.系统类加载器 Application Clas原创 2021-03-15 23:25:46 · 1050 阅读 · 0 评论