HashMap → putIfAbsent()
putIfAbsent() 是 HashMap 在 Java 中的一個實用方法,它屬於 Map 介面。這個方法用來在對應的鍵(key)不存在於映射中時,將一組key,value 放入映射(map)裡。如果映射先前已包含該鍵(key)的映射,則不做任何更動。putIfAbsent() 方法既可以確保不會不小心覆蓋已有的鍵值(key, value),也可以用來在多執行緒環境下安全的更新map,假設映射本身是同步的或者是一個 ConcurrentHashMap。 方法簽名 1V putIfAbsent(K key, V value) K: 鍵的類型 V: 值的類型 返回值:如果映射中已經有這個鍵,則返回鍵對應的舊值;如果沒有,則返回 null(並且將新的鍵值對插入映射)。 範例1以下是使用 putIfAbsent() 方法的一個簡單範例: 1234567891011121314151617181920212223import java.util.HashMap;import java.util.Map;public class PutIfAbsentExample { ...
HTML-Script 屬性
src屬性src 屬性指定外部腳本的 URL,允許開發者將 JavaScript 程式碼組織在單獨檔案中,而非直接寫在 HTML 內。當<script>標籤包含src屬性時,不應包含嵌入式腳本程式碼。 type屬性type 屬性聲明腳本的 MIME 類型 (現已非必需,因為現代瀏覽器預設使用JavaScript)。早期 HTML 規範中,這個屬性用來指示腳本語言的類型,如”text/javascript“ 或 “application/javascript“。 async屬性async 屬性是個布林屬性,告訴瀏覽器非同步的載入檔案。這意味著腳本會在下載完畢後儘快執行,但不會阻塞 HTML 文件的解析。此屬性僅適用於帶有src屬性的<script>標籤。 1<script src="xxx/script.js" async></script> defer屬性與async屬性類似,defer屬性也會指示瀏覽器非同步載入腳本,但有個關鍵不同:帶有 defer...
Docker-MySql
新增檔案將內容貼上後,將檔案命名為docker-compose.yml,再執行docker-compose up -d 12345678910111213141516171819202122232425version: '3.7'services: mysql: image: mysql:5.7 platform: linux/amd64 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_DATABASE=sample - MYSQL_USER=demouser - MYSQL_PASSWORD=e23s5 volumes: - ./volumes:/var/lib/mysql - ./conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf - ./data:/data - ./init.d:/docker-entrypoint-initdb.d ...
Docker-Solr Compose
本機開發時會用到,遇到要升級時需要測試環境,所以本機使用 Docker 建立 Solr6,然後在 VM 上建立 Solr8 Solr 612345678910111213141516171819202122232425version: '3'services: zookeeper: image: zookeeper:3.7 ports: - "2181:2181" solr: image: solr:6.6.3 ports: - "8983:8983" volumes: - data:/var/solr #- ./init-solr.sh:/docker-entrypoint-initdb.d/init-solr.sh environment: - ZK_HOST=zookeeper:2181 - SOLR_HOST=127.0.0.1 - JETTY_PORT=8983 command: -...
PowerShell-取得上一個月的事件錯誤記錄
最近要將每月的報告自動化,所以使用PowerShell來取得一些記錄,要取得的記錄是事件檢視器前一個月的「應用程式」、「安全性」、「系統」各個的錯誤事件。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647$month = Get-Date -Format 'MM'$year = Get-Date -Format 'yyyy'$dir = 'EventLog'if($month -eq 1){ $year = $year-1 $month = 12}else{ $month = $month-1} $last = [DateTime]::DaysInMonth($year, $month)$first = Get-Date -Day 1 -Month $month -Year $year -Hour 0 -Minute 0 -Second...