什么是Kafka[#---kafka] Kafka的應(yīng)用場(chǎng)景[#kafka-----] Kafka的架構(gòu)[#kafka---]consumer的pull模式和push模式的區(qū)...
什么是Kafka[#---kafka] Kafka的應(yīng)用場(chǎng)景[#kafka-----] Kafka的架構(gòu)[#kafka---]consumer的pull模式和push模式的區(qū)...
無處不在的C/S架構(gòu) 在這個(gè)充斥著云的時(shí)代,我們使用的軟件可以說99%都是C/S架構(gòu)的! 你發(fā)郵件用的Outlook,Foxmail等 你看視頻用的優(yōu)酷,土豆等 你寫文檔用的...
為了提高系統(tǒng)的資源利用率,促使了進(jìn)程,線程的出現(xiàn)。進(jìn)程和線程提高了系統(tǒng)CPU利用率的同時(shí),又引出了一些其他的問題。這里僅討論線程安全性的問題,因?yàn)槎鄠€(gè)線程中操作執(zhí)行順序是不可...
為什么需要線程池 在生產(chǎn)環(huán)境中,為每個(gè)任務(wù)都分配一個(gè)線程,這種方法存在一些缺陷,尤其是當(dāng)需要?jiǎng)?chuàng)建大量的線程時(shí):線程生命周期開銷非常高:線程的創(chuàng)建與銷毀都會(huì)需要JVM和操作系統(tǒng)...
AbstractQueuedSynchronizer類(簡(jiǎn)稱AQS)依賴于內(nèi)部的FIFO隊(duì)列,提供了一個(gè)可以實(shí)現(xiàn)阻塞鎖和同步機(jī)制的框架。依賴于AQS實(shí)現(xiàn)的具有同步機(jī)制和鎖功能...
Mybatis中使用XML文件的地方主要有兩個(gè)1、mybatis的配置文件;2、mybatis的各個(gè)mapper文件; mybatis配置文件解析 首先來看一下mybatis...
Mapper代理類的生成過程 在MyBatis中我們是通過SqlSession.getMapper(SomeInstance.class)方法獲取對(duì)應(yīng)的Mapper代理類。M...
背景介紹 項(xiàng)目中有使用到com.github.dreamroute excel-helper這個(gè)工具來輔助Excel文件的解析,出錯(cuò)時(shí)的代碼是這樣寫的:如下所示(非源代碼) ...
MDC是SLF4J中的一個(gè)類,通過MDC我們可以很方便的實(shí)現(xiàn)同一個(gè)線程內(nèi)(包括父線程和子線程之間)的日志的追蹤。對(duì)于Web項(xiàng)目來講,在MDC的幫助下,很方便的幫我們找出一次請(qǐng)...
代理模式算是我們平時(shí)項(xiàng)目中接觸的比較多的一種模式,最常見的包括:Spring AOP,RPC框架,Mybatis中插件實(shí)現(xiàn)方式,JDK中Proxy類。下面從最簡(jiǎn)單的概念開始一...
Spring框架中也實(shí)現(xiàn)了類似EventBus中的事件監(jiān)聽方法。Spring中的很多功能都有賴于此實(shí)現(xiàn),讓我們一起來學(xué)習(xí)一下。 基于ApplicationEvent和Appl...
什么是線程拒絕策略 當(dāng)線程池達(dá)到飽和狀態(tài)時(shí),新提交的任務(wù)需要一種處理方法,這也就出現(xiàn)了拒絕策略。Java中提供了四種默認(rèn)的拒絕策略,CallerRunsPolicy ,Abo...
最近在項(xiàng)目中,發(fā)現(xiàn)有人在用EventBus做事件監(jiān)聽,當(dāng)時(shí)我就覺得很厲害。趕緊學(xué)習(xí)一下,Goole真是厲害。 一個(gè)簡(jiǎn)單的例子 下面讓我們來看一下EventBus的使用實(shí)例。 ...
什么是觀察者模式 定義對(duì)象間一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。 使用場(chǎng)景 解耦:當(dāng)一個(gè)抽象模型有兩個(gè)方面,其中一個(gè)方...
中介者模式的目的是什么呢? 用一個(gè)中介對(duì)象來封裝一系列的對(duì)象交互。中介者使各對(duì)象不需要顯式地相互引用,從而使其耦合松散,而且可以獨(dú)立地改變它們之間的交互。 中介者模式的結(jié)構(gòu) ...