双十一压测&Java应用性能问题排查总结
连续参加了两年公司的双十一大促压测项目,遇到了很多问题,也成长了很多,于是在这里对大促压测做一份总结。以及记录一下大促压测过程中出现的一些常见的Java应用性能问题。 一、为什么要压测 1、 找出应用的性能瓶颈 2、 探究应用的性能基准 3...
连续参加了两年公司的双十一大促压测项目,遇到了很多问题,也成长了很多,于是在这里对大促压测做一份总结。以及记录一下大促压测过程中出现的一些常见的Java应用性能问题。 一、为什么要压测 1、 找出应用的性能瓶颈 2、 探究应用的性能基准 3...
本文基于openjdk11及hotspot 从Java8开始,JVM中的永久代被替换为了metaspace,本文将根据JVM源码对metaspace的初始化、分配内存、释放内存三个主要过程进行解析。 1、 数据结构 在metaspace中有...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
本文基于openjdk11及hotspot Java对象模型: OOP-Klass模型 在正式探讨JVM对象的创建前,先简单地介绍一下hotspot中实现的Java的对象模型。在JVM中,并没有直接将Java对象映射成C++对象,而是采用了...
起因 双11期间,公司的某个Java服务内存占用达到37g,但是该应用的JVM配置为-Xms6g -Xmx6g 问题分析 业务 主要是涉及到了图片文字合成业务 代码 下面是问题代码的简化版本 public class FontMain { ...
前言 前些日子遇到了一个堆外内存泄漏的问题,因为对Java的堆外内存不熟悉,排查了很久,于是这两天特意研究了一下Java的堆外内存的分配与释放原理。 在我目前的接触到的Java中分配直接内存主要有如下三种方式,这篇文章也主要就这三种方式做一...
在项目开发中经常会遇到统一异常处理的问题,在springMVC中有一种解决方式,使用ExceptionHandler。举个例子, @ControllerAdvice public class GlobalExceptionHandler {...
最近使用lambda表达式,感觉使用起来非常舒服,箭头函数极大增强了代码的表达能力。于是决心花点时间深入地去研究一下java8的函数式。 一、lambda表达式 先po一个最经典的例子——线程 public static void main...
在阿里巴巴的Java开发手册中看到了线程池比较推荐使用ThreadPoolExecutor,于是每次也都是照葫芦画瓢地使用,对于其中的参数(corePoolSize, maximumPoolSize,keepAliveTime , work...
什么是Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实现、健康检查、K...
前言 不知道你平时是否关注程序内存使用情况,我是关注的比较少,正好借着优化本地一个程序的空对比了一下.Net平台垃圾回收和jvm垃圾回收,顺便用dotMemory看了程序运行后的内存快照,生成内存快照后,妈妈再也不担心我优化程序找不到方向了...