草庐IT

check-leaked-classloader

全部标签

带有 ConcurrentLinkedQueue$Node 的 Java 内存 "Leak"

我遇到了一个有趣的难题,我似乎有内存泄漏(或不断增长的数据结构)。当我分析我的内存使用情况时,我得到了典型的“随时间线性增加”的图表。为了找出问题的原因,我进行了堆转储。我发现超过50%的内存分配给ConcurrentLinkedQueue节点。内存消耗最大的是com.singularity.ee.agent.util.ch和java.util.concurrent.ConcurrentLinkedQueue$Node,如下图所示。我不知道util.ch是什么,但它似乎与节点相关联,因为每个ch都有一个对节点的直接引用,所以不用担心关注它。现在尝试为$Node查找最近的GC的引用,我得

java - 单选按钮在 Struts 1 ActionForm 中没有 "checked"

我有一个包含许多问题的JSP页面和一个包含输入名称和值的Map的ActionForm。当我加载页面时,未设置单选输入的值(选中属性),但复选框已设置。表单定义:radio(jsp):"styleClass="pepperoni1"value="1">Yes"styleClass="pepperoni0"value="0">No广播(html):YesNo复选框(jsp):"styleClass="pepperoni"/>复选框(html):通过getBoolean/setBoolean页面加载/表单提交访问时,checked属性未设置,但值不为空.我的ActionForm类有这些可用的

java - Eclipse Memory Analyzer - Leak Suspects Report 没有指向我的类 - 为什么?

我正在尝试确定我的web应用程序中是否存在内存泄漏。我正在使用VisualVM和JMeter来加载测试和观察堆。我昨天将堆转储保存到文件并下载了EclipseMemoryAnalyzer...在对VisualVM感到非常沮丧之后,我认为Eclipse会比VisualVM更好地查明泄漏(如果有的话)。我在Eclipse中打开堆文件并运行他们所谓的泄漏嫌疑报告。我以为它会指向我的webapp中的一个特定类,但事实并非如此。所以我不知道如何使用它提供的信息来找出泄漏嫌疑人在我的任何特定类别中的位置。这是我的一个堆转储文件的泄漏可疑报告的结果。Oneinstanceof"org.apache.

java - 在国际象棋游戏中实现 "Check"

这个问题相当大,不看我的代码就很难解决,如果非常大,那么范围可能太大了,我会删除这个问题。基本上我有一个有效的国际象棋游戏,其中包含国际象棋的所有规则exceptCheck(和因此也不是将死,僵局等.)实现。我通过为我的ChessBoard的Squares分配两个boolean值来实现Check:protectedByWhite和protectedByBlack.有两个主要的检查逻辑:如果白方下棋导致他的王在方格上那是protectedByBlack,反之亦然,黑棋是“撤消”。如果白方下棋导致黑方王位于protectedByWhite的格子上,反之亦然,黑方下一步必须将王放在不是pro

java - 谁来加载 java.lang.ClassLoader?

我正在阅读类是如何加载的。看来java.lang.ClassLoader的实例正在做这项工作。但是谁来加载java.lang.ClassLoader? 最佳答案 我想我可以将其添加为答案,以便人们可以更容易地看到它...java.lang.ClassLoader是Java核心库的一部分(作为抽象类),Java提供的它的实现由JVM通过引导类加载器加载。引导类加载器是用native代码编写的,在JVM启动时运行,以加载$JAVA_HOME/jre/lib中的所有Java库。引用相关的维基百科条目re:theJavaClassLoade

java - 为什么此代码会生成 "Potential resource leak"警告?

Eclipse(Juno)给出以下警告:Potentialresourceleak:'os'maynotbeclosed在此代码的try主体的第一行:staticvoidsaveDetails(byte[]detailsData){OutputStreamos=null;try{os=sContext.openFileOutput(DETAILS_FILE_NAME,Context.MODE_PRIVATE);os.write(detailsData);}catch(IOExceptione){Log.w(LOG_TAG,"Unabletosavedetails",e);}finall

java - Play Framework CSRF 错误 "[CSRF] Check failed because no token found in headers"

我是PlayFramework的新手,正在尝试提交表单,但是得到这个错误:“p.filters.CSRF-[CSRF]Checkfailedbecausenotokenfoundinheaders”。我正在使用Play2.6,这是我的Controller代码:packagecontrollers;importplay.libs.Json;importplay.mvc.*;importviews.html.*;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;publicclassHomeControll

c# - 如果可以在源代码控制提交、 check out 、差异等之前和之后自动格式化代码,公司真的需要标准代码风格吗?

如果可以在源代码控制提交、检查、差异等之前和之后自动格式化代码,公司真的需要标准代码风格吗?自编程开始以来,标准编码风格的争论一直很激烈,例如“将括号放在下一行”或“正确缩进您的(”不再是必需的。我意识到在空格很重要的语言中,差异将不得不考虑它,但对于风格是个人偏好的语言,真的有必要再担心它了吗? 最佳答案 自动格式化实际上只能处理空格。它不会解决开发人员给变量起奇怪的无意义名称的问题。它不会解决某些开发人员在错误时函数返回null与抛出异常的问题。我相信其他人可以想出更多的例子。 关于

java - 如何创建一个不会在父级中搜索加载类的 ClassLoader

我想我了解类加载层次结构的工作原理。(JVM首先查看父层次结构)所以我想创建一个ClassLoader,或者使用一个现有的库,它是一个完全独立的范围,并且不查看父ClassLoading层次结构。实际上,我正在寻找启动单独JVM的相同效果,但实际上并没有这样做。我相信这是可能的,但很惊讶很难找到一个简单的例子来说明如何做到这一点。 最佳答案 只需使用URLClassLoader并提供null作为父级。FilemyDir=newFile("/some/directory/");ClassLoaderloader=null;try{UR

java - 位串 : checking if one bitstring is a subset of another

我将英文字母集表示为26位位串。第一位对应“a”,设置位对应“b”,依此类推。于是,字符串ab表示为11000000000000000000000000现在,给定两个位串,我想检查位串1是否是位串2的子集。也就是说,位串1在所有地方都有一个“1”,位串2也应该有一个“1”。这意味着string1中的所有字符也出现在string2中。有人可以告诉我执行此操作的最佳方法吗?我知道一个简单的方法如下:遍历bitstring1并检查bitstring2中的相应位。但是,我想知道是否可以使用一些位运算符以更有效的方式完成此操作 最佳答案 如果