本文从源码角度分析了MaxMetaspaceSize和MetaspaceSize两个参数的区别
后端开发
G1垃圾收集器详解
最近遇到很多朋友过来咨询G1调优的问题,我自己去年有专门学过一次G1,但是当时只是看了个皮毛,因此自己也有不少问题。总体来讲,对于G1我有几个疑惑,希望能够在这篇文章中得到解决。G1是一种服务端应用使用的垃圾收集器,目标是用在多核、大内存的机器上,它在大多数情况下可以实现指定的GC暂停时间,同时还能保持较高的吞吐量。
CMS垃圾收集器详解
这篇文章是我学习CMS垃圾收集器的笔记和总结,包括CMS的基本概念、CMS的主要过程、CMS的常见问题 和调优手段等等,最后还总结了我使CMS收集器时候的JVM参数配置。
使用SA分析内存溢出问题
利用Serviceability Agent排查内存泄露问题的实战笔记和经验
JVM问题排查工具:Serviceability-Agent介绍
构建高性能的Java应用过程中,必然会遇到各种各样的问题,像CPU飙高、内存泄漏、应用奔溃,以及其他疑难杂症,这时可以使用Serviceability Agent(SA)。SA是JDK提供的一个强大的调试工具集,适用于语言层和虚拟机层,支持调试运行着的Java进程、core文件和虚拟机crash之后的dump文件。
类加载器的基本概念梳理
本文介绍了我对类加载器这个知识点的一些相关问题的思考,并整理了关于类加载器的一些基本概念,例如类加载器的背景、作用、产生作用的时机和基本的规则等等。
MAT入门到精通(二)
这篇文章开始介绍MAT的基本功能:直方图、类视图、支配树视图、线程视图等等
024:用Java实现shell命令cat 1.log | grep a | sort | uniq -c | sort -rn的功能
使用Java中的流,可以快速得实现对一个集合的操作,这道面试题不仅考察应聘者对Java Stream的熟悉程度,还考察应聘者对Linux命令的掌握知识。
023:接口和抽象类有什么区别?
接口和抽象类有什么区别?这是一道很老的面试题,在Java8之后又有些不一样了哦,原来的老答案需要重新被审视下了。
022:如果要将对象用作Map中的key,需要注意什么
在日常开发中可能会遇到需要将某个自定义的类的对象作为Map中的key使用,这种情况下要注意合理设置该对象的唯一性,这篇文章使用lombok可以快捷得生成hashcode、equals等方法。