java缓存内存泄漏_java – getMethod是缓存并导致内存泄漏
我正在使用自动生成的Java类来执行特殊方法.因此,我必须通过反射调用方法.
此执行由Swing Thread触发,因为该方法(从“unknown”类调用)正在更新UI元素.每次执行新线程都会通过调用在类中搜索一个Method
Class {
...
public Method[] getMethods() throws SecurityException
...
}
getMethods的逻辑缓存了元素,但我不知道为什么.一个Profiler告诉我,Method obejcts正在浮动内存.
我可以通过设置系统属性“sun.reflect.noCaches”来禁用Java的方法缓存,但是在我更改了这些属性后,我的应用程序变得非常缓慢.
题:
在尝试从类中获取方法之前,我可以实现自己的缓存算法.但我工作的项目非常大,我们有多个反射调用.
什么可以解决这些问题?
哪些情况会触发这些内存泄漏(错误的类加载器,……)?
该项目使用Java 1.5在Linux下运行
解决方法:
>首先,它使用的缓存是SoftReference,因此缓存的方法将在OOME发生之前被删除.
>如果您仍想删除它,只需在每次调用getMethods(..)之后调用clearCachesOnClassRedefinition()方法;你必须使用反射,因为方法是私有的.
标签:java,memory-leaks,reflection,class
来源: https://codeday.me/bug/20190626/1295457.html
java缓存内存泄漏_java – getMethod是缓存并导致内存泄漏相关推荐
- Java内存泄露系列--内部类持有外部类导致内存泄露--原因/解决方案
原文网址:Java内存泄露系列--内部类持有外部类导致内存泄露--原因/解决方案_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Java内部类持有外部类导致内存泄露的原因以及其解决方案. 为什么内部 ...
- java 内存情况_Java代码中获取运行时内存情况
在此之前,还是先看下JVM内存结构和JVM参数调优,网上太多不说也罢. 另外提醒的是方法反映的都是java这个进程的内存情况,跟操作系统的内存根本没有关系. public class Test { p ...
- java 内存分布_java的各类型数据在内存中分配情况详解_
1. 有这样一种说法,如今争锋于IT战场的两大势力,MS一族偏重于底层实现,Java一族偏重于系统架构.说法根据无从考证,但从两大势力各自的社区力量和图书市场已有佳作不难看出,此说法不虚,但掌握Jav ...
- java xml内存泄漏_java - iText HTML到PDF的内存泄漏 - 堆栈内存溢出
对于Maven项目:将以下依赖项添加到项目的pom.xml文件中: org.apache.poi poi-ooxml 3.14 com.itextpdf itextpdf 5.5.8 com.itex ...
- java用redis缓存的步骤_Java 使用Redis缓存工具的图文详细方法
开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java. (1)Java的安装配置可以参考我们的 Java ...
- java加载阶段内存分配_Java核心:类加载和JVM内存的分配
类的加载: 指的是将class文件的二进制数据读入到运行时数据区(JVM在内存中划分的) 中,并在方法区内创建一个class对象. 类加载器: 负责加载编译后的class文件(字节码文件)到JVM(J ...
- java内存图片_Java程序缩放图片时,内存占用令我百思不得其解
源代码如下,是一个很简单的程序.importjava.awt.FlowLayout;importjava.awt.Image;importjava.io.File;importjava.io.IOEx ...
- java 将数据加载到内存中_java 将数据加载到内存中的操作
将数据加载到内存中 1.建立InitListener.java package app.util; import java.util.HashMap; import java.util.Map; im ...
- java if在内存中_java如何将对象暂存到内存中?
展开全部 form表单提交文件,建议用62616964757a686964616fe59b9ee7ad9431333264623862smartupload上传,暂存在web服务器目录下,然后稍微一下 ...
最新文章
- word导入中的一个乱码
- 泰安虚拟服务器怎么样,一山二虎 泰安双路GT24服务器对比评测
- MySQL优化group by和distinct
- [给 ASP.NET初学者的话]挑书与买书,买适合自己的书
- C语言字符像素,返回字符串宽度 (以像素为单位)
- Leaflet文档阅读笔记-Leaflet on Mobile笔记
- 夺命雷公狗---linux NO:26 linux下的用户和用户组的管理
- pytorch 计算topk_pytorch -- topk()
- 装机——2021年底装机推荐,附9000元DIY介绍
- 2016.11.16回顾
- git deamon 一个简单的git服务器
- dmz和端口映射_无线路由大讲堂:端口映射触发与DMZ主机
- oracle diagnosticdest,Oracle 11g自动诊断信息库(Automatic Diagnostic Repository,ADR)概述
- python word.documents.open报错_Python教程:[43]Word基本操作
- 人工智能的主要研究方向都有哪些
- Excel应用技巧:合并单元格的排序
- 源程序、目标程序、汇编程序、编译程序、解释程序
- 医学研究中的偏倚及其控制
- 蚂蚁金服阳振坤:用10年时间打造一个“顶天立地”的产品
- 【C++】哈希——unordered系列容器|哈希冲突|闭散列|开散列