java並發編程實踐筆記

1, 保證安全執行緒的三種方法 :a, 不要跨線程訪問共用變數b, 使共用變數是 final類型的c, 將共用變數的操作加上同步2, 一開始就將類設計成安全執行緒的 , 比在後期重新修複它 ,更容易 .3, 編寫多線程程式 , 首先保證它是正確的 , 其次再考慮效能 .4, 無狀態或唯讀對象永遠是安全執行緒的 .5, 不要將一個共用變數裸露在多線程環境下 (無同步或不可變性保護 )6, 多線程環境下的消極式載入需要同步的保護 , 因為消極式載入會造成對象重複執行個體化7, 對於

Java 反射機制類比hibernate實現持久化

轉自:http://blog.csdn.net/ljjlzx/archive/2009/07/29/4390628.aspxhibernate 可以使我們輕鬆的進行資料庫的操作,傳遞一個查詢語句(類似 "select id,name from userInfo"),hibernate 會自動的將合格對象封裝的list裡面,供我們調用,大大簡化了我們的代碼量。下面就以一段代碼模仿hibernate的實現。程式碼片段一(一般的查詢方法):/*** 通用的查詢方法*

java 靜態匯入

轉自:http://www.java3z.com/cwbwebhome/article/article2/21168.html在Java

Java反射訪問私人變數和私人方法

引言  對於軟體開發人員來說,單元測試是一項必不可少的工作。它既可以驗證程式的有效性,又可以在程式出現 BUG

Java中-classpath和路徑的使用

javac -classpath的使用:javac:如果當前你要編譯的java檔案中引用了其它的類(比如說:繼承),但該引用類的.class檔案不在目前的目錄下,這種情況下就需要在javac命令後面加上-classpath參數,通過使用以下三種類型的方法 來指導編譯器在編譯的時候去指定的路徑下尋找引用類。(1).絕對路徑:javac -classpath c:/junit3.8.1/junit.jar   Xxx.java(2).相對路徑:javac -classpath ../junit3.8

