记一次 JDK 底层 TLS 锁竞争性能问题
herman 1年前 (2024-04-20) 1175浏览
这个标题原本有些长,“Thread.State: BLOCKED (on object monitor) at java.security.Provider.getService(Provider.java:680)”。我嫌它不利于搜索,所以给它改...
herman 1年前 (2024-04-20) 1175浏览
这个标题原本有些长,“Thread.State: BLOCKED (on object monitor) at java.security.Provider.getService(Provider.java:680)”。我嫌它不利于搜索,所以给它改...
herman 4年前 (2021-08-17) 2244浏览
你好,我是业余草,这是我的第 445 篇原创文章。 这篇文章,我想了很久,没想到好名字。所以就随便起了一个,和群友保持一致! 这两天看到群里有人阅读到网上的文章,在群里问:“invokestatic 性能比 invokevirtual ...
herman 5年前 (2020-10-20) 2915浏览
面试高级工程师,或者薪资 15K 以上时,你很可能会遇到被面试官问到各种各样的 JVM 知识点。最近我在面试候选人的时候,问到“JVM垃圾回收器为什么必须要停顿下?”几乎没人能回答出来。所以,今天我们就一起来写篇文章,聊一聊这个知识点。 在垃...
herman 5年前 (2020-03-27) 2729浏览
问:请教一个问题,在局域网内对一台灰度机器进行压测,如果带宽被打满后,压测的效果也就到瓶颈了,那么问题来了,怎么判断这台灰度机器的带宽是否被打满? 我:有几个工具都可以看 iftop(神器)、dstat、sar 都可以看。 我们常说的网...
herman 5年前 (2020-03-19) 3824浏览
前两天,我闲着无事,在群里发了一个关于高并发的面试题,今天我来说一说这套面试题的第一小题的第一部分! 1、请描述synchrnoized和reentrantlock的底层实现及重入的底层原理 2、请描述锁的四种状态和升级过程 3、...
herman 5年前 (2020-03-05) 2126浏览
Java 是一门语言,JVM 是一个生态! 当下,有越来越多的语言选择 JVM 作为虚拟机。比如我们熟知的:Scala、Kotlin、Ceylon、Xtend、Groovy、Clojure、Fantom等。但是在这众多语言中,使用 Jav...
herman 5年前 (2020-01-18) 2427浏览
昨天在群里闲聊技术,提到了反编译和指令码。对于反编译和 JVM 的几个指令我解释了它们的各自所包含的意义。有人就问我,我是如何记住的。其实我也没记住这些指令,只不过,我总结了一个 JVM 常用指令速查手册,今天分享给大家! JVM 基本指令 ...
herman 5年前 (2020-01-16) 4282浏览
赶到年末,尚硅谷又出视频了,放假可以安排起来了! 我在第一时间获得了这套视频教程,现在免费分享给大家! 你,曾经被JVM伤害过吗? 线上系统突然卡死,无法访问甚至直接OOM!想解决线上JVM GC问题,却无从下手……新项目上线,对...
herman 6年前 (2019-05-20) 3723浏览
任何一个项目或者语言都需要提供一些不同场景下的支持。支持的可选项多了,在面对不同的业务场景时,就需要调优。 所谓调优,就是调整到最佳的状态。常见的有 Java 调优,MySQL 调优,Go 调优,JVM 调优等。今天极客时间又上线了一门新课程...
herman 6年前 (2019-04-03) 2878浏览
在 JDK1.7 之前,CMS 垃圾收集器是主流的选择。但自从 JDK 6u14 体验版本面世,到 JDK 7u4 版本发行,G1 垃圾收集器逐渐成了主流。 目前的 JDK8 以后的版本,G1 已经相对稳定,且基本上已经取代了 CMS。 ...
herman 6年前 (2019-04-03) 2308浏览
也许很多人都听说过“免费的才是最贵的”这句话,这在 Java 8 上已经开始有所体现。 在 2018 年,我就写过 《重磅!使用了23年的Java不再免费!》 。当时很多人可能会说关我屁事,我们用 OpenJDK 不就行了之类的。但是其实用 ...
herman 6年前 (2019-04-02) 2233浏览
人的一生中可能会遭遇到无数次打击。而今天我就给大家介绍一个你可能忽略的知识点:System.gc,给你专门来一次降维打击。降低到某个细微的知识点,让你被打击的体无完肤。 面试被打击 面试题一:在 Java 中,如何手动的让 GC 进行垃...
herman 6年前 (2019-04-02) 2066浏览
Unsafe 这个类是你用就觉得好用的类。今天我借助它,边介绍它的使用场景便给大家讲实现。 Unsafe 的8大主要功能 使用场景一:Unsafe 可以用在避免类初始化的场景。也就是不需要执行类构造函数的场景,跳过对象初始化阶段,或绕过...
herman 6年前 (2019-04-01) 2702浏览
Java 语言的一大特点就是跨平台,并且提供的有一套完美的内存管理机制。但这都是 JVM 提供的,如果我们想要直接访问系统内存资源、自主管理内存资源等就无法实现。于是 Java 又提供了一个魔法类:Unsafe。 Unsafe 类位于 su...
herman 6年前 (2019-03-30) 4249浏览
去年我面试了一些程序员,等级从低到高都有。但是没有一个人能够说明白什么是堆外内存! 今天我们就一起来简单的说一说 Java 中的堆外内存。这一块可能 90% 的 Java 程序员都不清楚,希望你看过本文后,成为那 10% 中的大神级别的潜力...