Time of Update: 2018-12-05
Time of Update: 2018-12-05
在Myeclipse中添加配置更相關xml-顯示文法補齊1. 解壓hibernate3.jar2. 找到\hibernate3\org\hibernate\hibernate-configuration-3.0.dtd3. 將hibernate-configuration-3.0.dtd放到一個固定的檔案夾下,一般放在C:\Program Files\MyEclipse 6.6\dtds下4. 在Myeclipse下èWindowsèPreferences5.
Time of Update: 2018-12-05
Java原廠模式看了這麼多關於原廠模式的講解,還是覺得這篇文章講的好理解,貼出來和大家分享分享。 一、引子 話說十年前,有一個****戶,他家有三輛汽車——Benz平治、Bmw寶馬、Audi奧迪,還雇了司機為他開車。不過,****戶坐車時總是怪怪的:上Benz車後跟司機說“開平治車!”,坐上Bmw後他說“開寶馬車!”,坐上Audi說“開奧迪車!”。你一定說:這人有病!直接說開車不就行了?!
Time of Update: 2018-12-05
第十九計:避免類的臃腫 在我接觸過的大部分項目中,總會有一個“大胖子“類特別惹眼,一般來說,這“大胖子“實際上是整個系統的核心類之一,之所以“胖“,主要原因是很多人都會把自己需要的函數加到這個類中,卻沒有人主動請纓來為它“減肥“。可以通過以下幾種方式來為它“瘦身”: 1、按照某種特性(如功能、類型等)將這個類拆分成多個類。 2、合并冗餘函數,保持函數粒度的最小化。 3、去除重複代碼。 如果實在不能再“瘦”了,那就通過實現相應的介面,讓它“看上去很瘦“,舉個例子: public
Time of Update: 2018-12-05
1. 實現原理首先設計兩個線程,一個讀者線程,一個寫者線程,兩個線程讀者寫者問題是這樣一種情況,就是允許對資源進行兩種類型的操作(讀和寫)。而寫操作是排他的(排斥讀者,同樣排斥其他寫者),讀操作是共用的(多個讀者可讀,排斥寫者)。這就存在兩種策略:1.讀者優先(強讀者同步Strong reader
Time of Update: 2018-12-05
第二十五計:函數體最多不超過100行 記得以前看過一個函數有9000多行,很壯觀啊,從那以後看到長函數時也不奇怪了,我認為過長函數的主要缺點是:1、嚴重影響代碼的閱讀,使用到某個變數的地方可能間隔幾百甚至上千行,如果if-else嵌套層次較多的話那就更噩夢了。2、不利於代碼的重用,短小而獨立的邏輯處理單元更容易被重用,而過長的程式碼片段則需要經過進一步分解才行。我覺得函數最好不要超過100行,對於過長的函數要儘可能地進行分解,如果實在不能分解,那麼就通過注釋的方式增加該函數處理步驟的說明,例如
Time of Update: 2018-12-05
最近做項目,做測試時,無意中遇到了一個問題:分別用BeanFactory和用ApplicationContext的getBean方法擷取dataSource,用ApplicationContext擷取成功,而用BeanFactory擷取則報錯 Java代碼 public class DataSourceTest { public static void main(String[] args) {
Time of Update: 2018-12-05
開閉原則OCP(Open-Close Principle)被稱作是OOD的基石,是OOD最重要的原則之一。這個原則由大師Bertrand Meyer在1988年提出(汗,那個時候恐怕國內還很少人知道OO,甚至電腦為何物):Software entities should be open for extension,but closed for
Time of Update: 2018-12-05
如果預計要建立組件的多個版本,則建立抽象類別。抽象類別提供簡單易行的方法來控制組件版本。通過更新基類,所有繼承類都隨更改自動更新。另一方面,介面一旦建立就不能更改。如果需要介面的新版本,必須建立一個全新的介面。 如果建立的功能將在大範圍的全異對象間使用,則使用介面。抽象類別應主要用於關係密切的對象,而介面最適合為不相關的類提供通用功能。 如果要設計小而簡練的功能塊,則使用介面。如果要設計大的功能單元,則使用抽象類別。
Time of Update: 2018-12-05
重構,其實很簡單,它的目的就是讓程式變得更容易被理解,更具有可維護性,結構更合理。重構應該是我們平時寫代碼過程中必不可少的一部分,比如給函數起了一個更好的名字、把大函數拆分成幾個小函數等都屬於重構。重構的經典書籍包括Martin Flower的《重構-改善既有代碼的設計》、Joshua Kerievsky的《重構與模式》,本系列的所謂36計是我多年來使用最為頻繁的重構策略和編碼準則,有自己總結的,也有書上提到過的,希望對大家能有所協助。 第一計:參數列表對象化
Time of Update: 2018-12-05
跟JBPM學習設計模式之簡單原廠模式 模式簡介 簡單原廠模式是類的建立模式,其專門負責將大量擁有共同介面或者基類的產品類進行執行個體化。簡單原廠模式由工廠類運行時根據傳入的參數動態決定需要執行個體化的類,這樣客戶只需要瞭解產品的基類,解除客戶對具體產品類的依賴。簡單原廠模式的結構如所示 圖 1. 簡單原廠模式結構圖 可以看出,簡單原廠模式主要涉及一下三種結構角色1. 工廠類,其有用戶端直接調用,並根據具體的商務邏輯要求建立相應的產品對象執行個體;2
Time of Update: 2018-12-05
誕生50多年之後,函數式編程(functional programming)開始獲得越來越多的關注。不僅最古老的函數式語言Lisp重獲青春,而且新的函數式語言也層出不窮,比如Erlang、Clojure、Scala,、F#等等。目前最當紅的Python、Ruby、Javascript,對函數式編程的支援都很強,就連老牌的物件導向的Java、面向過程的PHP,都忙不迭地加入對匿名函數的支援。越來越多的跡象表明,函數式編程已經不再只是學術界的最愛,也開始大踏步地在業界投入使用。也許繼“物件導向編程”
Time of Update: 2018-12-05
第七計:串聯函數調用當一個類的大部分函數被較為頻繁地調用,並且包含連續性地調用,那麼可以考慮為這個類中那些沒有傳回值的函數增加傳回值,即返回對象本身,這樣就可以串聯函數調用,使用起來較為方便,舉個例子:// 表示使用者的類public class User{ public void setName(String name); public void setAge(int age); public void setPhoneNumber(int
Time of Update: 2018-12-05
之所以出現線程,就是為了更好的利用CPU,讓她更加“精明”的幹活。通過調用Thread類的start()方法來啟動一個線程,這時此線程是處於就緒狀態,並沒有運行。然後通過此Thread類調用方法run()來完成其運行操作的,這裡方法run()稱為線程體,它包含了要執行的這個線程的內容,Run方法運行結束,此線程終止,而CPU再運行其它線程,而如果直接用Run方法,這隻是調用一個方法而已,程式中依然只有主線程--這一個線程,其程式執行路徑還是只有一條,這樣就沒有達到寫線程的目的。線程就是為了更好地
Time of Update: 2018-12-05
第十三計:為集合類型的成員變數提供增刪改查函數 對於集合類型的成員變數,直接提供一個函數將其暴露出去是不夠妥當的,缺點包括以下幾點: 1、添加集合元素時無法校正它的合法性,例如類型是否符合要求、該元素是否已存在等。 2、無法控制集合的容量,集合的容量可能是動態分配的。 所以,更好的做法是為集合類型的成員變數提供增刪改查等函數,例如某個類中有名為userList的數組,則可以為它增加幾個函數: public void add(User user){ if(user == null) //
Time of Update: 2018-12-05
1.1 視覺測量技術 1.1.1 現代檢測技術的發展趨勢 檢測技術是現代化工業的基礎技術之一,是保證產品品質的關鍵。在現代化的大生產之中,涉及到各種各樣的檢測。隨著工業製造技術和加工工藝的提高和改進,對檢測手段、檢測速度和精度提出了更高的要求。現代檢測技術是工業發展的基礎,測量的精度和效率在一定程度上決定了製造業乃至科學技術發展的水平。現代檢測技術要能適應快速發展的製造業,根據先進位造技術發展的要求,以及精密測量技術自身的發展規律,不斷拓展新的測量原理和測試方法。近年來檢測技術發展趨勢[1,2]
Time of Update: 2018-12-05
潤乾報表是一個已經開發了近7年的報表工具,主要用於解決java下的報表開發問題。現在的版本是3.5.5(據說新的4.0就要出來了,期待呵)。潤乾報表的特點比較突出,總結如下:首先,他們號稱是獨創的非線性報表模型徹底解決了複雜報表的設計開發問題。整套模型的核心大致包括:Excel式設計模型、儲存格擴充模型、主格附屬格模型以及層次座標模型。通過這幾個模型,能以高於傳統拖拽式工具十倍以上的效率完成複雜報表。實際使用方式:主要是理解這套模型,之後的事情就簡單了,項目中的複雜點的報表都能用非線性報表解決,
Time of Update: 2018-12-05
第三十一計:置空不用的對象在C++中,銷毀一個對象後,一定要把指標置為NULL,否則會出現野指標,最好寫成下面這樣,delete後立馬置為NULL,delete pObject;pObject = NULL;在Java中,當不再需要一個對象時,最好能把它置為null,這樣有利於記憶體回收。 第三十二計:善於利用介面 1、 回調型介面 在C語言中,回呼函數可以通過函數指標來實現,Java中沒有指標的概念,可以利用介面來達到同樣的目的,例如: public interface
Time of Update: 2018-12-05
今天在JavaEye上看到一個很火的文章,題目是(面試):用Exception(異常)還是if判斷http://www.javaeye.com/topic/745640。內容大概是:當參數不合法的時候,究竟是if else 判斷後返回一個值還是直接來個Exception ?如果是 if else 的話,有什麼好處?如果是 exception 的話,又有什麼好處?或者是根據不同情況來定? 實際中應該使用if
Time of Update: 2018-12-05
米林(ljg)郵箱使用說明系統:http://download.csdn.net/detail/afgasdg/3681707一、 環境配置本系統需要的環境:apache james3.0郵件伺服器、tomcat 伺服器、Mysql5.1資料庫二、 具體環境配置Mysql5.1 配置 使用本系統前請將mysql編碼設定成utf-8編碼形式,mysql使用者名稱