Java 學習筆記:流程控制(if/switch/for/while/break/continue)
順序結構 從上到下依次執行。 選擇結構 if 語句 形式 1:if (條件) { ... }。條件必須為 boolean。無大括號僅影響緊隨其后的一行。 形
Java 多線程基礎:線程與進程、實現方式、狀態、常用方法
一、線程與進程 進程:程序執行過程,擁有資源(內存、文件)和至少一個線程。如 QQ、Chrome 進程。 線程:系統最小執行單元,同進程內多線程共享資源。如
劍指 Offer 面試題 7:用兩個棧實現隊列(Java 實現)
題目 用兩個棧實現隊列,實現 appendTail(尾部插入)和 deleteHead(頭部刪除)。 思路 入隊:只壓入 stack1。 出隊:若 stac
Java 並發編程:無鎖編程、CAS 與 ABA 問題
定義 無鎖編程:在多線程環境下不使用鎖,避免線程阻塞,實現多變量同步,規避競態與死鎖。 原理:CAS (Compare-And-Swap / Compare-
Java 並發編程:DelayQueue 應用場景——多考生考試模擬
場景描述 考試 120 分鐘,30 分鐘後可交卷。初始化考生完成時間最小 30 分鐘。需實現: 120 分鐘內自主交卷的考生正常處理。 120 分鐘到達,未交
我的 Java 之旅 第三課:語言基礎語法
1. 整型 int num = 1_000_000;(Java 7+ 支持下劃線分隔,僅提高可讀性)。 2. 字符串 絕不可用 == 比較內容,必須用 eq
Java 每日一題:為什麼獲取數組最大值前要 clone?
今日問題:以下方法獲取數組最大值,為什麼先 data.clone() 再排序?若要找次大值(最大值可能重複)該如何解決? public static int g
Java 並發編程:ConcurrentHashMap 原理深度分析
背景 Hashtable 使用單一鎖鎖定整張表,並發性能差。ConcurrentHashMap 採用鎖分離技術,內部分為多個段,每段獨立加鎖,允許多線程並發修改
劍指 Offer 面試題 10:二進制中 1 的個數(Java 實現)
題目 實現函數,輸入一個整數,輸出該數二進制表示中 1 的個數。例如 9(1001)有 2 個 1。 解法 利用 n & (n-1) 操作可將最低位的 1 變
Java 開發:如何編寫自定義 JSP Tag
步驟 1:定義 Tag 處理類 繼承 javax.servlet.jsp.tagext.TagSupport,實現屬性與生命週期方法: public class