原创 分析ReentrantLock之lockInterruptibly

ReentrantLock代碼剖析之ReentrantLock.lockInterruptibly ReentrantLock.lockInterruptibly允許在等待時由其它線程調用等待線程的Thread.interrupt方法

原创 Java基礎面試題——(2)

題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。 代碼實現: public class JavaInterview_2 { public static void main(String[] args) { int m

原创 程序運行超時處理——JAVA

JAVA中Future類的方法包括get()和cancel()。get()獲取數據對象,如果數據沒有加載,就會阻塞直到取到數據,而 cancel()是取消數據加載。另外一個get(timeout)操作,表示如果在timeout時間內沒有取

原创 Java基礎面試題——(6)

題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數爲多少?    代碼實現: public class JavaInterview_6 {

原创 分析ReentrantLock之unlock

下面來看ReentrantLock.unlock,嘗試在當前鎖的鎖定計數即state值上減1,而lock每次把鎖定計數加1,這也是爲什麼lock和unlock必須成對出現,否則鎖定計數就不能正常恢復到0,其它線程就不能嘗試獲取鎖

原创 ConcurrentHashMap探討

ConcurrentHashMap 仔細閱讀了一下,博主剖析地不錯,分享了。 ConcurrentHashMap是Java5中新增加的一個線程安全的Map集合,可以用來替代HashTable。對於ConcurrentHashMa

原创 Java關鍵字解析

Java中的關鍵字 Abstract  一個Java語言中的關鍵字,用在類的聲明中來指明一個類是不能被實例化的,但是可以被其它類繼承。一個抽象類可以使用抽象方法,抽象方法不需要實現,但是需要在子類中被實現。break  一個Java的關鍵

原创 面試,一個不對等的雙選之路

求職經歷:華爲(offer),中興(offer),烽火(offer) 。。。。。。 座右銘/心語:面試是一個不對等的雙向選擇,求職路也是一個不斷重新認識自己的過程。  由於各種原因,沒有進入夢想已久的公司,但是我會堅持,期待明天。在此分享

原创 Java基礎面試題——(5)

題目:獲取兩個字符串中最大相同子串。比如: str1 = "abcwerthelloyuiodef“;str2 = "cvhellobnm"。 代碼實現: public class JavaInterview_5 { public

原创 Java類加載機制

最近看了Java的類加載機制,在此mark一下。 1. 類加載器的種類 Java虛擬機中可以安裝多個類加載器,系統默認主要有四個類加載器,每個類負責加載特定位置的類:BootStrapClassLoader,ExtClassLoader

原创 算法面試題——直方圖內最大矩陣

題目:給出一個直方圖(如圖所示),求出所給直方圖中所包含的最大矩陣面積。直方圖可以用一個整數數組表示,如上圖爲[2, 1, 5, 6, 2, 3]。每個直方塊的寬度均爲1。上圖中包含的最大矩陣面積爲10。來源:http://www.jiu

原创 Java基礎面試題——(3)

題目:從鍵盤分別輸入年、月、日,判斷這一天是當年的第幾天。 代碼實現: public class JavaInterview_3 { public static void main(String[] args) { Scann

原创 Java基礎面試題——(1)

題目:一個數組,讓數組的每個元素去除第一個元素,得到的商作爲被除數所在位置的新值。 代碼實現: public class JavaInterview_1 { public static void main(String[]

原创 Java基礎面試題——(4)

題目:輸入一個整形數組,數組裏有正數也有負數。數組中連續的一個或多個整數組成一個子數組,每個子數組都有一個和。求所有子數組的和的最大值。要求時間複雜度爲O(n)。例如:輸入的數組爲1, -2, 3, 10, -4, 7, 2, -5,和最