淺談SpringBoot優(yōu)化技巧
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,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)化的全部內(nèi)容,希望對(duì)大家有所幫助。
相關(guān)文章
MybatisPlus中如何調(diào)用Oracle存儲(chǔ)過程
這篇文章主要介紹了MybatisPlus中如何調(diào)用Oracle存儲(chǔ)過程的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
Java代碼實(shí)現(xiàn)隨機(jī)生成漢字的方法
今天小編就為大家分享一篇關(guān)于Java代碼實(shí)現(xiàn)隨機(jī)生成漢字的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
JDBC實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了JDBC實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
零基礎(chǔ)寫Java知乎爬蟲之將抓取的內(nèi)容存儲(chǔ)到本地
上一回我們說到了如何把知乎的某些內(nèi)容爬取出來,那么這一回我們就說說怎么把這些內(nèi)容存儲(chǔ)到本地吧。2014-11-11

