Time of Update: 2017-02-27
儘管關於Java中文問題的討論已經相當多了,但由於Java的相關技術標準繁多,面向Java的Web伺服器、應用伺服器以及JDBC資料庫驅動等都沒有官方的標準,所以Java應用在處理中文時所存在的問題不僅沒有消失而且隨著所選用的伺服器、驅動程式以及運行環境等因素的不同而變化。那麼我們如何從眾多現象中找出問題所在,並進行分析和解決呢?與大部分的討論不同,本文將主要從如何預測、發現和檢查問題的角度給出建議,協助開發人員找出可能引起問題的各種源頭,從而更好地解決Java的中文問題。引言儘管對於Java中
Time of Update: 2017-02-27
Java編程中的異常處理是一個很常見的話題了,幾乎任何一門介紹性的Java課程都會提到異常處理。不過,我認為很多人其實並沒有真正掌握正確處理異常情況的方法和策略,最多也就不過瞭解個大概,知道點概念。本文就對三種不同程度和品質的Java異常處理進行了討論,所闡述的處理異常的方式按手法的高下分為:好,不好和惡劣三種。同時向你提供了一些解決這些問題的技巧。首先解釋一些java異常處理中必須搞清楚的定義和機制。Java語言規範將自Error類或RuntimeException類衍生出來的任何違例都稱作&
Time of Update: 2017-02-27
一、建立型模式FACTORY?人才市場:以往是要哪個人才,就找哪個人才,效率低,現在有了人才市場,我們只需直接去人才市場挑一個好了;BUILDER?生產流水線:以前是手工業作坊式的人工單個單個的生產零件然後一步一步組裝做,好比有了工業革命,現在都由生產流水線代替了。如要造豐田汽車,先制定汽車的構造如由車胎、方向盤、發動機組成。再以此構造標準生產豐田汽車的車胎、方向盤、發動機。然後進行組裝。最後得到豐田汽車;PROTOTYPE?印刷術的發明:以前只能臨貼才能保持和別人的字跡基本相同,直從印刷技術發
Time of Update: 2017-02-27
初學者更適合使用文本編輯軟體來學習Java,對Java有一定認識後推薦使用Eclipse,對那些要求開發效率的程式員當然首選就是JBuilder。對於文本編輯軟體我推薦EditPlus,EditPlus是很多程式員非常熟悉的編輯工具,它以佔用系統資源小、操作簡便靈活、支援檔案類型豐富(還能自訂檔案類型)等優點而被廣泛使用。EditPlus除了具有編輯程式的功能,還有靈活的編譯功能,下面就簡單介紹一下EditPlus對Java編譯設定。在配置EditPlus之前是先將Java的運行環境安裝且調試好
Time of Update: 2017-02-27
J2SE 5.0平台包含了一個新的並發工具程式包。這個程式包中的類替並發類(concurrent classe)或並發設計中使用的應用程式建立阻塞(blocking)。該並發工具包含下面一些內容:高效能的、靈活的線程池非同步執行事務的架構組件為並發訪問最佳化過的集合類宿主(host)本文介紹了J2SE
Time of Update: 2017-02-27
為何需要任務調度?在web應用中,大多數任務是以一種"防止使用者長時間等待"的方式完成的。在Google搜尋這樣的例子中,減少等待時間對使用者體驗來說至關重要。非同步任務的一種解決方案是在使用者提交後產生一個線程(來處理非同步任務),但這也不能解決那些需要以一定時間間隔重複運行任務、或在每天的指定時間運行任務的情況。讓我們從一個資料庫報表的例子來看看任務調度能如何協助改善系統設計。報表可能是錯綜複雜的,這取決於使用者所需資料的種類,以及是否需要從一個或多個資料庫收集大量資料。
Time of Update: 2017-02-27
概述Java 項目開發過程中,由於開發人員的經驗、代碼風格各不相同,以及缺乏 統一的標準和管理流程,往往導致整個項目的代碼品質較差,難於維護,需要較 大的測試投入和周期等問題。這些問題在一個項目組初建、需求和設計均具有不 完全可預期性和完備性的全新項目中將尤為突出。本文將結合敏捷開發週期短, 變化快等特點,介紹如何通過在開發過程中採取一系列步驟來保證和提高整個開 發團隊的代碼品質,並闡述了每一步可以利用的工具和最佳實務,從而使開發過
Time of Update: 2017-02-27
從教程(十)開始,已經從學習單個類的基本文法,轉到了學習多個類之間 的關係。教程(十)中,學習了類與類長間的兩種關係,關聯和依賴。為了維護 1對多的關係,在教程(十一)中,學習了數組。除了關聯和依賴,類與類還有 一種非常重要且常見的關係,就是繼承。本文將介紹繼承的概念、作用、使用場 景等。假設有這樣一個簡單需求(其實談不上是需求,僅僅為了初學者容易理解而 編造):某培訓中心要開發一個內部員工管理系統。該培訓中心目前有兩個部門
Time of Update: 2017-02-27
我們在定義常量的時候,可以把常量定義在介面裡面,如:package org.zy.demo.base;public interface InterfaceDemo { final String name="this is my name";}上面是我定義的介面和常量。常量的定義沒有指明 public static我實現此介面:package org.zy.demo.base;public class InterfaceImpl implements
Time of Update: 2017-02-27
多態性(polymorphism)是物件導向編程的屬性,它允許多個方法使用同一個介面。Java從多個方面支援多態性,其中兩個方面最為突出。第一個是每個方法(標記為
Time of Update: 2017-02-27
1.設定CookieCookie cookie = new Cookie("key", "value");cookie.setMaxAge(60);設定60秒生存期,如果設定為負值的話,則為瀏覽器進程Cookie(記憶體中儲存),關閉瀏覽器就失效。cookie.setPath("/test/test2");設定Cookie路徑,不設定的話為當前路徑(對於Servlet來說為request.getContextPath() +
Time of Update: 2017-02-27
線程的同步是Java多線程編程的痛點,往往開發人員搞不清楚什麼是競爭資源、什麼時候需要考慮同步,怎麼同步等等問題,當然,這些問題沒有很明確的答案,但有些原則問題需要考慮,是否有競爭資源被同時改動的問題?在本文之前,請參閱《Java線程:線程的同步與鎖》,本文是在此基礎上所寫的。對於同步,在具體的Java代碼中需要完成一下兩個操作:把競爭訪問的資源標識為private;同步哪些修改變數的代碼,使用synchronized關鍵字同步方法或代碼。當然這不是唯一控制並發安全的途徑。synchronize
Time of Update: 2017-02-27
在Java5之前,線程是沒有傳回值的,常常為了“有”傳回值,破費周折,而且代碼很不好寫。或者乾脆繞過這道坎,走別的路了。現在Java終於有可傳回值的任務(也可以叫做線程)了。可傳回值的任務必須實現Callable介面,類似的,無傳回值的任務必須Runnable介面。執行Callable任務後,可以擷取一個Future的對象,在該對象上調用get就可以擷取到Callable任務返回的Object了。下面是個很簡單的例子:import java.util.concurrent
Time of Update: 2017-02-27
在Java5中,專門提供了鎖對象,利用鎖可以方便的實現資源的封鎖,用來控制對競爭資源並發訪問的控制,這些內容主要集中在 java.util.concurrent.locks 包下面,裡面有三個重要的介面Condition、Lock、ReadWriteLock。 Condition Condition 將 Object 監視器方法(wait、notify 和 notifyAll)分解成截然不同的對象,以便通過將這些對象與任意
Time of Update: 2017-02-27
因此,本人認為,這個訊號量類如果能返回數目,還能知道哪些對象在等待,哪些資源可使用,就非常完美了,僅僅拿到這些概括性的數字,對精確控制意義不是很大。目前還沒想到更好的用法。下面是一個簡單例子:import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;/*** Java線程:新特徵-訊號量** @author leiz
Time of Update: 2017-02-27
障礙器是多線程並發控制的一種手段,用法很簡單。下面給個例子:import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;/*** Java線程:新特徵-障礙器** @author leizhimin */public class Test { public static void main(String[] args) {
Time of Update: 2017-02-27
在java中,我們可以通過兩種方式來擷取隨機數(generating a random number)一種是大家熟悉的java.lang.Math.Random()靜態方法,另一種是建立java.util.Random對象。下面是兩種方法的使用過程:一.java.lang.Math.random()在使用這一靜態方法的時候,我們不需要import任何包,因為java.lang.*包是預設載入的,下面舉例說面使用方法:public class RandomTest{ public static
Time of Update: 2017-02-27
歡迎光臨有關 Java 和 CORBA 技術的這一定期欄目。此第一期將概述 Java 和 CORBA 技術,並協助您決定如何最有效地讓它們為您工作。以後的欄目將提供 Java 和 CORBA 編程的內行指導和代碼。在 1855 年,時年 26 歲的 Joshua Chamberlain 是 Bowdoin
Time of Update: 2017-02-27
第二部分:認識兩個重要的ASP(Application Service Provider)模型在前一節關於體繫結構介紹的基礎上,本節進一步介紹Web應用的體繫結構,並且詳細介紹了兩個主流的Web應用體繫結構。1、從“Web內容”到“Web應用”ASP(Application Service
Time of Update: 2017-02-27
Java本身是一種設計的非常簡單,非常精巧的語言,所以Java背後的原理也很簡單,歸結起來就是兩點:1、JVM的記憶體管理理解了這一點,所有和對象相關的問題統統都能解決2、JVMClassLoader理解了這一點,所有和Java相關的配置問題,包括各種AppServer的配置,應用的發布問題統統都能解決就像張無忌學太極劍,本質就是一圈一圈的畫圓,你要是懂得了太極劍的本質,那麼太極劍就那麼一招而已,本身是很容易學的,只是難度在於你要能夠舉一反三,化一式劍意為無窮無盡的劍招,這就需要一點悟性和不斷的