Tag: 代码分析

插入排序,MergeSort和快速排序的测试用例

我已经实现了(在Java中)Insertion Sort,MergeSort,ModifiedMergeSort和Quick Sort: ModifiedMergeSort具有元素“绑定”的变量。 当要排序的元素小于或等于“bound”时,请使用Insertion Sort对它们进行排序。 为什么版本1比版本3,4和5更好? 版本2和6的结果是否真实? 这是我的结果(以毫秒为单位): Version 1 – Insertion Sort: Run-Times over 50 test runs Input Size Best-Case Worst-Case Average-Case N = 10000 14 19 14.96 N = 20000 59 60 59.3 N = 40000 234 277 243.1 Version 2 – Merge Sort: Run-Times over 50 test runs Input Size Best-Case […]

VisualVM校准步骤与Windows 10挂起

情况: 我在Windows 10 Anniversary Edition上安装了VisualVM 1.3.8(而不是使用JDK 8附带的VisualVM 1.3.8)。 我想用它来配置Java(Play)应用程序。 怎么了: 在启动CPU分析时,它首先要求我需要校准,当发生这种情况时,它会挂起。 显示悬挂的显示 我试过的: 我在MacOS 8上试过这个,它确实经过了校准步骤。 我编辑了etc / visualvm.conf以禁用d3d piplinefunction。 visualvm_default_options =“ – J-Dsun.java2d.d3d = false -J-client -J-Xms24m -J-Xmx256m -J-XX:+ IgnoreUnrecognizedVMOptions -J-Dnetbeans.accept_license_class = com.sun.tools.visualvm.modules.startup .AcceptLicense -J-Dsun.jvmstat.perdata.syncWaitMs = 10000 -J-Dsun.java2d.noddraw = true“ 目标: 完成校准过程。

FindBugs错误:从实例方法写入静态字段

我在我的应用程序中有几个区域,我从实例方法操作静态变量的值时得到错误。 “从实例方法写入静态字段” 。 如果我们将multithreading排除在等式之外,即使多个实例写入同一个static变量,这种情况是否会造成任何潜在的问题?

PMD规则背后的“为什么”

是否有一个很好的资源来描述PMD规则集背后的“原因”? PMD的网站有“什么” – 每个规则的作用 – 但它没有描述为什么PMD有这个规则,为什么忽略该规则会让你在现实世界中遇到麻烦。 特别是,我有兴趣知道为什么PMD有AvoidInstantiatingObjectsInLoops和OnlyOneReturn规则(如果你需要创建一个对应于集合中每个对象的新对象,第一个似乎是必要的,第二个似乎在许多情况下是必要的根据某些标准返回一个值),但我真正想要的是一个描述大多数PMD规则背后“原因”的链接,因为这经常出现。 为了清楚起见,我知道我可以禁用这些以及如何做到这一点,我只是想知道为什么他们首先在那里。 很抱歉,如果有一些明显的东西我错过了,但我在发布之前进行了谷歌搜索和搜索。 我也明白这些问题往往是“品味”的问题 – 我正在寻找的是规则的论点是什么以及有什么替代品。 举一个具体的例子,你应该如何实现一个对应于循环中每个对象的对象(这是Java中的常见操作)而不在循环中实例化每个对象?

这个for循环的大O分析

sum = 0; for (i = 1; i <= n; i++) { //#1 for (j = 1; j <= i * i; j++) { //#2 if (j % i == 0) { //#3 for (k = 1; k <= j; k++) { //#4 sum++; } } } } 以上让我感到困惑 Suppose #1 runs for N times […]