為什么ConcurrentHashMap是線程安全的 JDK1.7中,ConcurrentHashMap使用的鎖分段技術,將數據分成一段一段的存儲,然后給每一段數據配一把鎖,當一個線程占用鎖訪問其中一個段數據的時候,其他段的數據也能被其他線程訪問。 那說說JDK1.7中 ...
線程池的使用場景有哪些 線程池適合單系統的大量的異步任務處理,比如發送短信 保存日志。 說說創建線程池的重要參數 corePoolSize:線程池的大小。線程池創建之后不會立即去創建線程,而是等待線程的到來。當前執行的線程數大於該值時,線程會加入到緩沖隊列。 maximumPoolSize:線程池中創建的最大線程數。 keepAliveTime:空閑的線程多久時間后被銷毀。默認情況下,該值在線程 ...
2019-10-12 16:04 0 923 推薦指數:
為什么ConcurrentHashMap是線程安全的 JDK1.7中,ConcurrentHashMap使用的鎖分段技術,將數據分成一段一段的存儲,然后給每一段數據配一把鎖,當一個線程占用鎖訪問其中一個段數據的時候,其他段的數據也能被其他線程訪問。 那說說JDK1.7中 ...
synchronized怎么用的? 用過,synchronized是常用的並發控制關鍵字,簡單的說就是訪問加鎖。它可以修飾靜態方法或者一個類的class對象,這叫類鎖;可以修飾普通方法或者代碼塊,這叫對象鎖。 synchronized是可重入鎖嗎? 從互斥鎖的設計上來說,當一個線程 ...
Java 面試連環炮系列(三):synchronized怎么用的 面試連環炮系列(七):HashMap的put操作做了什么 面試連環炮系列(八):服務器CPU飆升100%怎么排查 面試連環炮系列(九):為什么ConcurrentHashMap是線程安全的 面試連環炮系列(十 ...
你們的項目怎么使用kafka? 我們采用kafka進行日志采集,准確點說是ELK方案,即elasticsearch + logstash + kibana + kafka。通過Spring AOP的方式收集日志,通過kafaka發送出去。 kafa存在丟消息的情況嗎,怎么解決 ...
你們的項目為什么要用RabbitMQ? 消息隊列的作用是系統解耦、同步改異步、請求消峰,舉個下訂單的例子: 前端獲取用戶訂單信息,請求后端的訂單創建接口。這個接口並不直接請求訂單服務,而是首先 ...
1. 什么情況下JVM頻繁發生full GC? full gc觸發條件是老年代空間不足,具體原因有四個: 系統並發高、執行耗時長或者創建對象過多,導致 young gc頻繁,且gc后存活對象太 ...
線程池的各種使用場景 https://blog.csdn.net/qq_17045385/article/details/79820847 https://www.jianshu.com/p/71b5e40f94e0 線程池的使用場景有哪些線程池適合單系統的大量 ...
一個線程調用兩次start會怎么樣 Java的線程是不允許啟動兩次的,第二次調用必然會拋出IllegalThreadStateException,這是一種運行時異常。 談談線程的生命周期和狀態轉移 新建(NEW),表示線程被創建出來還沒真正啟動的狀態,可以認為它是 ...