51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

开发笔记

JVM的内存分代,这篇文章帮你理一理

JVM的内存分代,这篇文章帮你理一理

厉飞雨 阅读(22) 评论(0) 赞(3)

[#](#一-jvm分代) (一)JVM分代 {#一-jvm分代} --------------------------------- 堆内存是JAVA虚拟机所管理的内存最大的一块,Java堆被所有线程共享,几乎所有的对象实例都是在堆中分配内存,因此Java的堆是垃圾回收的主要区域。 JVM的内存分代讲的就是堆内存的分代,为了更加高效的回收垃圾,将内存划分为了多个gener...

JVM垃圾回收机制是怎样的,何时触发YoungGC或FullGC操作,一文搞定

JVM垃圾回收机制是怎样的,何时触发YoungGC或FullGC操作,一文搞定

厉飞雨 阅读(26) 评论(0) 赞(5)

[#](#一-关于垃圾回收) (一)关于垃圾回收 {#一-关于垃圾回收} ------------------------------------ JAVA的垃圾回收需要完成三件事情: 1、哪些内存需要回收 2、什么时候回收 3、如何回收 下面就从这三个问题出发去了解Java的垃圾回收机制。 [#](#二-哪些垃圾需要回收) (二)哪些垃圾需要回收 {#二-哪些垃圾...

用几张图深度剖析Java运行时数据区

用几张图深度剖析Java运行时数据区

厉飞雨 阅读(21) 评论(0) 赞(2)

[#](#一-基础概念介绍) (一)基础概念介绍 {#一-基础概念介绍} ------------------------------------ 首先看一张图:下图是Java虚拟机运行时数据区,JVM的内存模型可以分为方法区、虚拟机栈、本地方法栈、堆和程序计数器。 ![](http://static.51tbox.com/static/2024-10-27/col/d55...

关于垃圾收集器你了解多少?一文总结七大垃圾收集器

关于垃圾收集器你了解多少?一文总结七大垃圾收集器

厉飞雨 阅读(39) 评论(0) 赞(2)

[#](#一-概述) (一)概述 {#一-概述} ------------------------ 如果说垃圾收集算法是内存回收的理论,那么垃圾收集器就是内存回收的具体实现。 垃圾收集器目前存在的有很多,但是依旧没有哪个收集器是万能的存在,我们只能选择一个最适合应用的收集器。 下面会介绍目前主流Java虚拟机中所采用的七种垃圾收集器: Serial、parNew、Para...

图解类加载器和双亲委派机制,一看就懂

图解类加载器和双亲委派机制,一看就懂

厉飞雨 阅读(29) 评论(0) 赞(2)

[#](#一-概述) (一)概述 {#一-概述} ------------------------ 我们都知道Java代码会被编译成class文件,在class文件中描述了该类的各种信息,class类最终需要被加载到虚拟机中才能运行和使用。 虚拟机把Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成虚拟机可以直接使用的Java类型,这就是虚拟机的类加载机...

深入浅出CMS垃圾收集器

深入浅出CMS垃圾收集器

厉飞雨 阅读(38) 评论(0) 赞(3)

[#](#一-cms垃圾收集器) (一)CMS垃圾收集器 {#一-cms垃圾收集器} ------------------------------------------ CMS(Concurrent Mark Sweep)收集器是一种以获取**最短回收停顿时间**为目标的老年代收集器。CMS是基于标记-清除算法的老年代垃圾回收器,CMS是目前应用最广泛的老年代垃圾回收器。 ...

关于JVM调优,我理了一些工具和思路出来

关于JVM调优,我理了一些工具和思路出来

厉飞雨 阅读(30) 评论(0) 赞(4)

[#](#前言) 前言 {#前言} ----------------- JVM调优是争取高薪必须要掌握的一项技能,但是许多程序员在工作中很少遇到去JVM调优的情况,在这篇文章中,我整理了一些调优工具以及调优的思路,希望对大家有所帮助。 [#](#一-调优工具) (一)调优工具 {#一-调优工具} ------------------------------ ### [#]...

两张图让你快速读懂JVM字节码指令

两张图让你快速读懂JVM字节码指令

厉飞雨 阅读(20) 评论(0) 赞(3)

[#](#一-概述) (一)概述 {#一-概述} ------------------------ 很多人可能会觉得JVM字节码很神秘,我们写的一行行代码放到底层竟然可以用一串16进制的数字保存。再到计算机底层竟然可以用0和1执行如何复杂的代码。JVM的设计确实十分巧妙,但对我们几乎所有开发者来说,这些底层的内容我们已经不需要再去掌握了,因此今天我们不去讲JVM字节码究竟是怎...

从JVM角度思考--如何预估线上环境机器资源大小

从JVM角度思考--如何预估线上环境机器资源大小

厉飞雨 阅读(18) 评论(0) 赞(3)

[#](#一-概述) (一)概述 {#一-概述} ------------------------ 如何给JVM虚拟机巧妙地设计参数对大部分开发来说一直是个随缘的事情,可能是去网上拷贝一套参数,可能是沿用公司其他应用的参数。但是这个随缘的操作可能就会给未来留下隐患。给JVM分配的内存过大倒是没什么问题,无非浪费点资源,但是如果分配的内存过小,就有可能导致频繁的Full GC,...

产品经理问我:手动创建线程不香吗,为什么非要用线程池呢?

产品经理问我:手动创建线程不香吗,为什么非要用线程池呢?

厉飞雨 阅读(27) 评论(0) 赞(2)

每次写线程池的文章时,总会想起自己大三第一次面试就是挂在这上面,当时年少轻狂,连SpringBoot是什么都不知道就敢面阿里,真是初生牛犊不怕虎。 [#](#一-什么是线程池) (一)什么是线程池 {#一-什么是线程池} ------------------------------------ **线程**(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程...