草庐IT

多目标优化

全部标签

java - JVM JIT 诊断工具和优化技巧

我听说过很多关于JVMJIT可以做什么的信息,但是没有看到很多关于如何分析JIT在给定的程序运行中实际做什么的信息。有很多关于使用-XX:+PrintCompilation和-XX:+PrintOptoAssembly的提示,但它会产生难以解释的非常低级的信息。一般来说,在优化过程中,我希望有一套具有专用JIT预热时间等的常见操作基准测试套件,但我希望能够看到哪些优化实际上在我的代码上触发。也许我的JVM考虑过内联一个特定的方法调用,但由于某些原因它决定不这样做,或者JIT无法避免在我的循环中进行数组边界检查,因为我对不变量和循环条件的表述过于模糊。我希望像YourKit这样的工具能够

java - 如何强制 Java 8 wsimport 命令行生成 1.6 目标兼容代码

我正在尝试升级现有构建系统以使用Java8而不是Java5/6编译器,但是,我仍然必须生成与Java5/6兼容的输出。总体而言,这是微不足道的(-target1.6),但我很难使用从wsimport生成的代码(使用JDK8bin中的版本)。我使用的是JavaHotSpot64位服务器虚拟机(内部版本25.20-b23),JDK1.8.0_20。从命令行调用wsimport命令以生成代码并直接从那里打包输出。由于遗留原因,我无法更改此过程(例如使用ant),因此我需要从命令行解决问题。我运行的是:“wsimportWSDL_FILE”(实际文件无关紧要)然后在输出中的任何类上运行“jav

java - 升级到GAE 1.9.49后Maven无法执行目标endpoints_get_discovery_doc

我尝试将GAE版本更新到2017年1月30日发布的最新1.9.49,遇到如下问题:[INFO]---appengine-maven-plugin:1.9.49:endpoints_get_discovery_doc(default)@dugout-api-web---[INFO][INFO]GoogleAppEngineJavaSDK-getendpointsdiscoverydoc...[INFO]UsingClassName:com.project.api.resource.admin.AFDApiService[INFO]UsingClassName:com.project.ap

java - STOMP 目标 url 与端点 url

以下代码来自springmvcdocumentation:@Configuration@EnableWebSocketMessageBrokerpublicclassWebSocketConfigimplementsWebSocketMessageBrokerConfigurer{@OverridepublicvoidregisterStompEndpoints(StompEndpointRegistryregistry){registry.addEndpoint("/portfolio");}@OverridepublicvoidconfigureMessageBroker(Mess

java - Java JIT 是否确定性地编译字节码——在同一台机器上每次运行都进行相同的优化?

JavaJIT是否在同一台机器上每次运行时都使用相同的优化来编译字节码?它是否考虑了给定时刻的CPU使用率等动态因素,还是每次都会进行相同的优化而不考虑临时因素? 最佳答案 不,优化是不确定的。即使您运行完全相同的单线程、完全确定性程序,JIT用来确定要优化哪些方法的采样器也可以选择不同的集合。另一件可以改变生成的机器代码的事情是代码引用的某些常量的实际内存位置。JIT可以发出直接访问这些内存位置的机器指令,从而导致不同遍的机器代码之间存在额外差异。研究人员使用JikesRVM通过使用名为CompilerReplay的功能解决了他们

TreeView 上 TreeItems 的 JavaFX 优化异步延迟加载

我有一个应用程序,其中有一个TreeView,其中有TreeItems持有大量叶子TreeItem。在TreeView中拥有大量的TreeItem会显着损害应用程序的性能,为了避免这种情况,我将做的是一次只允许展开一个非叶TreeItem,并且一旦TreeItem被折叠,我将清除它的子项,并在需要时异步加载它们(当用户展开TreeItem时)。奇怪的问题是,在下面的这个测试中,当我第一次点击treeitem上的展开箭头时,子项加载正常,如果我折叠它(这将清除子项)并再次展开它,有时它会工作和其他程序开始占用30%的CPU数分钟,然后恢复运行。更奇怪的是,如果我双击TreeItem将其展

java - 将目录移出另一个目录的 Ant 目标

如何使用Ant任务将目录移动到一个目录?我的目录结构是这样的:my/directory/root|-dir1/one/same/lib|-dir2/two/same/lib|-dir3/three/same/lib|-dir4/four/same/lib我想移动和缩放文件夹“same/lib”并将其移动到“my/directory/root”(最后:my/directory/root/same/lib) 最佳答案 像这样的东西应该可以工作:引用:taskMappertype 关于java

java - 广度优先搜索中的计数级别(起始节点和目标节点之间的距离)

任何人都可以帮助我如何使用Java中的广度优先搜索来计算图形的访问级别?这是我的方法,我有开始节点(str)和结束节点(goal),当循环到达目标节点时应该停止。我现在想要的是统计从起始节点到结束节点的层数。publicvoidbfs(Stringstr,Stringgoal){intstrInx=findIndex(str);vertexList[strInx].wasVisited=true;theQueue.insert(strInx);intv2;booleanbre=false;while(!theQueue.isEmpty()){System.out.println(ver

java - C# 结构内存优化?

我参加了试用期面试(?我不确定是不是这个词)面试官让我告诉他结构和类之间的区别是什么。所以我告诉他我知道的一切以及我在msdn上看到的一切。那家伙说“还不够”,我一点头绪都没有。于是他说:struct是优化过的,所以如果有integer和float,有一些位相同,那么它会节省这个空间,所以structwithint=0和float=0是int=int.MAX的一半大小,float=float.MIN.好的。所以我当时想-没听说过。但是,在面试之后我在考虑它,但它对我来说并没有什么意义。这意味着,当我们更改其中某个变量的值时,结构大小会有所不同。而且在内存中也不可能真的在同一个地方,万一

java - Apache ANT 独立 GUI,可轻松执行目标

有谁知道为ApacheANT编写的GUI。我们正在研究开发一个GUI来为我们团队中的一些设计师和艺术家执行我们的一些开发工具。我在AntExternal网站上找到了一对,但其中大部分用于创建ANT文件,而不仅仅是列出可用的公共(public)目标。http://ant.apache.org/external.html 最佳答案 ANTforms项目有一些任务使您能够生成可用于调用ANT目标的简单表单。这是一个包含三个按钮的示例:Ashortlabelwithafewexplanatorywordsconcerningthemenua