之前有提到过,为了提高GC的回收效率,对象实例的内存分配不一定必须存在于堆区中,还可采用堆外分配。而最常见的堆外分配就是采用逃逸分析筛选出未发生逃逸的对象,在栈帧中分配内存空间。 逃逸分析:就是分析出对象的作用域。当一个对象在方法体内声明后,该对象的引用被其他外部所引用时该对象就发生了逃逸,反之就会 ...
分类:
其他好文 时间:
2019-08-22 23:38:21
阅读次数:
111
阅读本文大概需要 2.3 分钟。 阅读本文大概需要 2.3 分钟。 出处:割肉机 cnblogs.com/williamjie/p/11164572.html Java 堆空间 GC 开销超过限制 请求的数组大小超过虚拟机限制 Perm gen 空间 Metaspace 无法新建本机线程 杀死进程或 ...
分类:
其他好文 时间:
2019-08-22 11:16:17
阅读次数:
83
栈管运行,堆管存储!!! 栈呢,也叫作栈内存,主要管java程序的运行,在线程创建时创建,生命周期和线程一致,只要线程一结束,该栈就被GC,是线程私有的。基本类型的变量和对象的引用数据类型的变量都在栈内存中调用。 栈存储什么? 大体可以分为3类: 1.本地变量:输入参数和输出参数以及方法付内的变量 ...
分类:
其他好文 时间:
2019-08-19 21:25:57
阅读次数:
74
前言:新生代的收集器有:Serial,ParNew,Parallel Scavenge等。老年代有:CMS,SerialOld,Paraller Old等。接下来将深入理解各个垃圾收集器的原理,以及它们如何在不同场景下进行搭配使用。 同时,先解释几个名次: (一) 新生代的收集器们 (1) ParN ...
分类:
其他好文 时间:
2019-08-19 18:54:40
阅读次数:
85
1.Java堆空间发生频率:5颗星造成原因无法在Java堆中分配对象吞吐量增加应用程序无意中保存了对象引用,对象无法被GC回收应用程序过度使用finalizer。finalizer对象不能被GC立刻回收。finalizer由结束队列服务的守护线程调用,有时finalizer线程的处理能力无法跟上结束队列的增长解决方案单位对应:GB->G,g;MB->M,m;KB->K,k使用-X
分类:
其他好文 时间:
2019-08-19 17:26:58
阅读次数:
83
内存泄漏和内存溢出的关系 内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用。 内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况。 ...
分类:
其他好文 时间:
2019-08-19 13:08:42
阅读次数:
92
帝国CMS(EmpireCMS) v7.5后台任意代码执行 一、漏洞描述 EmpireCMS 7.5版本及之前版本在后台备份数据库时,未对数据库表名做验证,通过修改数据库表名可以实现任意代码执行。 二、影响版本 EmpireCMS<=7.5 三、环境搭建 1、官方下载EmpireCMS V7.5 下 ...
分类:
其他好文 时间:
2019-08-18 15:49:41
阅读次数:
105
JVM GC基本原理与GC算法 微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Jav ...
分类:
其他好文 时间:
2019-08-17 19:56:01
阅读次数:
101
Java中的四种引用类型 微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈 ...
分类:
其他好文 时间:
2019-08-17 19:43:58
阅读次数:
96
帝国CMS(EmpireCMS) v7.5后台getshell分析(CVE-2018-18086) 一、漏洞描述 EmpireCMS 7.5版本及之前版本在后台备份数据库时,未对数据库表名做验证,通过修改数据库表名可以实现任意代码执行。EmpireCMS7.5版本中的/e/class/moddofu ...
分类:
系统相关 时间:
2019-08-17 14:47:32
阅读次数:
493