淺談SpringBoot優(yōu)化技巧
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過(guò)這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者。
Bean優(yōu)化
1.當(dāng)使用@SpringBootApplication會(huì)默認(rèn)注冊(cè)pom文件中擁有的為bean
默認(rèn)情況下自動(dòng)獲取應(yīng)用配置信息,會(huì)加載一些不需要的beans 增加cpu消耗 beanNames個(gè)數(shù):261 堆內(nèi)存:150-220M
2.使用@Configuration和@EnableAutoConfiguration
beanNames個(gè)數(shù):158
3.使用【不建議使用】
使用mvn spring-boot:run -Ddebug 根據(jù)提示的需要裝配的,然后使用@import方式配置,只用裝配30個(gè)左右組件就能啟動(dòng) 注解解釋: @EnableAutoConfiguration會(huì)自動(dòng)加載可能需要的配置信息 在知道需要的beans的情況下,可以使用@Import方式去配置
4.生產(chǎn)環(huán)境下禁止xml校驗(yàn)
繼承XmlWebApplicationContext復(fù)寫init 在web.xml文件中配置 <context-param> <param-name>contextClass</param-name> <param-value>com.example.CustomXmlWebApplicationContext</param-value> </context-param>
5.減少自動(dòng)掃描,盡量使用配置形式,減少初始化掃描時(shí)間
6.使用延遲初始化的bean 【Using Lazy-Initialized Beans】
lazy-init屬性為true spring初始化bean就能立即發(fā)現(xiàn)其錯(cuò)誤,并進(jìn)行錯(cuò)誤處理,造成的負(fù)面效應(yīng)增加了應(yīng)用程序的加 載時(shí)間
優(yōu)化方案:
【jvisualvm】 1.不適用默認(rèn)方式,采用第二種減少注冊(cè)bean數(shù)量,項(xiàng)目中需要 的bean,采用注解方式在配置類中注冊(cè)。 2.tomcat8,新特性8.5.6 Servlet 3.1、JSP 2.3、EL 3.0 Servlet 3.1實(shí)現(xiàn)了非阻塞式的I/O通信,性能得到 巨大的改進(jìn)
以上就是本文關(guān)于springboot的介紹和優(yōu)化的全部?jī)?nèi)容,希望對(duì)大家有所幫助。
相關(guān)文章
MybatisPlus中如何調(diào)用Oracle存儲(chǔ)過(guò)程
這篇文章主要介紹了MybatisPlus中如何調(diào)用Oracle存儲(chǔ)過(guò)程的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
Java代碼實(shí)現(xiàn)隨機(jī)生成漢字的方法
今天小編就為大家分享一篇關(guān)于Java代碼實(shí)現(xiàn)隨機(jī)生成漢字的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
Java實(shí)現(xiàn)的簡(jiǎn)單畫圖板示例
這篇文章主要介紹了Java實(shí)現(xiàn)的簡(jiǎn)單畫圖板,涉及java使用swing組件進(jìn)行圖形繪制相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
JDBC實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了JDBC實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
java Tapestry4.1.2入門說(shuō)明教程
不必關(guān)心鏈接!不必關(guān)心請(qǐng)求(http request)到了哪里!不必關(guān)心響應(yīng)(http response)要轉(zhuǎn)向哪里!Tapestry構(gòu)建于底層的request-resonse模式,基于Servlet技術(shù),抽象出面向組件開發(fā)的模型。Tapestry關(guān)心的是:頁(yè)面、組件、事件、對(duì)象、方法、屬性!2008-11-11
零基礎(chǔ)寫Java知乎爬蟲之將抓取的內(nèi)容存儲(chǔ)到本地
上一回我們說(shuō)到了如何把知乎的某些內(nèi)容爬取出來(lái),那么這一回我們就說(shuō)說(shuō)怎么把這些內(nèi)容存儲(chǔ)到本地吧。2014-11-11

