草庐IT

attachment-full

全部标签

java - Visual VM 中的 RMI TCP Accept、Attach Listener 和 Signal Dispatcher 是什么?

我正在使用VisualVM分析一个程序。我的程序运行了一段时间,最后使用XChart弹出了一些图。显示结果。图表显示后,我注意到VisualVM中有一些Activity线程“RMITCPAccept”、“AttachListener”和“SignalDispatcher”。这些线程是什么?我假设它们仅与VisualVM有关。我说的对吗?? 最佳答案 这篇文章粗略地回答了https://stackoverflow.com/a/7698906/573057如你所想;Attach、Signal和RMITCPAccept用于通过jConso

java - Spring OAuth2 "Full authentication is required to access this resource"

我正在尝试将SpringOAuth2用于我的其余应用程序。但看起来我犯了一个错误,我可以找到我在哪里做的。流程应该是:1.使用用户名和密码从/oauth/token获取token2.使用提供的token向/security发出请求方法安全配置:@Configuration@EnableGlobalMethodSecurity(prePostEnabled=true,proxyTargetClass=true)publicclassMethodSecurityConfigextendsGlobalMethodSecurityConfiguration{@AutowiredprivateS

java - 非常慢的 Java full GC 挂钟

有时,在测试机器(Windows)上,Java完整GC需要超过20秒。GC日志显示real时间非常高,user也很高,但没有那么高(大约3秒)。在一种情况下,它是:21.2209796secs[Times:user=3.76sys=0.45,real=21.22secs]可能是什么原因?我有一个怀疑,但现在不想说。找出根本原因的最简单方法是什么?如果您不了解Windows但了解Linux,那也是一种选择:可以在Linux上重新运行测试。流程是这样开始的:"%JAVA_HOME%\bin\java.exe"-verbose:gc-XX:+PrintGCDetails-XX:+PrintG

java - Java Attach API 使用什么进程间通信机制?

我试图找出JavaAttachAPI在主要操作系统上使用的进程间通信机制,但我似乎找不到太多关于底层机制的引用。我发现的唯一提及是here这里指的是Sun前段时间开发的DOORS进程间通信机制。但我怀疑这是在Windows或Mac上使用的。大多数文章都描述了JavaAttachAPI以及如何加载共享库/DLL,但没有说明jvisualvm和本地JVM进程之间的通信实际上是如何工作的。Here提到tools.jar和libattach.so(在Unix系统上)或attach.dll(在Windows上)负责支持AttachAPI,但我找不到有关它们内部工作方式的详细信息。那么JavaAt

java - G1 垃圾收集器 : Why survivor space is always full?

这是jmap-heap命令的输出:SurvivorSpace:regions=52capacity=54525952(52.0MB)used=54525952(52.0MB)free=0(0.0MB)100.0%used我已经执行了很多次,我发现capacity的值总是等于used。我的问题是为什么幸存者空间总是满的(而且这么小)?我指定了-Xmx2200m-Xms2200m-Xmn1100m。(我预计survivorspace应该是220M,也就是说survivorregion应该有更多的空间)--更新--jheap的完整输出:Garbage-First(G1)GCwith2thre

java - Eclipse:是否可以编辑通过源代码 "attachment"已知的 Java 源代码

我正在使用Eclipse3.4.2来开发我的代码。作为我的项目定义的一部分,我引用了一个实用程序库,我已将源代码附加到该库中。到目前为止,一切顺利-当我从库中调出类时以及在调试时,我可以看到该源代码。但是,现在我想对其中一个类进行更改,同时仍保留EclipseJava编辑器的所有功能(特别是工具提示和快速修复等功能)。这些功能在我查看源代码时似乎有效(例如,我可以通过方法名称按CTRL+LClick),但它是只读的。另一方面,我可以显式打开源文件并进行编辑,但我失去了所有“智能”编辑功能。我最近从IntelliJ切换到Eclipse,这是可能的,所以我希望它也能在Eclipse中使用。

java - 如何理解Full GC日志?

我目前在PROD中看到以下内容:5429.779:[FullGC[PSYoungGen:13809K->0K(505216K)][PSOldGen:253802K->245481K(319488K)]267612K->245481K(824704K)[PSPermGen:70059K->70059K(118784K)],0.5869143secs][Times:user=0.59sys=0.00,real=0.59secs]我理解A->B(C)的意思是:A,gc之前,B之后gc,Cheapwithouttenuredandperm我不明白的是一block(在所有[]之外)是267612

SignalR性能计数器 + Azure VM + Full IIS + Windows Server 2012

真的遇到了这个问题。我在使用Linux的RedisBackplane上运行的AzureVMFULII上有一个SignalR测试线束应用程序。该应用程序在本地的预期工作。我可以连接到运行Redis服务器的Linux节点。性能计数器显示每秒收到的消息。但是,当我将应用程序加载到AzureVM上时,该应用程序仍然连接到RedisBackplane,但性能计数器接收或发布的消息以零为零。我登录了Linux节点,并检查了Redis服务器正在接收消息,但性能计数器在AzureVM上显示为零...有任何想法吗?看答案不幸的是,似乎我们无法添加性能计数器来收集性能数据。也许我们可以使用OMS/日志分析,这可以

java - G1 : What are the differences between mixed gc and full gc?

对于垃圾优先收集器,younggc意味着仅在年轻代执行gc,mixedgc将同时清理年轻代和老年代。那么什么是fullgc?为什么它比mixedgc持续时间更长?我进行了一些搜索,但没有找到任何解释fullgc的帖子。 最佳答案 来自甲骨文G1GCblog和technetworkarticle年轻的GC:YoungGC的集合仅包含年轻/幸存者区域。混合GC:MixedGC的收集集既包括年轻/幸存者区域,也包括老区域。巨大的对象和巨大的分配对于G1GC,任何超过区域大小一半的对象都被视为“Humongousobject”。这样的对象在

java - 在 full GC 之前获得预先警告

对于不应暂停超过200毫秒的软实时系统的上下文,我们正在寻找一种方法来在FullGC即将到来之前发出预先警告。我们意识到我们可能无法避免它,但我们希望在系统停止之前故障转移到另一个节点。我们已经能够想出一个方案,在即将到来的完整GC可能导致系统停顿几秒钟(我们需要避免)之前为我们提供预先警告。我们能够得出的结果依赖于CMS空闲列表统计信息:-XX:PrintFLSStatistics=1。这会在每个GC周期后将空闲列表统计信息打印到GC日志中,包括年轻的GC,因此信息在较短的时间间隔内可用,并且在内存分配率较高的时间间隔内会更频繁地出现。就性能而言,它可能会付出一点代价,但我们的工作假