1. 内存泄漏(memory leak ) 申请了内存用完了不释放,比如一共有 1024M 的内存,分配了 521M 的内存一直不回收,那么可以用的内存只有 521M 了,仿佛泄露掉了一部分; 通俗一点讲的话,内存泄漏就是【占着茅坑不拉shi】。 2. 内存溢出(out of memory) 申请内存时,没有足够的内存可以使用; 通俗一点儿讲,一个厕所
内存profiling是基于抽样的,默认是每1000次堆内存分配,执行1次profile记录。 因为内存profiling是基于抽样和它跟踪的是已分配的内存,而不是使用中的内存,(比如有些内存已经分配,看似使用,但实际以及不使用的内存,比如内存泄露的那部分),所以不能使用内存profiling衡量程序总体的内存使用情况。 使用内存profiling不能够发现...
该内存区域是唯一一个在Java虚拟机规范中没有规定任何OOM(内存溢出:OutOfMemoryError)情况的区域。 Java虚拟机栈(Java Virtual Machine Stacks) 在Java虚拟机规范中,对这个区域规定了两种异常情况: 1.如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError异常。 2.如果虚拟机在动态扩展栈时无法申请到...