Time of Update: 2015-05-13
標籤:Flyweight定義:避免大量擁有相同內容的小類的開銷(如耗費記憶體),使大家共用一個類(元類)。為什麼使用共用模式/享元模式物件導向語言的原則就是一切都是對象,但是如果真正使用起來,有時對象數可能顯得很龐大,比如,文書處理軟體,如果以每個文字都作為一個對象,幾千個字,對象數就是幾千,無疑耗費記憶體,那麼我們還是要"求同存異",找出這些對象群的共同點,設計一個元類,封裝可以被共用的類,另外,還有一些特性是取決於應用(context),是不可共用的,這也Flyweigh
Time of Update: 2015-05-13
標籤:編程 今天做了Medallia公司的Java面試題,發現用慣了C/C++之後對Java感到異常地不適應,特別是對資料結構在Java中如何使用感到十分頭疼,於是開始整理並練習Java API裡頭關於資料結構的使用方法。甲骨文的Java API對每一種資料結構只提供解釋但沒有提供相關的例子,很不方便,因為大多數時候我們都是通過讀例子來學慣用法,這也是我學C++覺得最有用的方法。Vector 甲骨文API:“The Vector class implements a growable
Time of Update: 2015-05-13
標籤:google java java學習 java面試題 android 原文連結 Jakob
Time of Update: 2015-05-13
標籤: 第一,談談final, finally, finalize的區別。最常被問到。 第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)? 第三,Static Nested Class 和 Inner
Time of Update: 2015-05-13
標籤:線程優先順序被線程調度用來判定何時每個線程允許運行。理論上,優先順序高的線程比優先順序低的線程獲得更多的CPU時間。實際上,線程獲得的CPU時間通常由包括優先順序在內的多個因素決定(例如,一個實行多任務處理的作業系統如何更有效利用CPU時間)。一個優先順序高的線程自然比優先順序低的線程優先。舉例來說,當低優先順序線程正在運行,而一個高優先順序的線程被恢複(例如從沉睡中或等待I/O中),它將搶佔低優先順序線程所使用的CPU。理論上,等優先順序線程有同等的權利使用CPU。但你必須小心了。記住,
Time of Update: 2015-05-13
標籤:java培訓 文字框 false 資訊 左右 預設的布局 : FlowLayoutButtonbutton.setLabel("取消");//設定按鈕上的文本// button.setEnabled(b);//設定是否可點擊// String actionCommand =
Time of Update: 2015-05-13
標籤:java陶炳哲 — MAY 12,
Time of Update: 2015-05-13
標籤: 在java的動態代理機制中,有兩個重要的類或介面,一個是 InvocationHandler(Interface)、另一個則是 Proxy(Class),這一個類和介面是實現我們動態代理所必須用到的.InvocationHandler每一個動態代理類都必須要實現InvocationHandler這個介面,並且每個代理類的執行個體都關聯到了一個handler,當我們通過代理對象調用一個方法的時候,這個方法的調用就會被轉寄為由InvocationHandler這個介面的
Time of Update: 2015-05-13
標籤:我知道環境變數,也知道搞系統變數。別給我粘那些教程了,我的java路程是C:\Program Files\Java\jdk1.6.0_05誰弄好了把那三個變數和值發出來....JAVA_HOME=C:\Program Files\Java\jdk1.6.0_05CLASSPATH=C:\Program Files\Java\jdk1.6.0_05\lb\tools.jar設定好後開個CMD 運行java--------------------------------------------
Time of Update: 2015-05-13
標籤:用TCP通訊模型建立一個web伺服器??主要用ServerSocket 一直監聽,這裡將其放到while迴圈中,在迴圈體內單開一個線程??public class MyWebServer {public static void main(String[] args) throws IOException {ServerSocket ss=new ServerSocket(80);Socket
Time of Update: 2015-05-13
標籤:1. 只要你的靜態方法不訪問全域變數的話,就不會有並發問題 訪問全域變數肯定會出現並發問題,這是毫無疑問的 靜態方法內部的變數,都是局部變數,每次調用靜態方法時都會重新分配記憶體空間,所以是安全的。 也就是是說只要你的靜態方法不訪問全域變數的話,就不會有並發問題 JAVA代碼驗證實驗我一直想做,但是沒有時間,如果哪位有興趣,
Time of Update: 2015-05-13
標籤:陶炳哲 — MAY 12, 2015 在對OneAPM的客戶做支援人員時,我們常常會看到很多客戶根本沒意識到的異常。在消除了這些異常之後,代碼運行速度與以前相比大幅提升。這讓我們產生一種猜測,就是在代碼裡面使用異常會帶來顯著的效能開銷。因為異常是錯誤情況處理的重要組成部分,摒棄是不太可能的,所以我們需要衡量異常處理對於效能影響,我們可以通過一個實驗看看異常處理的對於效能的影響。 實驗
Time of Update: 2015-05-13
標籤:java集合類 java java編程 java集合源碼解析 源碼 Map如我們所知,儲存的是鍵值對,它的基本單位是實現了Map.Entry<K,V>的Node<K,V>,Node 的屬性如下:static class Node<K,V> implements
Time of Update: 2015-05-13
標籤:轉自--->http://ouyangfei0426.iteye.com/blog/1020232src(源檔案夾)┃┣━11.properties┃┗━myspider(myspider包) ┃
Time of Update: 2015-05-13
標籤: 我們書寫執行一個功能的函數時,經常需要在其中寫入與功能不是直接相關但很有必要的代 碼,如日誌記錄,資訊發送,安全和事務支援等,這些枝節性代碼雖然是必要的,但它會帶 來以下麻煩:枝節性代碼游離在功能性代碼之外,它下是函數的目的,這是對OO是一種破壞枝節性代碼會造成功能性代碼對其它類的依賴,加深類之間的耦合,而這是OO系統所竭力避免的枝節性代碼帶來的耦合度會造成功能性代碼移植困難,可重用性降低從法理上說,枝節性代碼應該`監視‘著功能性代碼,然後採取行動,而不是功能性代碼
Time of Update: 2015-05-13
標籤:什麼是分布式系統之前我有篇文章已經簡單介紹了分布式通訊,有興趣的朋友可以去看看:大型網站系統架構實踐(二)分布式模組之間的通訊那麼今天我詳細的說下我對java分布式系統通訊的理解1.叢集模式,將相同應用模組部署多份2.業務拆分模式,將業務拆分成多個模組,並分別部署3.儲存分布式由於分布式概念太大,我們可以縮小下討論的範圍:以下分布式的狹義定義為:業務拆分,但不限於水平分割,而是拆分出底層模組,功能模組,上層模組等等一個系統功能繁多,且有層次依賴,那麼我們需要將其分為很多模組,並分別部署 。
Time of Update: 2015-05-13
標籤:如前所述,通常你希望主線程最後結束。在前面的例子中,這點是通過在main()中調用sleep()來實現的,經過足夠長時間的延遲以確保所有子線程都先於主線程結束。然而,這不是一個令人滿意的解決方案,它也帶來一個大問題:一個線程如何知道另一線程已經結束?幸運的是,Thread類提供了回答此問題的方法。有兩種方法可以判定一個線程是否結束。第一,可以線上程中調用isAlive()。這種方法由Thread定義,它的通常形式如下: final boolean isAlive(
Time of Update: 2015-05-13
標籤:原文連結 Jakob Jenkov 譯者:高嵩 校對:丁一在java中當多個線程同時訪問同一個資源,並且其中的一個或者多個線程對這個資源進行了寫操作,才會產生競態條件。多個線程同時讀同一個資源不會產生競態條件。我們可以通過建立不可變的共用對象來保證對象線上程間共用時不會被修改,從而實現安全執行緒。如下樣本:public class ImmutableValue{ private int value = 0;
Time of Update: 2015-05-13
標籤:1.springMVC對事務的管理方式有哪些2.
Time of Update: 2015-05-13
標籤:Set代表一種無序集合,集合元素不可重複;Map代表一種多個key-value對組成的集合從Set和Map的繼承體系圖看,如果從名稱分析,Set和Map有著千絲萬縷的聯絡。並且從JDK中提供的Map介面中,你會發現提供了這樣一個方法: Set<K>