![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 84
闻道☞
学习是最好的修行
展开
-
java内存溢出
内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。这篇文章整理自《深入理解java虚拟机》。因为内存溢出问题不仅是工作中的一个重要方面,而且面试中也是经常问。一、内存溢出原因内存溢出就是内存不够,引起内存溢出的原因有很多种,常见的有以下几种:1、内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2、集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3、代码中存在死循环或循环产生过多重复的对象实体;4、使用的第三方软件原创 2022-02-08 15:48:40 · 3874 阅读 · 0 评论 -
什么是内存泄漏?该如何检测?又该如何解决?
前言这个问题是我之前翻看面经的时候见到的。那位小姐姐把内存泄漏当成了内存溢出问题去解答的,结果当场挂掉了。为此总结一下,之前和一位老哥也讨论过这个问题。可见不管是面试还是工作这都是一个极为重要的点。我也曾在面阿里的时候也遇到过原题,题目是写出俩内存泄漏案例,然后问如何排查?如何解决?本篇文章大体结构来自外国大佬baeldung;一、介绍1、什么是内存泄漏java的优势之一就是内置了垃圾回收器GC,它帮助我们实现了自动化内存管理。但是GC再好,也有老马失前蹄的时候,它不能保证提供一个解决内存泄漏的原创 2022-02-08 15:42:46 · 3221 阅读 · 0 评论 -
jvm调优 - 堆空间各区域大小如何划分配置?
jvm内存结构首先,我们来看看jvm堆内存结构,分别新生代、老年代,其中新生代又分为eden区和Survivore区,Survivore区又分为from区和to区;在这里插入图片描述除了堆内存之外,Java 虚拟机还有一个 非堆 的空间,这个空间由所有线程共享的方法区。方法区(也叫永久代)属于非堆内存。它存储每个类结构,如运行时常数池、字段和方法数据,以及方法和构造方法的代码。它是在 Java 虚拟机启动时创建的。在这里插入图片描述各区域的默认值堆内存堆空间初始值:由-Xms指定,默认是物理转载 2021-12-13 16:21:59 · 698 阅读 · 0 评论 -
JVM面试题
字节跳动:一面:JVM的组成什么是类加载器,类加载器有哪些?二面:Java的内存分区二面:讲讲jvm运行时数据库区什么时候对象会进入老年代?常见的垃圾回收器算法有哪些,各有什么优劣?syatem,gc()和runtime,gc()会做做什么事情?一面:Java GC机制?GC Roots有哪些?二面:Java对象的回收方式,回收算法。CMS和G1了解么,CMS解决什么问题,说一下回收的过程。CMS回收停顿了几次,为什么要停顿两次。三面:Java存在内存溢出的现象吗,内存的分配方式、G原创 2021-10-19 16:30:25 · 366 阅读 · 0 评论 -
JVM性能调优及CPU使用过高代码定位
1.性能优化的几个维度1.1 CPU1.1.1 命令 vmstatvmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存 交换情况,IO读写情况。相比top,通过vmstat可以看到整个机器的 CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率。2表示每个两秒采集一次...原创 2018-12-11 14:09:22 · 3236 阅读 · 0 评论 -
Java内存泄漏的排查
1.内存溢出一种通俗的说法。1、内存溢出:你申请了10个字节的空间,但是你在这个空间写入11或以上字节的数据,出现溢出。2、内存泄漏:你用new申请了一块内存,后来很长时间都不再使用了(按理应该释放),但是因为一直被某个或某些实例所持有导致 GC 不能回收,也就是该被释放的对象没有释放。下面具体介绍。1.1 内存溢出java.lang.OutOfMemoryError,是指程序在申请内存时,没有足够的内存空间供其使用,出现OutOfMemoryError。产生该错误的原因主要包括:JVM内存过原创 2021-09-06 16:16:24 · 10359 阅读 · 0 评论 -
JVM调优的在线网站
1.Alibaba Arthashttps://alibaba.github.io/arthasArthas: 是Alibaba开源的Java诊断工具,深受开发者喜爱,当你遇到:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?以上类似问题而束手无策时,Arthas可以帮助你解决。2.Aliabba jvmGeneratehttps://render.alipay.com/p/s/jvm-generateA原创 2021-09-06 16:08:21 · 2220 阅读 · 0 评论