以前 IDEA 启动 springboot 项目一般是 10 秒左右,然后做毕设的项目启动需要一分钟,本来以为是项目问题,结果几天之前突然可以 10 秒启动,过了一天又是一分钟启动,我就很纳闷,后来用 Dump Threads 发现启动项目的时候基本都是卡在这个方法上:NetworkInterface.getByIneAddress () 然后跑了程序测试了一下这个方法
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 之类的软件吗 |