Java Reference核心原理分析
带着问题,看源码针对性会更强一点、印象会更深刻、并且效果也会更好。所以我先卖个关子,提两个问题(没准下次跳槽时就被问到)。 - 我们可以用ByteBuffer的allocateDirect方法,申请一
AsyncGetCallTrace 源码深度剖析
前言 AsyncGetCallTrace 是由 OracleJDK/OpenJDK 内部提供的一个函数,该函数可以在 JVM 未进入 safepoint 时正常获取到当前线程的调用栈(换句话说,使用
不起眼,但是足以让你收获的JVM内存案例
今天的这个案例我觉得应该会让你涨姿势吧,不管你对JVM有多熟悉,看到这篇文章,应该还是会有点小惊讶的,不过我觉得这个案例我分享出来,是想表达不管多么奇怪的现象请一定要追究下去,会让你慢慢变得强大起来,
SafePoint 与 Stop The World 全解(基于OpenJDK 11版本)
在分析线上 JVM 性能问题的时候,我们可能会碰到下面这些场景:1.GC 本身没有花多长时间,但是 JVM 暂停了很久,例如下面:2.JVM 没有 GC,但是程序暂停了很久,而且这种情况时不时就出现。
如何通过反射获得方法的真实参数名(以及扩展研究)
前段时间,在做一个小的工程时,遇到了需要通过反射获得方法真实参数名的场景,在这里我遇到了一些小小的问题,后来在部门老大的指导下,我解决了这个问题。通过解决这个问题,附带着我了解到了很多新的知识,我觉得
深入汇编指令理解Java关键字volatile
volatile是什么volatile关键字是Java提供的一种轻量级同步机制。它能够保证可见性和有序性,但是不能保证原子性 可见性对于volatile的可见性,先看看这段代码的执行<div alig
认识HotSpot虚拟机第1篇-在Ubuntu 16.04上编译OpenJDK8的源代码(配视频)
本文将详细介绍在Ubuntu16.04 LTS上对OpenJDK8进行编译,为了方便大家快速搭建起OpenJDK8的调试开发环境,我还录制了对应的视频放到了B站上,大家可以参考。视频地址:[https
一个JDK线程池BUG引发的GC机制思考
问题描述前几天在帮同事排查生产一个线上偶发的线程池错误逻辑很简单,线程池执行了一个带结果的异步任务。但是最近有偶发的报错:```javajava.util.concurrent.RejectedExe
Java中,那些关于String和字符串常量池你不得不知道的东西
老套的笔试题在一些老套的笔试题中,会要你判断s1==s2为false还是true,s1.equals(s2)为false还是true。```javaString s1 = new String("xy
PhantomReference? 虚引用? OOM?
背景关于各种引用参考https://www.geeksforgeeks.org/types-references-java/在我之前认知中,虚引用除了自身对象占用内存外,其引用对象referent在不

有开始,就会有进​步!

在追求性能的道路上,记录每一刻的成长!源码解读,编程技巧,外文翻译,技术实践,线上案例等等,记录自己,启发他人!

专家作者推荐

巡山小汪

关注微信公众号《解Bug之路》,有问题请在公众号中咨询:) 无论多么艰苦的时刻,都不要忘记,辉煌的未来,在你的眼中闪耀!

飞哥开发内功

《深入理解Linux网络》作者,腾讯搜狗十年工程师,公众号「开发内功修炼」作者!

踩刀诗人

聊聊技术,唠唠段子,偶尔做菜写诗,欢迎关注我的公众号 踩刀诗人

Brand

搜索关注微信公众号【架构与思维】:撰稿者为bat、字节的几位高阶研发/架构,专注技术分享。

专题推荐

编译器优化的是底层代码执行逻辑,使项目执行更加高效。汇编是最接近底层的代码,所以我们从汇编来看编译器优化是如何优化的。
4篇文章6191阅读量
在我们日常开发中常常会有一些CPU资源占用过高的问题,这些问题往往会导致我们系统运行的缓慢,甚至造成系统的奔溃,那我们如何进行这种问题的定位及性能优化呢?
 
本期的专题就为大家带来Linux CPU性能调优的原理。 特别针对Java程序遇到高CPU的高级进阶及调优实战!深入的理解CPU占用率较高的问题,希望对大家的平时的工作会有所帮助,也欢迎在下面留言你想了解的CPU 的话题。
6篇文章9561阅读量