原创 Java 併發 (多線程) 講解

多線程的概念是相對於順序編程 而言的,在順序編程裏,程序只能按照一條線進行執行,而多線程可以打破這一限制,實現併發 效果。 多線程的基本實現方式 繼承Thread類 通過繼承Thread類可以實現新的線程,這樣會很簡便,但一般來說

原创 設計模式—建造者模式

1. 建造者模式的由來     在構建一個複雜對象的時候,經常會有這種情況:該對象是由各個部分的子對象按照一定的步驟或者算法構成。這些子對象也許會經常變化,但它們組合的方式卻不變。     以建造小人爲例,儘管建造出的小人各不相同,有大有

原创 程序人生-一個程序員對學弟學妹的建議

         在一個論壇上看到的帖子,很長。偷一部分過來,慢慢品味。            ***********************************************************************

原创 李開復給我們的七個建議

(1)練內功。不要只花功夫學習各種流行的編程語言和工具,以及某些公司招聘廣告上要求的科目。要把數據結構、算法、數據庫、操作系統原理、計算機體系結構、計算機網絡,離散數學等基礎課程學好。大家不妨試試高德納所著The Art of Comp

原创 Java工程師面試常見問題(網上收集)

1、面向對象的特徵有哪些方面   1.抽象: 抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是

原创 設計模式—單例模式

1. 類圖           2. 示例代碼   //單實例模式 //注意static變量的初始化位置 #include <iostream> using namespace std; class Singleton { priv

原创 設計模式-原型模式

1. 首先分析原型模式的由來     一般來說,創建一個對象可以由以下方法:             知道對象的具體類型,直接用new生成。             不知道型號,知道相應的需求,可以使用工廠方法模式。           

原创 有關快速排序的幾點思考

快速排序曾被評爲20世紀十大算法之一,最很多情況來說都是名副其實的最快的排序算法。其實思路並不難,但在具體的代碼實現時會有很多細節容易出錯。也有一些細節如果不加註意會使排序效率意外降低。          大致思路是:從待排序數組中選出

原创 友元函數和友元類

  1. 使用友元的原因:     類具有封裝和信息隱藏的作用,只有類的成員函數才能訪問類的私有成員。如果把數據成員都定義爲公有的,會破壞類的隱藏特性。但爲了訪問這些數據成員經常需要多次調用成員函數,會有很多開銷。因此才使用友元。   2

原创 覆蓋(重寫) vs 重載 vs 重定義

重寫(override),重載(overload),重定義(redefine)的區別 參見:http://www.cnblogs.com/BeyondTechnology/archive/2010/09/20/1831441.html  

原创 設計模式—工廠模式

1. 工廠模式的由來     軟件開發過程中,經常會需要創建“某個對象”,而該對象卻又經常變化。但用戶需要一個穩定的接口。這就誕生了工廠模式,隔離了該對象的變化,使得系統中其他對象不受其變化的影響,擁有穩定的接口。   2. 類圖    

原创 遞歸實現歸併排序(基本排序算法)

歸併排序也是一種很有名的排序算法,分而治之的思想。但與同樣是分治的快排相比,歸併更側重於“合”,“分”其實是很簡單的。 比較重要的一點是歸併排序的遞歸出口問題,當下標left>=right時就不需要再遞歸了。 歸併排序的不太好的一點是空間

原创 想要的生活

大三了要結束了,要去實習了。這幾天的生活卻變得頹廢起來,昨天在寢室一整天,玩玩三國殺,看幾集電視劇。不知道爲什麼,就是無聊,什麼也不想做,就是想打發時間。 今天稍微早了一些起牀,吃了早飯,看了一會兒書,《拆掉思維裏的牆》。有一些啓發。 曾

原创 三種插入排序的分析(直接插入-二分插入-Shell排序)

衆多排序算法中,有三種插入排序比較常用。最簡單的直接插入,優化後的二分插入排序,以及Shell排序。 直接插入最好理解,時間代價:最壞是O(n2),最好是O(n),平均是O(n2)。空間代價是O(1)。 二分插入總的移動次數並沒有減少,減

原创 運算符重載分析與實例

運算符重載時的幾個關鍵點: 1. 首先,運算符重載不會改變運算符的優先級和結合性。 2. 運算符的重載不能改變運算符的運算對象數。因此,重載函數的形參個數(包括成員函數的隱式指針this)與運算符的運算對象數相同。 3. 大多數運算符