Java中sleep和wait的區別

 sleep()、suspend()、resume()方法不推薦使用,推薦使用wait()、notify()、notifyAll()。    sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿後,線程不一定立即恢複執行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調度為放棄執行,除非        (a)“醒來”的線程具有更高的優先順序。    (b)正在啟動並執行線程因為其它原因而阻塞。     wait()是線程互動時,如果線程對一個同步對象x 發出一個wait(

《java與模式》學習系列——門面模式

 一、門面模式的結構外部與一個子系統的通訊必須通過一個統一的門面對象進行,這就是門面模式。如所示:在門面模式中,通常只需要一個門面類,並且此門面類只有一個執行個體,換言之它是一個單例類。當然這並不意味著在整個系統裡只有一個門面類,而僅僅是說對每一個子系統只有一個門面類。二、什麼情況下使用門面模式1、為一個複雜子系統提供一個簡單介面2、子系統的獨立性,引入Façade模式將一個子系統與它的用戶端以及其他的子系統分離,可以提高子系統的獨立性。3、層次化結構,在構建一個層次化的系統時,可以使用Faça

java靜態方法的繼承

轉自:http://www.blogjava.net/leekiang/archive/2009/07/16/287046.html父類(Father)如果定義了一個靜態方法,如:protected synchronized static void echo(String str) throws Exception{             System.out.println(str);       

《java與模式》學習系列——橋樑模式

 一、橋樑(Bridge)模式的結構橋樑模式的用意是在一個軟體系統的抽象化和實現化之間使用組合/彙總關係而不是繼承關係(繼承是一種強耦合),從而使兩者可以相對獨立地變化。橋樑模式是用彙總關係實現的弱耦合解決方案。結構圖如下:二、橋樑模式在java中的應用AWT的Peer架構Java為AWT中的每一個GUI構件都提供了一個Peer構件,這個Peer構件是所屬的Java構件在本地環境中的實現化。比如Choice是一個AWT提供的GUI構件,它允許使用者在一個列中選擇一個或者多個項。一個Java應用程

《java與模式》學習系列——簡單原廠模式

 一、簡單原廠模式的結構簡單原廠模式就是由一個工廠類根據傳入的參量決定建立出哪一種產品類的執行個體。下面以一個示意性的實現為例說明簡單原廠模式的結構如所示。註:其中Creator類提供的是靜態Factory 方法,如:publicstatic Product factory(){}。二、簡單原廠模式與其他模式的關係單例模式單例模式使用了簡單原廠模式。換言之,單例類具有一個靜態Factory

《java與模式》學習系列——觀察者模式

 一、觀察者(Observer)模式的結構觀察者模式定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態上發生變化時,會通知所有觀察者對象,使它們能夠自動更新自己。結構如所示:二、觀察模式在java中的應用java語言對觀察者模式的支援在java語言的java.util庫裡面,提供了一個Observable類以及一個Observer介面,構成Java語言觀觀察者模式的支援。Observer介面只定義了一個方法,即update方法,相當於抽象觀察者角色。Obser

《java與模式》學習系列——原廠模式

 一、原廠模式的結構所所示:二、原廠模式在java中的應用在java聚集中的應用所有java聚集都實現java.util.Collectioin介面,這個介面規定所有的java聚集必須提供一個iterator()方法,返還一個Iterator類型的對象,如所示URL與URLConnection的應用URL類代表一個Uniform Resource Locator,也就是互連網上資源的一個指標。URL對象提供一個叫做openConnection()的Factory

《java與模式》學習系列——迭代子模式

 一、迭代子(Iterator)模式的結構迭代子模式可以順序訪問一個聚集中的元素而不必暴露聚集的內部表象。所所示:迭代子可分為外稟迭代子和內稟迭代子。外稟迭代子適合於白箱聚集(白箱聚集就是向外界提供訪問自己內部元素介面的聚集),由於迭代的邏輯是由聚集對象本身提供的,所以這樣的外稟迭代子角色往往僅僅保持迭代的遊標位置。所以具體迭代子角色是一個外部類,它的建構函式接受一個具體聚集對象,從而可以調用這個聚集對象的迭代邏輯。內稟迭代子適用於黑箱聚集(黑箱聚集不向外部提供遍曆自己元素對象的介面),由於黑箱

《java與模式》學習系列——抽象原廠模式

 一、抽象原廠模式的結構所所示:適用情況:1、一個系統不應當依賴於產品類執行個體如何被建立、組合和表達的細節,這對於所有形態的原廠模式都是重要的。2、這個系統的產品有多於一個的產品族,而系統只消費其中某一族的產品(上面這一條叫做抽象工廠的原始用意)3、同屬於同一個產品族的產品是在一起使用的,這一約束必須在系統的設計中體現出來。4、系統提供一個產品類的庫,所有的產品以同樣的介面出現,從而使用戶端不依賴於實現。二、抽象原廠模式在java中的應用java

《java與模式》學習系列——責任鏈模式

 一、責任鏈(Chain ofResponsibility)模式的結構在責任鏈模式裡,很多個物件由每一個對象對其下家的引用而連結起來形成一條鏈。請求在這個鏈上傳遞,直到鏈上的某一個對象決定處理此請求。發出這個請求的用戶端並不知道鏈上的哪一個對象最終處理這個請求,這使得系統可以在不影響用戶端的情況下動態地重新組織鏈和分配責任。如所示:代碼如下 ://Handler類publicabstract class Handler {          protected Handler

《java與模式》學習系列——適配器模式

 一、適配器模式的結構適配器模式(Adapter

《java與模式》學習系列——單例模式

 一、單例模式的結構單例模式有三個要點:一是某個類只能有一個執行個體;二是它必須自行建立這個案例;三是它必須自行向整個系統提供這個執行個體。 餓漢式單例類原始碼如下:public class EagerSingleton{ private static final EagerSingleton m_instance = new EagerSingleton(); private EagerSingleton(){} public static

《java與模式》學習系列——命令模式

 一、命令(Command)模式的結構命令模式把一個請求或者操作封裝到一個對象中。命令模式允許系統使用不同的請求把用戶端參數化,對請求排隊或者記錄請求日誌,可以提供命令的撤銷和恢複功能。命令模式是對命令的封裝。命令模式把發出命令的責任和執行命令的責任分割開,委派給不同的對象。命令模式類似C語言的回調。因為java不支援函數指標,所以命令模式可以達到同樣的目的。結構圖如所示:客戶角色代碼如下:public class Client{         public staticvoid

《java與模式》學習系列——裝飾模式

 一、裝飾(Decorator)模式的結構裝飾模式以對用戶端透明的方式擴充項物件的功能,是繼承關係的一個替代方案。裝飾模式有透明和半透明的兩種,這兩種的區別就在於裝飾角色的介面與抽象構件角色的介面是完全一致。半透明情況下裝飾角色的介面比抽象構件角色的介面寬。所所示:如果只有一個ConcreteDecorator類,那麼就沒有必要建立一個單獨的Decorator類,而可以把Decorator和ConcreteDecorator的責任合并成一個類。二、裝飾模式適用的情境1、需要擴充一個類的功能,或給

《java與模式》學習系列——享元模式

 一、享元(Flyweight)模式的結構享元模式是對象的結構模式,享元模式以共用的方式高效地支援大量的細粒度對象。享元對象能做到共用的關鍵是區分內蘊狀態(Internal State)和外蘊狀態(External

總頁數: 4058 1 .... 465 466 467 468 469 .... 4058 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.