今天引入一些动态代理后,启动程序时间长达120s,找了下原因,详情可以看一下原文。
简单来说就是,应用启动时有些框架或者日志组件,尤其是spring boot,会直接或间接地多次调用:
java.net.InetAddress.getLocalHost()
这个调用在新版的mac os中可能会耗时很久。
解决办法有两种:
1. 就是把本机的hostname 添加到 hosts 中,例如: 127.0.0.1 localhost myMac
2. 执行 scutil --set HostName "localhost"
我的应用改完后启动降到6s。