最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot程序啟動慢-未配置hostname的解決

 更新時間:2021年08月30日 14:47:33   作者:catcher92  
這篇文章主要介紹了springboot程序啟動慢-未配置hostname的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

springboot程序啟動慢-未配置hostname

今天有同時反饋自己的程序在本地mac環(huán)境還正常,在生產(chǎn)環(huán)境上centos7啟動特別慢

具體日志如下

可以看到程序在這里卡了將近2分鐘時間,期間無任何日志輸出。

通過jstack查看線程發(fā)現(xiàn)如下信息

查看源碼如下

public native InetAddress[] lookupAllHostAddr(String hostname) throws UnknownHostException;

入?yún)閔ostname,于是查看機器hostname,再ping hostname發(fā)現(xiàn)ping不通,至此知道解決辦法應該是在/etc/hosts配置一下hostname為本機ip即可解決。

配置hostname后程序正常啟動了。

Spring Boot啟動速度慢的原因總結(jié)

現(xiàn)在spring boot的架構(gòu)可以說是非常流行,不會你都不好意思說你是做java的??墒撬饸w火,也有一些小問題需要咱們?nèi)プ⒁狻?/p>

如果是單體項目,并且在啟動速度方面沒有任何要求,那么請忽略。

下面進入主題,在什么情況下spring boot的項目啟動會變慢呢

前提條件

啟動項目的機器硬件配置不能拖后腿,否則你說項目啟動慢,項目還覺得機器不行呢…

比如網(wǎng)絡,內(nèi)存大小,CPU核心數(shù)等,不要求太高,至少也要夠用吧

拋開各種人為因素,例如各種連接時間較長,其他組件啟動較慢導致等待…

原因一

項目中使用的無用配置太多。

例如在一個最簡單的web中,你還加入了其他各種maven配置,并且將他們配置到項目中(只是比較夸張的例子,這些配置加入都不用),然后項目本身也不懂,既然你配置了,那就加載唄。一個花0.1秒,10個就1秒,100個就10秒了…以此類推,這一點就是最容易想明白的地方了。

原因二

spring boot的自動配置。

自動配置是spring boot的一個特色,但是也是它啟動慢的一個弊病。沒辦法,通常好用功能全的東西,總會在一些地方上有缺陷。上面說到無用的配置多,這里要說的就是spring boot它自己裝配的東西太多。你可以看到在spring boot的相關(guān)jar包里,都存放著spring.factories的文件,進去一看,大部分都是寫了很多的類,它是實現(xiàn)spring boot自動裝配的核心之一。但是你仔細觀察會發(fā)現(xiàn),其實有很多類,你可能完全不用。但有什么辦法呢,不管你用不用,至少它都會給你檢查一遍,這不也是花時間的地方嗎?

原因三

項目精簡程度不夠。

現(xiàn)在比較流行微服務的概念,我認為它的概念核心含義即為精簡,單一,并且多數(shù)需要強調(diào)啟動速度的地方也多是出自微服務的項目中。一個微服務項目中,最好是在10秒以內(nèi)能夠啟動完畢。但是多數(shù)是做不到的,原因在于項目拆分的還不夠細。你說一個接口啟動快,還是10個快,或是更多,答案很明顯。很多項目做到了大而全,所謂大而全就是功能很多,配置很齊全,各種可以擴展配置等,全面的不行不行的,但這意味著什么,你的配置多,有用沒用先不管,至少需要編譯和加載的類文件都會多出很多來,你說要這樣的項目能啟動快,怎么能啟動快呢?

解決方法

  • 檢查maven中是否無用的依賴太多
  • 比較復雜,使用spring-boot-maven插件debug啟動,查看該項目中,使用了哪些配置,哪些配置沒用,然后在啟動類中直接注明只啟動使用了的類,并且刪掉@SpringBootApplication注解,手動填上@Configuration和@Import注解,并在@Import注解中加上那些配置的類。
  • 更換一些配置更快的依賴。例如,你使用A數(shù)據(jù)庫連接池,功能全,配置多,但速度較慢,但是其實B連接池也能滿足項目需求,但是功能相對較少,所以配置也少,啟動更快,你是不是需要考A和B應該選一個。
  • 拆分出更精簡的項目來獨自運行,大而全意味著多而不精,精而簡意味著少但是精通,它們速度,不言而喻。

