51工具盒子

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

经验分享

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

面试官:我问的是Java内存模型,你回答堆栈方法区干嘛?

面试官:我问的是Java内存模型,你回答堆栈方法区干嘛?

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

[#](#一-概述) (一)概述 {#一-概述} ------------------------ 很多人会把Java内存区域(运行时数据区)和Java内存模型(JMM)搞混,这两者是完全不一样的东西。 Java内存区域是指JVM运行时数据分区域存储,而Java内存模型是定义了线程和主内存之间的抽象关系,了解Java内存模型是学好Java并发编程的基础。 [#](#二-j...

指令重排序、内存屏障很难?看完这篇你就懂了!

指令重排序、内存屏障很难?看完这篇你就懂了!

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

面试官在问到多线程编程的时候,指令重排序、内存屏障经常会被提起。如果你对这两者有一定的理解,那这就是你的加分项。 [#](#一-什么是指令重排序) (一)什么是指令重排序 {#一-什么是指令重排序} ------------------------------------------ 为了使处理器内部的运算单元能尽量被充分利用,处理器可能会对输入的代码进行乱序执行优化,处理...

Volatile只会用不知道原理?一篇文章带你深究volatile

Volatile只会用不知道原理?一篇文章带你深究volatile

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

[#](#一-概述) (一)概述 {#一-概述} ------------------------ 要了解并发编程,首先就需要了解并发编程的三大特性:**可见性、原子性和有序性。** 我们今天要讲的volatile保证了**可见性和有序性** ,但是**不保证原子性**。接下来会通过几段代码和几张图来强化对volatile的了解。 [#](#二-volatile保证可见性)...

面试被问AQS、ReentrantLock答不出来?这些知识点让我和面试官聊了半小时!

面试被问AQS、ReentrantLock答不出来?这些知识点让我和面试官聊了半小时!

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

并发编程算是Java的一个难点,经常做业务相关的程序员基本上用不到juc的包,但是这些知识点十分重要,所以不管在哪里,时刻保持学习真的很重要。 [#](#一-aqs概述) (一)AQS概述 {#一-aqs概述} --------------------------------- Java并发编程的核心在于java.concurrent.util包,juc中大多数同步器的实现...

有关synchronized锁的知识点,我用一篇文章总结了

有关synchronized锁的知识点,我用一篇文章总结了

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

关于Java多线程锁的升级原理,这篇文章会让你另有收获 ### [#](#_2-1-java对象内存布局) 2.1 Java对象内存布局 {#_2-1-java对象内存布局} 在了解锁升级原理之前我们首先要了解一下Java对象在内存中的布局 ![](http://static.51tbox.com/static/2024-10-27/col/3f875ab5c22667b...