Zookeeper(2)-分布式鎖的基礎實現
Zookeeper 分布式鎖 什么是分布式鎖? 在進行分布式鎖操作之前,我們得知道什么是分布式鎖。在單體應用中,使用 Java API 自帶的 Lock 或者是 synchronize 就可以解決多線程帶來的并發問題。但是在集群環境中,上述的方法并不能解決服務與服務之間的并發問題。 分布式鎖一般用在 ...
JVM垃圾回收閱讀筆記
Java內存運行時區域的各個部分,其中程序計數器、虛擬機棧、本地方法棧3個區域隨線程而生,隨線程而滅,棧中的棧幀隨著方法的進入和退出而有條不紊地執行著出棧和入棧操作。 每一個棧幀中分配多少內存基本上是在類結構確定下來時就已知的(盡管在運行期會由即時編譯器進行一些優化,但在基于概念模型的討論里,大體上 ...
springboot-jta-atomikos多數據源事務管理
背景 我們平時在用springboot開發時,要使用事務,只需要在方法上添加@Transaction注解即可,但這種方式只適用單數據源,在多數據源下就不再適用; 比如在多數據源下,我們在一個方法里執行了數據源A的操作,又執行了數據源B的操作,如果報錯了,事務只會回滾主數據源或者是指定事務的數據源數據 ...
C++霧中風景18:C++20, 從concept開始
轉眼間,C20的標準已經發布快兩年了。不少C的開源項目也已經將標準升級到最新的C20了,筆者也開啟了新標準的學習歷程了。所以借這系列的博文,記錄下筆者學習新標準的一些心得與吐槽~~ 作為C20系列的第一篇開篇之文,就要從千呼萬喚始處理的concept聊起了,后續很多新的feature的實現,也仰賴新 ...
Java基礎——ArrayList
Java基礎——ArrayList 作用:提供一個可變長度的集合,底層實際上是一個可變長度的數組 格式:ArrayList <E> arr=new ArrayList<>(); 1.ArrayList 的構造及添加方法 方法名說明 public ArrayList () 創建一個空的集合對象 pub ...
Python容器數據類型(字典、集合)
容器類型的進階使用(字典、集合) 字典的相關函數 函數 作用 fromkeys 批量創建鍵值對,并設置默認值 pop 指定鍵刪除指定的鍵值對,返回指定鍵對應的值。 popitem 刪除最后一個鍵值對,以元組的形式返回被刪除的鍵值對。 clear 清空字典,返回None update 批量更新 get ...
使用FreeMarker配置動態模板
FreeMarker動態模板 前言 當我們開發功能時,不僅要考慮當前,也要考慮之后的迭代. 對于郵件正文內容,有時候需要配置HTML格式,所以選擇了FreeMarker 準備工作 FreeMarker的依賴 <dependency> <groupId>org.springframework.boot ...
Python容器數據類型(列表、元組)
容器類型的進階使用(列表、元組) 列表同元組的拼接和重復 列表同元組的索引和數據元素的獲取 列表同元組的切片 列表同元組元素的修改和刪除 列表同元組的內置函數 本文目錄 @ 列表和元組的拼接和重復 使用 + 可以將多個列表或者是元組結合成為一個 lst = [1, 2, 3] lst1 = ['on ...
數字邏輯實踐6-> 從數字邏輯到計算機組成 | 邏輯元件總結與注意事項
數字邏輯是計算機組成與體系結構的前導課,兩者之間我想需要一個銜接,主要內容為回顧數字邏輯基礎知識與邏輯元件的代碼打包。 ...
golang 實現一個簡單的命令行進度條
由于有時候跑腳本幾個小時看不到進度,所以想著寫一個簡單的命令行的進度條。類似下面這樣的 其中的原理主要是\r回車符(將光標移動到行首)。這樣的話就可以重新打印一行以覆蓋之前的那一行。 func main() { for i := 0; i < 10; i++ { fmt.Printf("\r#### ...
面試官:Redis中集合數據類型的內部實現方式是什么?
雖然已經是陽春三月,但騎著共享單車騎了這么遠,還有有點冷的。我搓了搓的被凍的麻木的手,對著前臺的小姐姐說:“您好,我是來面試的?!毙〗憬銌枺骸澳?,您叫什么名字?”我回答:“我叫萬貓學社?!毙〗憬阈Τ隽寺?,說到:“這名字好怪,誰給你起的啊?!蔽颐鏌o表情地回答:“俺爹?!毙〗憬闶掌鹆诵θ?,說到:“跟我 ...
2022年【米哈游】 金三銀四 三月社招內推開始啦!加班少福利好,200+個崗位任你挑選,趕快來看吧!
米哈游 金三銀四 三月內推開始啦 內推類型:社招(校招同學可以使用內推碼NTAHEGf進行投遞) 內推方式1:直接掃下方專屬二維碼或使用自助內推鏈接查看所有在招崗位,并進行投遞 自助內推鏈接 https://app.mokahr.com/recommendation-apply/mihoyo/264 ...
MongoDB 入門實戰(4)--mongo-java-driver 操作 MongoDB
本文主要介紹使用 MongoDB Java 客戶端 mongo-java-driver 來操作 MongoDB,使用到的軟件版本:MongoDB 5.0.5、mongo-java-driver 3.12.10。 1、引入依賴 <dependency> <groupId>org.mongodb</gr ...
java中的List接口(ArrayList、Vector、LinkedList)
一、List接口有三個常用的集合(ArrayList、Vector、LinkedList) ArrayList注意事項 ArrayList底層是用數組來實現數據存儲的 底層是 transient Object[ ] elementdata 是一個Object類型的數組 這個 transient 意思 ...
Spring Cloud快速使用教程
在研究spring cloud,下面是快速搭建方法 我使用的是IDEA 中文漢化版,大家可自行漢化1、先創建一個工程 2、拉下來創建注冊組件 同樣的選擇springboot工程 為eureka注冊中心添加注解開啟服務 配置eureka注冊中心配置文件 application.yml (注意縮進) s ...
面試官:Tomcat 有哪些組成部分?講講工作原理?面試必問。。
作者:VectorJin 來源:juejin.cn/post/6844903473482317837 Tomcat是什么 開源的 Java Web 應用服務器,實現了 Java EE(Java Platform Enterprise Edition)的部 分技術規范,比如 Java Servlet、 ...
Zookeeper(1)-安裝與基礎使用
Zookeeper 服務端 工作機制 Zookeeper從設計模式角度來理解:是一個基于觀察者模式設計的分布式服務管理框架,它負責存儲和管理大家都關心的數據,然后接受觀察者的注冊,一旦這些數據的狀態發生變化,Zookeeper 就將負責通知已經在Zookeeper上注冊的那些觀察者做出相應的反應。 ...