以前 IDEA 启动 springboot 项目一般是 10 秒左右,然后做毕设的项目启动需要一分钟,本来以为是项目问题,结果几天之前突然可以 10 秒启动,过了一天又是一分钟启动,我就很纳闷,后来用 Dump Threads 发现启动项目的时候基本都是卡在这个方法上:NetworkInterface.getByInetAddress () 然后跑了程序测试了一下这个方法
class HelloWorldApp {
public static void main(String[] args) {
InetAddress ip;
try {
ip = InetAddress.getLocalHost();
System.out.println("Current IP address : " + ip.getHostAddress());
long startTime = System.nanoTime();
NetworkInterface network = NetworkInterface.getByInetAddress(ip);
byte[] mac = network.getHardwareAddress();
long endTime = System.nanoTime();
long duration = (endTime - startTime);
double seconds = (double)duration / 1000000000.0;
System.out.println("Duration: " +String.valueOf(seconds) + " seconds");
System.out.print("Current MAC address : ");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++) {
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
System.out.println(sb.toString());
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (SocketException e){
e.printStackTrace();
}
}
}
发现需要 15 秒左右运行时间,debug 发现还会多次调用这个方法 今天又发现项目可以 8 秒运行,果断再次测试了一下这个方法,结果只需要 1 秒
Duration: 1.1810905 seconds
之前把本机的 hostname 添加 hosts 文件中都不行,今天突然又正常了,就很奇怪,有没有人遇到同样的问题
1
sprite82 2021-04-15 21:29:06 +08:00 via Android
怀疑是多网卡问题
|
3
cheng6563 2021-04-16 14:38:45 +08:00
hosts 里写个
127.0.0.1 计算机名 |
4
Zien 2021-04-16 21:44:16 +08:00
我遇到过类似的, 可能是代理软件的问题.
试着 uncheck 代理软件的 system proxy(并且保险起见在 Proxy 中 enable proxy , 然后把 proxy 的 url 置为空再 disable proxy). |
5
pharsalia OP 是指我的 ssr 之类的软件吗
|