原创 線程中斷 interrupt 和 LockSupport

本文章將要介紹的內容有以下幾點,讀者朋友也可先自行思考一下相關問題: 線程中斷 interrupt 方法怎麼理解,意思就是線程中斷了嗎?那當前線程還能繼續執行嗎? 判斷線程是否中斷的方法有幾個,它們之間有什麼區別? LockSu

原创 線程sleep,wait,notify,join,yield方法解析

線程的五種狀態 線程從創建到銷燬一般分爲五種狀態,如下圖: 1) 新建 當用new關鍵字創建一個線程時,就是新建狀態。 2) 就緒 調用了 start 方法之後,線程就進入了就緒階段。此時,線程不會立即執行run方法,需要等待獲

原创 怎麼用IDEA快速查看類圖關係

做Java開發的,現在普遍都用上idea了。可以說,idea是當之無愧的Java開發神器。如果,你現在還沒用idea,那肯定是你還沒有感受過它的強大。 好了,話不多說,今天的主題主要是教大家怎麼通過idea快速的查看一個類的類圖關

原创 併發編程之線程池ThreadPoolExecutor

前言 在我們平時自己寫線程的測試demo時,一般都是用new Thread的方式來創建線程。但是,我們知道創建線程對象,就會在內存中開闢空間,而線程中的任務執行完畢之後,就會銷燬。 單個線程的話還好,如果線程的併發數量上來之後,就

原创 面試官讓我手寫一個生產者消費者模式

不知道你是否遇到過面試官讓你手寫生產者消費者代碼。別說,前段時間有小夥伴還真的遇到了這種情況。當時是一臉懵逼。 但是,俗話說,從哪裏跌倒就要從哪裏爬起來。既然這次被問到了,那就回去好好研究一下,爭取下一次不再被虐唄。 於是,今天我

原创 CommonJS、AMD規範的requirejs、es6對比

文件路徑 首先先搞清楚文件路徑的寫法,這裏我總是記不住,有點暈,正好這次整理一下。 以 / 爲起始,表示從根目錄開始解析; 以 ./ 爲起始,表示從當前目錄開始解析; 以 ../ 爲起始,表示從上級目錄開始解析; Common

原创 有限狀態機報錯transition is invalid while previous transition is still in progress

在這之前,先來說下什麼是有限狀態機(Finite-state machine) 背景 我們在開發遊戲,比如rpg遊戲時,會涉及到玩家有各種狀態,如攻擊狀態,等待狀態等,如果用ifelse也可以實現,但是隨着程序複雜度越來越高,這樣

原创 Java三大變量類變量、實例變量和局部變量

最近看到有的地方說: 成員變量包括實例變量和類變量。而有的地方說成員變量就是實例變量,不是包含關係。 我又求證了一些羣友和查資料,最終還是認爲成員變量就是實例變量這種說法比較靠譜。 因爲類變量是在類加載的時候就存在了,是存在方法區

原创 經典排序算法-冒泡排序(java實現)

原理 依次兩兩比較相鄰的元素大小,將較大的放在右邊,這樣每趟下來就把最大的值放到了最右邊,重複以上步驟(n-1)趟,就實現了把所有元素升序排列。 舉例(以升序爲例) 原始數組:3 8 2 9 1 4 第一趟:     

原创 csdn積分獲取攻略

 下載積分攻略:1. 個人設置裏進行手機綁定CSDN賬戶 獎勵50分 (右上角設置-賬戶安全-手機綁定)2. 完成任務送若干分積分      http://task.csdn.net/3. 上傳有效資源獲取積分(上傳非法,廣告資

原创 js中call、apply和bind到底有什麼區別?

介紹 在js中,每個函數的原型都指向Function.prototype對象(js基於原型鏈的繼承)。因此,每個函數都會有apply,call,和bind方法,這些方法繼承於Function。它們的作用是一樣的,都是用來改變函數中

原创 爲什麼大家都說Java中只有值傳遞?

最近跟Java中的值傳遞和引用傳遞槓上了,一度懷疑人生。查了很多資料,加上自己的理解,終於搞清楚了,什麼是值傳遞和引用傳遞。也搞明白了,爲什麼大家都說Java只有值傳遞,沒有引用傳遞。原來,我一直以來的認知都是錯誤的。。。 首先,

原创 爲什麼0.1+0.2=0.30000000000000004

​閱讀本文大約需要8分鐘… 問題 在計算機的世界裏,可能有很多常人無法理解的事情。比如 0.1 + 0.2 = ?。來,告訴我你的答案。 有的朋友看到這就迫不及待的說,這麼簡單的問題,很明顯等於 0.3 啊,小學生都會算的好伐。

原创 適配器模式的三種形式

適配器模式,顧名思義,就是把原本不兼容的接口,通過適配,使之兼容。 舉個生活中簡單的例子,以前的手機內存卡可以取出來,但是想和電腦之間傳輸音樂、視頻等資料不能直接傳輸,需要通過USB讀卡器,然後插入USB接口就可以傳輸了,這個US

原创 軟件設計的六大原則剖析

我們平時編寫代碼時,很少有人爲了刻意迎合軟件設計原則而編寫。其實,有時候是你用到了其中的某個或多個設計原則,而不自知而已。也有可能是有的人壓根就不知道設計原則是什麼。 不過,沒關係,爲了搞明白既抽象又玄幻的六大準則,我總結了一句話