Mac上java应用(例如spring boot)启动慢的原因之一

今天引入一些动态代理后,启动程序时间长达120s,找了下原因,详情可以看一下原文。

简单来说就是,应用启动时有些框架或者日志组件,尤其是spring boot,会直接或间接地多次调用:

java.net.InetAddress.getLocalHost()

这个调用在新版的mac os中可能会耗时很久。

解决办法有两种:

1. 就是把本机的hostname 添加到 hosts 中,例如: 127.0.0.1 localhost myMac

2. 执行  scutil --set HostName "localhost"

我的应用改完后启动降到6s。

你可能感兴趣的:(Mac上java应用(例如spring boot)启动慢的原因之一)