什么是RPC? 優(yōu)點:將功能解耦,性能稍高沦寂,可擴展性和可維護性并鸵,高可用(負載均衡级零,自動重試)缺點:復(fù)雜邮弹,運維難度大舀瓢,跨平臺/語言調(diào)用麻煩 代碼目錄結(jié)構(gòu): GreetingSe...
什么是RPC? 優(yōu)點:將功能解耦,性能稍高沦寂,可擴展性和可維護性并鸵,高可用(負載均衡级零,自動重試)缺點:復(fù)雜邮弹,運維難度大舀瓢,跨平臺/語言調(diào)用麻煩 代碼目錄結(jié)構(gòu): GreetingSe...
雙重檢測為什么加volatile關(guān)鍵字:主要作用是為了防止指令重排序。新生成一個對象的正確順序:1航缀、分配對象內(nèi)存 2商架、內(nèi)存中初始化一個對象 3、將對象指針指向內(nèi)存指令重排序后...
Java源碼中給出了5中狀態(tài): New:新new出的一個線程對象芥玉,還沒有調(diào)用run方法蛇摸; Runnable: 可運行狀態(tài),線程可能在運行灿巧,也可能在等待CPU資源赶袄; Block...
因為在很多并發(fā)代碼里看到下面這種形式的代碼,對join方法理解不是很清晰抠藕,所以在講解線程池之前先對join方法進行一個簡單的記錄: 先看一下join方法的源碼注釋 因此饿肺,可以...
HashMap 哈希桶+鏈表+數(shù)據(jù)結(jié)構(gòu)(紅黑樹敬辣,Java8以后)O(1)的平均插入,查找零院,刪除時間復(fù)雜度致命缺陷是hash碰撞哈希算法:先計算hashCode溉跃,再映射到索引 ...
首先,我們回顧一下Java Collection體系的核心約定: equals: 自發(fā)的告抄,對稱的撰茎,傳遞的,一致性的(不會一會相等一會不相等) hashCode: 終生不變性打洼;...
fail-fast機制:Iterator的concurrentModifiedException 在迭代器生成后一邊讀取一邊修改就會出現(xiàn)這個問題 ArrayList 數(shù)組做為...
類加載的過程: 加載乾吻,鏈接(驗證,準(zhǔn)備拟蜻,解析),初始化loadClass只做到了加載枯饿。 Java中的類加載器包括四類: BootstrapClassLoader:加載java...
forName() forName() 是Class類的方法 Returns the {@code Class} object associated with the cla...
Semaphore實現(xiàn)生產(chǎn)者消費者模式 acquire方法:獲取信號量的許可酝锅,并把信號量的值減1 release方法:釋放一個許可,將信號量的值加1 Exchanger實現(xiàn)生...
提供put方法和take方法自動實現(xiàn)等待 put方法源碼 如果空間不足夠的時候就會等待 take方法源碼 移走隊頭元素奢方,隊空時等待
Lock與Synchronized相比的優(yōu)勢: 相比于Synchronized, Lock更加靈活搔扁,可以關(guān)聯(lián)不同的Condition; Lock中的RenentrantLoc...
用Java原生的 wait() notify() notifyAll() 來實現(xiàn) Java的wait() notify() notifyAll() 是用來實現(xiàn)協(xié)同的,因此要與...
打牌問題 牌有 A,1,2,3,4,5,6,7,8,9 一共10種不同的數(shù)值蟋字。每一個數(shù)值的牌有四種不同的花色稿蹲。牌可以按照如下的規(guī)則打出: 單牌打出;(比如鹊奖,A) 成對打出苛聘;(...
搭建 IDEA + Maven + Tomcat環(huán)境 編寫index.jsp原始結(jié)構(gòu) 運行項目運行.png 瀏覽器打開地址 http://localhost:8081/網(wǎng)頁....
我們都知道,計算機中所有程序都是再內(nèi)存中運行的网梢,在程序運行的過程中震缭,需要不斷的將內(nèi)存的邏輯地址和物理地址進行映射,找到相應(yīng)的命令和數(shù)據(jù)战虏。作為操作系統(tǒng)進程拣宰,Java也會面臨內(nèi)存...