![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JVM调优
文章平均质量分 74
Java内存管理,垃圾回收和JVM调优
sutong_first
这个作者很懒,什么都没留下…
展开
-
java类加载器ClassLoader深入解析
参考资料: https://www.cnblogs.com/baizhanshi/p/6051218.html https://blog.csdn.net/tonytfjing/article/details/47212291 ClassLoader,即java类加载器,主要作用是将class加载到JVM内,同时它还要考虑class由谁来加载。 1. 了解类加载机制的好处 为什么要了解类加载机...转载 2019-04-03 10:11:47 · 251 阅读 · 0 评论 -
JVM 发生OOM的四种情况
1、Java堆溢出:heap Java堆内存主要用来存放运行过程中所以的对象,该区域OOM异常一般会有如下错误信息; java.lang.OutofMemoryError:Java heap space 此类错误一般通过Eclipse Memory Analyzer分析OOM时dump的内存快照就能分析出来,到底是由于程序原因导致的内存泄露,还是由于没有估计好JVM内存的大小而导致的内存溢出。 另...转载 2020-04-20 16:26:03 · 319 阅读 · 0 评论 -
JVM结构,GC工作机制详解
转自:原文地址 1. jvm结构 根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示: 从左图可知,JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示了从java源文件到JVM的整个过程,可配合理解。 关于类的加载机制,可以参考http://blog.csdn.net/tonytfjing/art...转载 2020-04-28 11:06:28 · 406 阅读 · 0 评论 -
java 内存中的堆和栈
简单来说,Java把内存分为两种:堆内存,栈内存。 栈内存 函数(方法)中定义的基本类型的变量和引用变量都在函数的栈内存分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 栈内存中的数据可以共享。比如: int a = 3; int b = 3; 编译器先处理...原创 2020-04-20 17:03:25 · 143 阅读 · 0 评论 -
内存中Java各类型数据的存储方式
1. 局部变量和方法参数 局部变量和方法参数都是存储在栈上开辟空间来储存的,随着进入方法开辟,退出方法回收。 以32位JVM为例,boolean/byte/short/char/int/float以及引用都是分配4字节空间,long/double分配8字节空间。对于每个方法来说,最多占用多少空间是一定的,这在编译时就可以计算好。 我们都知道JVM内存模型中有,stack和heap的存在,但是更...转载 2020-01-09 15:47:27 · 227 阅读 · 0 评论