在如何給老婆解釋什么是RPC中,我們討論了RPC的實(shí)現(xiàn)思路。那么這一次,就讓我們通過代碼來實(shí)現(xiàn)一個(gè)簡單的RPC吧! RPC的實(shí)現(xiàn)原理 正如上一講所說,RPC主要是為了解決的兩...
分布式拒絕服務(wù)攻擊(DDoS)指的是通過多臺(tái)機(jī)器向一個(gè)服務(wù)或者網(wǎng)站發(fā)送大量看似合法的數(shù)據(jù)包使其網(wǎng)絡(luò)阻塞、資源耗盡從而不能為正常用戶提供正常服務(wù)的攻擊手段。隨著互聯(lián)網(wǎng)帶寬的增加...
無論網(wǎng)站,還是App目前基本都是基于api接口模式的開發(fā),那么api的安全就尤為重要了。目前攻擊最常見的就是“短信轟炸機(jī)”,由于短信接口驗(yàn)證是App,網(wǎng)站檢驗(yàn)用戶手機(jī)號最真實(shí)...
1/ 概述 利用Spring Boot作為基礎(chǔ)框架,Spring Security作為安全框架,WebSocket作為通信框架,實(shí)現(xiàn)點(diǎn)對點(diǎn)聊天和群聊天。 2/ 所需依賴 Sp...
基礎(chǔ)知識 線程切換代價(jià) Java的線程是映射到操作系統(tǒng)的原生線程之上的,如果阻塞或喚醒一個(gè)線程就需要操作系統(tǒng)介入,需要在用戶態(tài)和內(nèi)核態(tài)之間切換,該切換會(huì)消耗大量的系統(tǒng)資源,因...
文章來源于公眾號非科班的科班 ,作者非科班的科班 日常的開發(fā)中,無不都是使用數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)的存儲(chǔ),由于一般的系統(tǒng)任務(wù)中通常不會(huì)存在高并發(fā)的情況,所以這樣看起來并沒有什么問題...
線程同步計(jì)數(shù)器 利用線程池進(jìn)行線程開發(fā)使用時(shí),因join方法使用不便而引入了線程同步計(jì)數(shù)器。 CountDownLatch計(jì)數(shù)器 通過代理變量sync 實(shí)現(xiàn)AbstractQ...
線程池ThreadPoolExecutor 為什么需要線程池? 線程池能夠?qū)€程進(jìn)行統(tǒng)一分配,調(diào)優(yōu)和監(jiān)控:- 降低資源消耗(防止線程不停的創(chuàng)建與銷毀,減少了資源消耗)- 提高...
并發(fā)包的鎖 LockSupport 工具類 JDK 中的 rt.jar 包里面的 LockSupport 是一個(gè)工具類,它的主要作用是掛起和喚醒線程。 LockSupport...
并發(fā)容器小結(jié) 并發(fā)包中的 List--CopyOnWriteArrayList 并發(fā)包中的 List 只有 CopyOnWriteArrayList ,是一個(gè)線程安全的 Ar...
Java的原子類 JUC并發(fā)包中提供了一系列原子性操作類,這些類都是使用非阻塞算法 CAS 實(shí)現(xiàn)的,比使用鎖性能有提升。具體實(shí)現(xiàn)大致相同。 原子更新基本類型 AtomicBo...
并發(fā)編程基礎(chǔ)二 Java 內(nèi)存模型 計(jì)算機(jī)硬件模型: 由于線程工作空間緩存的存在,主存數(shù)據(jù)在多線程環(huán)境下會(huì)出現(xiàn)讀寫不一致情況。 監(jiān)視器鎖 synchronized 鎖對象分為...
ArrayList 與 linkedList 源碼分析 ArrayList 底層實(shí)現(xiàn)為數(shù)組,支持隨機(jī)訪問,可根據(jù)索引查找元素,插入刪除中間元素時(shí)間復(fù)雜度為O(n); 默認(rèn)初始...
HashMap源碼分析(JDK8) 概述 HashMap的底層實(shí)現(xiàn)為 數(shù)組+鏈表+紅黑樹(通過鏈地址法解決沖突); 默認(rèn)容量為16,擴(kuò)容時(shí) 2倍容量擴(kuò)容,初始化時(shí)懶加載,當(dāng)真...
并發(fā)編程基礎(chǔ)一 進(jìn)程與線程 進(jìn)程:是并發(fā)執(zhí)行的程序在執(zhí)行過程中分配和管理資源的基本單位,是一個(gè)動(dòng)態(tài)概念,競爭計(jì)算機(jī)系統(tǒng)資源的基本單位。 線程:是進(jìn)程的一個(gè)執(zhí)行單元,是進(jìn)程內(nèi)可...