看一下jvm中那些常用的性能监控工具 Java 编程技术

看一下jvm中那些常用的性能监控工具

在之前的文章中,主要是分析了JVM的内存结构、类加载机制和垃圾回收机制。文章的顺序也是循序渐进的,从这篇文章当中我们主要是分析JDK自带的工具,把理论应用于实践。 首先我们先对几种要讲的工具进行一个概述,然后再分别分析: 一、性能监控工具概述工具主要是为了解决问题而生的,就是由于我们的程序存在着一些性能问题,才有了这些工具。其实当我们在下载完成JDK之后,那些工具就被SUN公司随之送给我们了。...
阅读全文
详解SpringCloudGateway内存泄漏问题 Java 编程技术

详解SpringCloudGateway内存泄漏问题

SpringCloudGateway内存泄漏问题 项目完善差不多,在进入压力测试阶段期间,发现了gateway有内存泄漏问题,问题发现的起因是,当时启动一台gateway,一台对应的下游应用服务,在压力测试期间,发现特别不稳定,并发量时高时低,而且会有施压机卡住的现象,然后找到容器对应的宿主机,并使用container stats命令观察内存,经过观察发现,压力测试时内存会暴涨,并由于超过...
阅读全文
Java 应用线上问题排查思路、常用工具小结 Java 编程技术

Java 应用线上问题排查思路、常用工具小结

来源:https://ricstudio.top/archives/java-online-question-probe 前言 本文总结了一些常见的线上应急现象和对应排查步骤和工具。分享的主要目的是想让对线上问题接触少的同学有个预先认知,免得在遇到实际问题时手忙脚乱。毕竟作者自己也是从手忙脚乱时走过来的。 只不过这里先提示一下。在线上应急过程中要记住,只有一个总体目标: 尽快...
阅读全文
从零开始学调优-Java 全技术栈 性能调优 Java 编程技术

从零开始学调优-Java 全技术栈 性能调优

从零开始学调优-Java 全技术栈 性能调优完整无密  【点击下载】 为什么说:性能调优技术一直是市场上的香饽饽,是面试考察关键的一环,是工作中技术能力的分水岭?用最接地气话回答就是:掌握性能优化,钱多事儿少离家近的工作任君选择!本课程是关于:全技术栈性能调优,即:性能优化的N种企业级解决方案,囊括了【数据库优化】、【Tomcat优化】、【JVM优化】、【垃圾回收】、【Netty...
阅读全文
java中强软弱虚引用的妙用 Java 编程技术

java中强软弱虚引用的妙用

前言 ThreadLocal 在什么情况下可能发生内存泄漏?如果你想清楚这个问题的来龙去脉,看源码是必不可少的,看了源码之后你发现,实际 ThreadLocal 中实际用到 static class Entry extends WeakReference<ThreadLocal<?>> {} ,谜底实际就是使用了弱引用 WeakReference 。 本文内容概...
阅读全文
JVM核心知识点梳理以及JVM面试题总结 Java 编程技术

JVM核心知识点梳理以及JVM面试题总结

前言 关于JVM系列面试知识点总结了一个思维导图,分享给大家 内存结构 线程共享区域 堆(用于存放对象实例) 1、新生代 (1)Eden区 (2)Survivor(from)区(设置Survivor是为了减少送到老年代的对象 ) (3)Survivor(to)区 (设置两个Survivor区是为了解决碎片化的问题) (4)eden:survivor...
阅读全文
【每日鲜蘑】JVM日常调优 Java 编程技术

【每日鲜蘑】JVM日常调优

日常调优的简单方法,不深入,日常使用。 本地调优 jvisualvm 复制代码 打开 JDK 自带的 VisualVM 工具,查看每个项目的情况。 命令行 jstat jstat -gcutil pid 1000 复制代码 命令行 jmap jmap -heap pid jmap -histo:live pid 这个命令执行,JVM会先触发gc,然后再...
阅读全文
Java应用问题定位系列——4种常见生成Heap Dump(堆快照)的方法 Java 编程技术

Java应用问题定位系列——4种常见生成Heap Dump(堆快照)的方法

在分析内存溢出、内存泄漏等内存问题时,Heap dump是关键。那么有哪些方法可以生成Heeap dump呢? HeapDumpOnOutOfMemoryError 这是最关键的一种,在所有生产环境上运行java应用,一定要加上这个flag。因为谁也不能保证这次上的版本么有内存问题,等到程序崩掉的时候,发现没有保留堆内存快照,那么就是没有保留案发现场,浪费了最好的分析问题的场景。 使用...
阅读全文
JDK命令行工具与可视化工具 Java 编程技术

JDK命令行工具与可视化工具

jdk/bin目录中提供了很多jdk工具,在查看JVM运行状态以及排查问题时需要结合Linux命令并结合这些工具进行使用,在此记录常用命令行工具以及可视化工具的使用。 命令行工具 jps:虚拟机进程状态工具 jps:主要用它定位Java进程的PID,示例代码如下 /** jps -q:显示进程ID -m:显示进程ID...
阅读全文
HotSpot gc细节与经典垃圾收集器 Java 编程技术

HotSpot gc细节与经典垃圾收集器

上篇介绍了一些经典的垃圾收集算法和它们的优缺点 垃圾回收算法看这一篇就够了 今天跟着顾南的脚步,我们一起看一下HotSpot虚拟机中为了实现垃圾收集做了哪些事情,并且了解几个经典垃圾收集器的原理和适用场景,最后我们学会看gc日志,以及如何编写高质量的代码来优化垃圾收集器行为,话不多说我们开始; 原理篇 垃圾收集器要决定三件事 判断哪些对象要回收 什么时候回收 怎么...
阅读全文
java实现大文本文件拆分 Java 编程技术

java实现大文本文件拆分

本文实例为大家分享了java实现大文本文件拆分的具体代码,供大家参考,具体内容如下 生成大文件 public static void createBigFile() throws IOException { File file = new File("/Users/yangpeng/Documents/temp/big_file.csv"); FileWri...
阅读全文
Loading...