相关疑难解决方法(0)

Jvm需要很长时间来解析localhost的ip-address

升级到macOS Sierra后,我似乎遇到了"sbt test"性能问题.在以前版本的OS X上花了大约40-50秒才完成.macOS Sierra时代要高得多.我上次跑的时间大约是15分钟.编译时间与'El Capitan'大致相同.

我是团队中唯一一个尝试这个新macOS的人,所以我不知道它是否只发生在我的Mac上,还是一个普遍的问题.

我的同事在Ubuntu上有类似的问题,它与随机数生成有关,减慢了测试速度 - 服务响应速度慢时间:Java SecureRandom&/ dev/random

不幸的是,这对我不起作用.最初我在JDK 8u54上试过,然后尝试更新到JDK 8u102,这也没有帮助.

PS我正在运行Macbook Pro Mid-2015 2.8GHz i7,16GB RAM,1TB SSD.

java scala sbt scalatest macos-sierra

102
推荐指数
3
解决办法
3万
查看次数

InetAddress.getLocalHost()运行缓慢(30+秒)

使用以下代码:

try {
  System.out.println(new Date());
  InetAddress hostName = InetAddress.getLocalHost();
  System.out.println(new Date());
} catch (UnknownHostException e) {
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

Thu Oct 22 20:58:22 BST 2015
Thu Oct 22 20:58:52 BST 2015
Run Code Online (Sandbox Code Playgroud)

换句话说,执行30秒.Machine是2015 Macbook Pro with Java 1.8.0_60.

为什么这需要这么长时间?

java

58
推荐指数
4
解决办法
1万
查看次数

插入USB热点后,简单的Java程序慢了100倍

我有以下Java程序:

class Main {
    public static void main(String[] args) throws java.io.IOException {
        long start = System.nanoTime();
        java.io.File.createTempFile("java_test", ".txt").delete();
        System.out.println((System.nanoTime() - start ) / 1e9);
    }
}
Run Code Online (Sandbox Code Playgroud)

通常,执行需要大约63毫秒:

$ java Main
0.06308555
Run Code Online (Sandbox Code Playgroud)

但是,一旦我将Android手机作为USB热点连接,它需要更长的时间.根据机器的不同,从3到40秒:

$ java Main
4.263285528
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这里没有任何东西实际通过网络传输 - 插入的网络适配器应该无关紧要.

我做了一个回溯,看起来大部分时间花在NetworkInterface.getAll方法上:

"main" #1 prio=5 os_prio=0 tid=0x00000000023ae000 nid=0x142c runnable [0x000000000268d000]
   java.lang.Thread.State: RUNNABLE
        at java.net.NetworkInterface.getAll(Native Method)
        at java.net.NetworkInterface.getNetworkInterfaces(Unknown Source)
        at sun.security.provider.SeedGenerator.addNetworkAdapterInfo(Unknown Source)
        at sun.security.provider.SeedGenerator.access$000(Unknown Source)
        at sun.security.provider.SeedGenerator$1.run(Unknown Source)
        at sun.security.provider.SeedGenerator$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.security.provider.SeedGenerator.getSystemEntropy(Unknown Source)
        at sun.security.provider.SecureRandom$SeederHolder.<clinit>(Unknown Source)
        at …
Run Code Online (Sandbox Code Playgroud)

java windows performance networking windows-7

47
推荐指数
1
解决办法
1788
查看次数

Intellij IDEA中Kotlin项目的自动完成和代码分析速度极慢

我们有一个IDEA项目,它包含几个中等大小的Java包和一个非常小的Kotlin包(5个文件).我注意到任何Java软件包的性能都很好,但是对于非常小的Kotlin软件包,它的自动完成,代码分析和编译速度要慢10倍.自动完成偶尔会如此缓慢,以至于popover无法加载所有方法,并且必须逐步加载一些API.每当我们的开发人员键入单词并等待自动完成时,预计自动完成显示大约需要2-5秒.有时自动填充太慢而无法显示任何内容,我们不得不取消该单词并重新输入并等待.代码分析中出现相同的缓慢.这极大地影响了我团队的工作效率.从我们的研究来看,这似乎是一个众所周知的长期问题.这也适用于我们的另一个小项目.我想知道我们能做些什么来解决这个问题?谢谢.

Kotlin插件是最新的,版本:1.1.3-release-IJ2017.2-2 Intellij也是最新版本,2017年2月2.1(建于2017年7月31日)

intellij-idea intellij-plugin kotlin kotlin-android-extensions

8
推荐指数
2
解决办法
2046
查看次数