多線程作為Java中很重要的一個知識點,在此還是有必要總結一下的。 一.線程的生命周期及五種基本狀態 關於Java中線程的生命周期,首先看一下下面這張較為經典的圖: 上圖中基本上囊括了Java中多線程各重要知識點。掌握了上圖中的各知識點,Java中的多線程也就基本上掌握了。主要包括 ...
多線程作為Java中很重要的一個知識點,在此還是有必要總結一下的。 一.線程的生命周期及五種基本狀態 關於Java中線程的生命周期,首先看一下下面這張較為經典的圖: 上圖中基本上囊括了Java中多線程各重要知識點。掌握了上圖中的各知識點,Java中的多線程也就基本上掌握了。主要包括 ...
本文主要接着前面多線程的兩篇文章總結Java多線程中的線程安全問題。 一.一個典型的Java線程安全例子 上面例子很容易理解,有一張銀行卡,里面有1000的余額,程序模擬你和你老婆同時在取款機進行取錢操作的場景。多次運行此程序,可能具有多個不同組合的輸出結果。其中一種可能的輸出 ...
一. 泛型概念的提出(為什么需要泛型)? 首先,我們看下下面這段簡短的代碼: 定義了一個List類型的集合,先向其中加入了兩個字符串類型的值,隨后加入一個Integer類型的值。這是 ...
一. 泛型概念的提出(為什么需要泛型)? 首先,我們看下下面這段簡短的代碼: 定義了一個List類型的集合,先向其中加入了兩個字符串類型的值,隨后加入 ...
本文承接上一篇文章《Java總結篇系列:Java多線程(一)》。 四.Java多線程的阻塞狀態與線程控制 上文已經提到Java阻塞的幾種具體類型。下面分別看下引起Java線程阻塞的主要方法。 1.join() join —— 讓一個線程等待另一個線程完成才繼續執行。如A線程線程執行體中調用 ...
String作為Java中最常用的引用類型,相對來說基本上都比較熟悉,無論在平時的編碼過程中還是在筆試面試中,String都很受到青睞,然而,在使用String過程中,又有較多需要注意的細節之處。 1.String是不可變類。 這句話其實大家都很熟悉了,那么具體什么是不可變類呢?一般認為 ...
之前寫到了設計模式的代理模式,因為下一篇動態代理等內容需要用到反射的知識,所以在之前Java篇的基礎上再寫一篇有關反射的內容,還是以實際的程序為主,了解反射是做什么的、應該怎么用。 一、什么是反射 反射就是把Java類中的各個成分映射成一個個的Java對象。即在運行狀態中,對於任意一個 ...
A a = (A)Class.forName(“pacage.A”).newInstance(); 這和你 A a = new A(); 是一樣的效果。 String className = “E ...