草庐IT

GC_INIT_WITH_MASK

全部标签

java - 为什么在使用 G1 GC 时推荐使用 Java 10?

Java10通过迭代改进其现有算法来减少FullGC暂停时间。-XX:ParallelGCThreads据我了解,G1不会与我们的应用程序同时运行其收集周期。它仍然会定期暂停应用程序,并且FullGC暂停会随着堆大小的增加而增加。那它是如何提高性能的呢?谁能解释一下? 最佳答案 因为直到Java10,G1GC才在stop-the-worldfullGC周期中完全并行。根据JEP307:ParallelFullGCforG1这改善了最坏情况下的延迟:TheG1garbagecollectorisdesignedtoavoidfullc

java - hibernate restrictions.in with and,怎么用?

我有如下表格id,employee_no,survey_no,name1test1test_name2test21test_name23test31test_name34test42test_name4如何通过将下面的AND组合成一个IN语句来使用Restriction.in进行查询?IN[(if(survey_no==1)&&employee_no=='test'),(if(survey_no==1)&&employee_no=='test2'),...] 最佳答案 我认为这是您要使用的条件组合(顺便说一句。帮助Hibernate

java - 空无限循环和 GC (JVM)。请说明效果

我的空无限循环publicstaticvoidmain(String[]args){while(true){}}并在JavaVisualVM中进行分析(图片)如您所见,我不创建对象。为什么要换一个堆?请解释一下效果。为什么? 最佳答案 基本上任何Java应用程序都是多线程的,您的主线程不分配内存这一事实并不意味着其他线程也不分配。事实上,很可能通过VisualVM附加并显示GC选项卡,您在VM中生成了一些线程来监视GC资源并为VisualVM提供成为那些Shiny图表的指标。而且该监控可能会分配一些自己的资源来完成它的工作。

java - 我可以启动一个 Eden 空间如此之大的 JVM,它运行到完成而没有任何 GC。假设我有一堆空闲内存

如果我有足够的空闲内存,我可以启动一个Java应用程序(说mMven)来单独使用Eden空间运行直到完成而不需要任何GC吗? 最佳答案 是的,我已经为Java6+中的实际应用程序完成了此操作。我从一个24GB的Eden空间、微型幸存者空间和永久空间开始。后来发现8GB绰绰有余。当有bug或错误时它仍然会GC,但在正常操作下不会。我相信选项是-Xmn24g-Xmx26g-XX:SurvivorRatio=100使用默认GC。该应用程序经过优化,生成的数据量低于1GB/小时,因此使用GC运行一天。

java - 如何外部化 web.xml servlet init-param?用于 Servlet 的 Spring DelegatingFilterProxy?

我有一个无法修改的第3方servlet。它接受一个我想外部化的init-param(来自web.xml)。我可以使用DelegatingFilterProxy外部化一个servlet过滤器init-param.这有效地将servlet过滤器定义移到了Spring中,那里有更强大的外部化工具(例如:PropertyPlaceholderConfigurer、环境变量等)我如何为servlet执行此操作? 最佳答案 看起来您需要一个DelegatingServletProxy类,尽管这在Spring中不存在。但是,我认为使用Delega

java - 如何将 init 参数传递给 HttpSessionListener?

配置过滤器时,我可以在web.xml中将一些值作为初始参数传递给过滤器,并通过FilterConfig在过滤器中获取这些值。如何在web.xml中为HttpSessionListener配置一些初始参数?如果这不可能,有什么替代方案? 最佳答案 在代码中:publicclassMyListenerimplementsHttpSessionListener{publicvoidsessionCreated(HttpSessionEventevent){Stringvalue=event.getSession().getServletC

java - 内存泄漏在 MAT 中显示为 GC root : Native Stack

我有一些我运行的第三个库代码,一段时间后我遇到了OutOfMemoryError。所以我启动了EclipseMAT并分析了内存。现在似乎无法释放内存,因为有一个对象显示为GCroot:NativeStack。阅读documentation:Inoroutparametersinnativecode,suchasuserdefinedJNIcodeorJVMinternalcode.ThisisoftenthecaseasmanymethodshavenativepartsandtheobjectshandledasmethodparametersbecomeGCroots.Forexa

java - 将 Realm 与 try-with-resources 一起使用是一种好习惯吗?

很多地方建议在Activity的onCreate方法中调用Realm.getDefaultInstance(),并调用close在onDestroy中的Realm实例上(或在presenter的相应方法中)。但是,对我来说,使用Java的try-with-resources结构会更干净:try(finalRealmrealm=Realm.getDefaultInstance()){//dostuff}为什么要清洁?IMO更容易管理realm实例的狭窄范围。在生命周期的某个时刻获取实例并在另一个时刻关闭它,这让我想起了过去使用C++的日子,那时我们不得不担心在正确的时刻调用delete。

java - GXT (Ext-GWT) : Layout problems with ContentPanel

我有一个适合整个窗口的ContentPanel。它有一个topComponent、一个位于中心的小部件和一个bottomComponent。当我尝试在ContentPanel渲染一次后将小部件添加到topComponent时,我遇到了布局问题:publicvoidonModuleLoad(){finalViewportviewport=newViewport();viewport.setLayout(newFitLayout());finalContentPanelcontentPanel=newContentPanel(newFitLayout());contentPanel.set

java - gwt uibinder ui :with - calling methods with arguments

我正在使用gwtuibinder。我想为一个字段动态设置值。我正在尝试这样的事情字段的值是这样设置的NameValueStore有两个方法publicStringgetValue(Stringkey){returnlocalizedValues.get(key);}publicStringgetValue(){returnnull;}问题是我无法调用getValue(key)。我只能调用no-args方法,这意味着以下是不可能的Name请澄清是否有一种方法可以实现这一点,我可以在其中调用传递给它的参数的方法。 最佳答案 不支持,只能