準(zhǔn)備工作 首先我們需要一個(gè)index頁面,這里我簡(jiǎn)單一點(diǎn),直接用baidu的首頁進(jìn)行演示.直接進(jìn)入百度,在瀏覽器按下ctrl+s即可保存網(wǎng)頁,然后放到對(duì)應(yīng)的文件夾,我放置的位...
準(zhǔn)備工作 首先我們需要一個(gè)index頁面,這里我簡(jiǎn)單一點(diǎn),直接用baidu的首頁進(jìn)行演示.直接進(jìn)入百度,在瀏覽器按下ctrl+s即可保存網(wǎng)頁,然后放到對(duì)應(yīng)的文件夾,我放置的位...
靜態(tài)資源服務(wù) 通過本地文件系統(tǒng)提供服務(wù) 反向代理 Nginx基于NIO帶來的強(qiáng)大性能 緩存 負(fù)載均衡 為什么需要反向代理,因?yàn)殡S著微服務(wù)的推行,應(yīng)用會(huì)進(jìn)行集群化部署,這就需要...
1. Spring團(tuán)隊(duì)在Java開發(fā)市場(chǎng)有著最好的市場(chǎng)占有率 這個(gè)老開發(fā)都懂,早期的EJB,自從Spring框架退出之后,就從Java的視野里消亡的差不多了(當(dāng)然,博主也知道...
CopyOnWriteArrayList 在沒有JUC前,線程安全的List我們可以用Collections.synchronizedList().現(xiàn)在多了一種選擇,就是今天...
可能是bean沒成功注入,這個(gè)你要排查一下每個(gè)策略類是不是都是Spring的Bean
Spring中如何實(shí)現(xiàn)策略模式if-else 假設(shè)現(xiàn)在要開發(fā)一個(gè)郵件服務(wù),要對(duì)接所有的郵件服務(wù)提供廠商,那么代碼可能是這樣的: Oh,My God!這簡(jiǎn)直是災(zāi)難,讓我們用策略模式讓代碼更加具備擴(kuò)展性吧。 ...
LongAccumulator LongAdder類是LongAccumulator的一個(gè)特例,它提供給用戶一個(gè)自定義規(guī)則的可能——accumulatorFunction. ...
synchronized的作用 synchronized作為Java提供的鎖關(guān)鍵字,在單進(jìn)程的時(shí)候可以提供互斥的功能。同時(shí),由于其本身是一個(gè)關(guān)鍵字,它可以修飾方法、對(duì)象、類。...
解釋器與編譯器 解釋器與編譯器兩者各有優(yōu)勢(shì):當(dāng)程序需要迅速啟動(dòng)和執(zhí)行的時(shí)候,解釋器可以首先發(fā)揮作用,省去編譯的時(shí)間,立即運(yùn)行。當(dāng)程序啟動(dòng)后,隨著時(shí)間的推移,編譯器逐漸發(fā)揮作用...
Redis 高可靠性體現(xiàn)于:數(shù)據(jù)盡量少丟失,服務(wù)盡量少中斷。AOF 和 RDB 保證了前者,而后者,Redis 采用副本冗余量,即從庫。Redis主從庫之間采用的是讀寫分離的...
背景描述 我寫了一個(gè)導(dǎo)出的接口,POST請(qǐng)求,然后將返回的zip流復(fù)制給ServletOutputStream,本地跟前端聯(lián)調(diào)好好的,放到測(cè)試環(huán)境,咔一下就炸了,打開瀏覽器調(diào)...
JUC包下的原子類 JUC就是大名鼎鼎的java并發(fā)包,我們今天來看看基于非阻塞性算法的CAS封裝的原子類.JUC下有AtomicInteger、AtomicLong、Ato...
ThreadLocal 解決數(shù)據(jù)一致性的問題通常有幾種方式(筆者理解為,進(jìn)程內(nèi)出現(xiàn)線程不安全的問題也是導(dǎo)致了數(shù)據(jù)不一致): 排隊(duì),典型的案例是synchronized和Loc...
Springboot 整合 elasticsearch maven依賴應(yīng)與 elasticsearch 服務(wù)端版本一致 引入pom文件 配置 RestHighLevelCli...
ONLYOFFICE文檔服務(wù)器API用于讓開發(fā)人員將ONLYOFFICE文檔/電子表格/演示文稿編輯器集成到他們自己的網(wǎng)站中,并設(shè)置和管理編輯器。 通常可以在以下編輯器文件夾...
這個(gè)坑確實(shí)沒踩過,我立馬加上
RabbitMQ實(shí)現(xiàn)延遲消息(rabbitmq_delayed_message_exchange)下載延遲消息插件 Warning:請(qǐng)檢查你的RabbitMQ版本與插件兼容是否一致 官方下載地址[https://www.rabbitmq.com/community-plu...
保證線程安全的三大特性 由于CPU是多線程切換執(zhí)行的,那么對(duì)于操作的程序,我們需要保證3個(gè)特性: 原子性 原子(atomic)本意是“不能被進(jìn)一步分割的最小粒子”,而原子操作...
String存在的stringtable java中所有的類共享一個(gè)字符串常量池。比如A類中需要一個(gè)“hello”的字符串常量,B類也需要同樣的字符串常量,他們都是從字符串常...
異步和同步 我們現(xiàn)在假設(shè)一個(gè)方法,需要新增一個(gè)用戶,同時(shí)向用戶發(fā)送一條短信.同步的方式,就是新增用戶和發(fā)送短線都是順序執(zhí)行,然后執(zhí)行完才return;異步的方式,就是新增完用...
接口與實(shí)現(xiàn)進(jìn)行解耦 我們現(xiàn)在要實(shí)現(xiàn)這樣一件事兒,在工程包下定義一個(gè)接口,然后通過插件來決定實(shí)現(xiàn)類(類似于JDBC中的oracle和mysql),我們這里用到的是Service...