此次分享就到這里,歡迎大家的討論。以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解springboot啟動時是如何加載配置文件application.yml文件

    詳解springboot啟動時是如何加載配置文件application.yml文件

    這篇文章主要介紹了詳解springboot啟動時是如何加載配置文件application.yml文件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • springboot+mybatis+redis 二級緩存問題實例詳解

    springboot+mybatis+redis 二級緩存問題實例詳解

    Mybatis默認沒有開啟二級緩存,需要在全局配置(mybatis-config.xml)中開啟二級緩存。本文講述的是使用Redis作為緩存,與springboot、mybatis進行集成的方法。需要的朋友參考下吧
    2017-12-12
  • 從零開始學SpringBoot如何開始使用圖文詳解

    從零開始學SpringBoot如何開始使用圖文詳解

    這篇文章主要介紹了從零開始學SpringBoot如何開始使用,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Java Collections的emptyList、EMPTY_LIST詳解與使用說明

    Java Collections的emptyList、EMPTY_LIST詳解與使用說明

    這篇文章主要介紹了Java Collections的emptyList、EMPTY_LIST詳解與使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • mybatis類型處理器JSR310標準詳解

    mybatis類型處理器JSR310標準詳解

    這篇文章主要介紹了mybatis類型處理器JSR310標準詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 詳解Spring獲取配置的三種方式

    詳解Spring獲取配置的三種方式

    這篇文章主要為大家詳細介紹了Spring獲取配置的三種方式:@Value方式動態(tài)獲取單個配置、@ConfigurationProperties+前綴方式批量獲取配置以及Environment動態(tài)獲取單個配置,感興趣的可以了解一下
    2022-03-03
  • Java中PreparedStatement的用法解析

    Java中PreparedStatement的用法解析

    這篇文章主要介紹了Java中PreparedStatement的用法解析,在JDBC應用中,PreparedStatement是一種比Statement更好的選擇,PreparedStatement可以通過使用參數(shù)化查詢來避免SQL注入攻擊,并且可以提高查詢性能,需要的朋友可以參考下
    2023-09-09
  • 基于SpringMVC對接前端參數(shù)注解

    基于SpringMVC對接前端參數(shù)注解

    這篇文章主要介紹了基于SpringMVC對接前端參數(shù)注解的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • java循環(huán)遍歷無規(guī)則json的方式:gson、fastjson、orgjson

    java循環(huán)遍歷無規(guī)則json的方式:gson、fastjson、orgjson

    這篇文章主要介紹了java循環(huán)遍歷無規(guī)則json的方式:gson、fastjson、orgjson,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java?17新特性詳細講解與代碼實例

    Java?17新特性詳細講解與代碼實例

    這篇文章主要給大家介紹了關(guān)于Java?17新特性詳細講解與代碼實例的相關(guān)資料,Java 17是2021年9月發(fā)布的最新版本,其中包含了很多新特性和改進,這些新特性和改進將進一步提高 Java 語言的性能和可用性,需要的朋友可以參考下
    2023-09-09

最新評論

驻马店市| 马公市| 蒲江县| 枣阳市| 汉中市| 辉南县| 许昌市| 望江县| 南漳县| 陆河县| 民乐县| 穆棱市| 固安县| 开原市| 温泉县| 叙永县| 大宁县| 富宁县| 乐业县| 呼和浩特市| 嘉黎县| 苍山县| 金坛市| 田林县| 视频| 丰城市| 砀山县| 平乐县| 红安县| 广安市| 河津市| 昆明市| 乐东| 长汀县| 洛南县| 洛宁县| 鸡泽县| 凌云县| 万源市| 合江县| 尼木县|