Java

  • Spring Boot引起的“堆外内存泄漏”排查及经验总结

    背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=…

    2020年2月26日 0 139 1
  • Java 动态调试技术原理及实践

    断点调试是我们最常使用的调试手段,它可以获取到方法执行过程中的变量信息,并可以观察到方法的执行路径。但断点调试会在断点位置停顿,使得整个应用停止响应。在线上停顿应用是致命的,动态调试技术给了我们创造新的调试模式的想象空间。本文将研究Java语言中的动态调试技术,首先概括Java动态调试所涉及的技术基础,接着介绍我们在Java动态调试领域的思考及实践,通过结合…

    2020年2月26日 0 107 0
  • Probe:Android线上OOM问题定位组件

    App中所有的内存泄漏都会慢慢累积在内存中,最后就容易导致OOM 于是我们构建了用于快速定位线上OOM问题的组件——Probe,下图是Probe组件架构,本文主要分享Probe组件是如何对线上OOM问题进行快速定位的。 OOM原因分析 要定位OOM问题,首先需要弄明白Android中有哪些原因会导致OOM,Android中导致OOM的原因主要可以划分为以下几…

    2020年2月26日 0 166 1
  • 从ReentrantLock的实现看AQS的原理及应用

    前言 Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到原理层,并通过ReentrantLock的基本特性和ReentrantLock与…

    2020年2月26日 0 124 0

联系我们

站长邮箱: opensource@thenx.org

Github: https://github.com/thenx-projects

注意:但凡您有需要任何问题及需求,都可以通过以上联系方式联系本站站长 !

QR code