Time of Update: 2018-12-05
JDK6的新特性之六:插入式註解處理API(Pluggable Annotation Processing API) 插入式註解處理API(JSR 269)提供一套標準API來處理Annotations(JSR 175),實際上JSR 269不僅僅用來處理Annotation,我覺得更強大的功能是它建立了Java 語言本身的一個模型,它把method, package, constructor, type, variable, enum, annotation等Java語言元素映射為Types和
Time of Update: 2018-12-05
作者: Robert L. Bogue 2006-04-10 10:4
Time of Update: 2018-12-05
使用者手冊聲稱可解決問題,但實際上不僅不能提供協助,反而讓你愈加迷惑,這種情形你多久會遇到一次呢?如果你是一個典型的使用者,這種情形可能會經常發生。設計得如此糟糕的內容會讓使用者產生不滿與沮喪情緒,對產品品質留下不良印象;而且還會(對出售產品的公司來說)增加售後服務時間與成本。於是智能文本管理應運而生。智能文本管理理解終端使用者的行為,並在多數可能的實際行為中與使用者需求保持一致。在本文中,我將提供一些實際技巧,協助你建立合適、易懂、可讀性強的使用者手冊。瞭解你的讀者
Time of Update: 2018-12-05
當由非IT人員開展某項商業方案時,IT人員可能會被忽略,實際上IT人員在整理和支援商業方案時應該擔負起重要責任。這裡列舉了一些需要注意的關鍵問題,以確保IT人員能夠有效擔負其職責。每個技術都至少有一個非IT專業廠商提供系統。像自動化、專業工程方案、精確校準機器、專門的應用軟體等等。當然這些方案是在電腦或網路上協助完成工作。但是提供這些方案的是非IT人員,所以使得工作有點玄。下面這些問題能確保弄明白所需要和關心的技術。#1:
Time of Update: 2018-12-05
軟體的品質屬性魯棒 - Solid and Robust Code簡潔 - Maintainable and Simple Code高效 - Fast Code簡短 - Small Code共用 - Re-usable Code可測試 - Testable Code可移植 - Portable Code 集百家之長, 歸我所用 - Follow Basic Coding
Time of Update: 2018-12-05
JDK6的新特性之四:使用Compiler API 現在我們可以用JDK6 的Compiler API(JSR 199)去動態編譯Java源檔案,Compiler API結合反射功能就可以實現動態產生Java代碼並編譯執行這些代碼,有點動態語言的特徵。這個特性對於某些需要用到動態編譯的應用程式相當有用, 比如JSP Web Server,當我們手動修改JSP後,是不希望需要重啟Web Server才可以看到效果的,這時候我們就可以用Compiler API來實現動態編譯JSP檔案,當然,現在的J
Time of Update: 2018-12-05
臨界區模式 Critical Section Pattern 是指在一個共用範圍中只讓一個線程執行的模式.它是所有其它多線程設計模式的基礎,所以我首先來介紹它.把著眼點放在範圍上,這個模式叫臨界區模式,如果把作眼點放在執行的線程上,這個模式就叫單線程執行模式.首先我們來玩一個鑽山洞的遊戲,我 Axman,朋友 Sager,同事
Time of Update: 2018-12-05
JDK6的新特性之九:Common Annotations Common annotations原本是Java EE 5.0(JSR 244)規範的一部分,現在SUN把它的一部分放到了Java SE 6.0中.隨著Annotation中繼資料功能(JSR 175)加入到Java SE 5.0裡面,很多Java 技術(比如EJB,Web Services)都會用Annotation部分代替XML檔案來配置運行參數(或者說是支援聲明式編程,如EJB的聲明式事務), 如果這些技術為通用目的都單獨定義了
Time of Update: 2018-12-05
package org.apache.lucene.search;import java.io.Serializable;public class Sortimplements Serializable { /** * 按照文檔得分排序 */ public static final Sort RELEVANCE = new Sort(); /** * 按照文檔被索引的先後順序排序 */ public static final Sort INDEXORDER
Time of Update: 2018-12-05
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { ServletOutputStream out = res.getOutputStream(); Statement dispStmt = null, setStmt = null; try { dispStmt = Con.createState
Time of Update: 2018-12-05
JDK6的新特性之十一:更簡單,更強大的JAX-WS JAX-WS2.0的來曆--------------------------------------------------------------------------------JAX-WS(JSR-224) 是Java Architecture for XML Web Services的縮寫,簡單說就是一種用Java和XML開發Web Services應用程式的架構, 目前版本是2.0, 它是JAX-RPC 1.1的後續版本, J2E
Time of Update: 2018-12-05
JDK6的新特性之十三:JTable的排序和過濾原來的JTable基本上是只能顯示資料,在JDK6新增了對JTable的排序和過濾功能,下面代碼示範了這兩個功能/** * @author chinajash */public class JTableTester { static String data[][] = { {"China","Beijing","Chinese"}, {"America","Washington","English"},
Time of Update: 2018-12-05
JDK6的新特性之五:輕量級Http Server JDK6提供了一個簡單的Http Server API,據此我們可以構建自己的嵌入式Http Server,它支援Http和Https協議,提供了HTTP1.1的部分實現,沒有被實現的那部分可以通過擴充已有的Http Server API來實現,程式員必須自己實現HttpHandler介面,HttpServer會調用HttpHandler實作類別的回調方法來處理用戶端請求,在這裡,我們把一個Http請求和它的響應稱為一個交換,封裝成HttpEx
Time of Update: 2018-12-05
JDK6的新特性之十:Web服務中繼資料(Web Services metadata) .Net的Web Services中繼資料早在.Net Framework 1.0中,微軟就用中繼資料功能(.net的attribute特性)來標註要暴露成Web Service的方法,下面是用C#示範的利用.net的中繼資料功能暴露Web Service方法的代碼片斷.public class TestWS{ [WebMethod] public String sayHi(){
Time of Update: 2018-12-05
JDK6的新特性之七:用Console開發控制台程式 JDK6中提供了java.io.Console類專用來訪問基於字元的控制台裝置. 你的程式如果要與Windows下的cmd或者Linux下的Terminal互動,就可以用Console類代勞. 但我們不總是能得到可用的Console, 一個JVM是否有可用的Console依賴於底層平台和JVM如何被調用. 如果JVM是在互動式命令列(比如Windows的cmd)中啟動的,並且輸入輸出沒有重新導向到另外的地方,那麼就可以得到一個可用的Conso
Time of Update: 2018-12-05
servlet中的幾個路徑有關的方法 在編寫JSP/Servlet應用時常常需要從傳入的連結中提取一些資訊。HttpServletRequest提供了多個方法,這些方法之間容易混淆。總結並舉例如下,希望能對大家有所協助。舉例:http://localhost:7001/myservlet/somepath/test?someparam=somevaluerequest.getPathInfo():返回/somepath/testrequest.getRequestURL():返回http://l
Time of Update: 2018-12-05
JDK6的新特性之十二:指令碼語言支援(Scripting) 概述--------------------------------------------------------------------------------JDK6增加了對指令碼語言的支援(JSR 223),原理上是將指令碼語言編譯成bytecode,這樣指令碼語言也能享用Java平台的諸多優勢,包括可移植性,安全等,另外,由於現在是編譯成bytecode後再執行,所以比原來邊解釋邊執行效率要高很多。加入對指令碼語言的支援後,
Time of Update: 2018-12-05
Oracle的Blob欄位比較特殊,他比long欄位的效能要好很多,可以用來儲存例片之類的位元據。 寫入Blob欄位和寫入其它類型欄位的方式非常不同,因為Blob自身有一個cursor,你必須使用cursor對blob進行操作,因而你在寫入Blob之前,必須獲得cursor才能進行寫入,那麼如何獲得Blob的cursor呢? 這需要你先插入一個empty的blob,這將建立一個blob的cursor,然後你再把這個empty的blob的cursor用select查詢出來,這樣通過兩步
Time of Update: 2018-12-05
兩個表A,BA有ID,NAME等欄位B有ID,AID,PRICE等欄位註:A.ID關聯B.AID我想按A分類查詢B產品的最低價?假如有資料:A表------------ID NAME1 DEMO2 DEMO2------------------------B表-------------ID AID PRICE1 1 302 1 323 1
Time of Update: 2018-12-05
當設計大型程式的時候,您必須時刻留心不同設計選項對諸如效能和可擴充性這樣的特徵的影響。隨著軟體產品的日漸複雜及其無所不在的部署,軟體的“可測試性”也成了更重要的考慮事項。 徹底測試代碼的重要性是顯然的。花在編寫測試和測試代碼上的時間和精力給您帶來的回報是維護成本的大幅降低。 然而,除非您很小心,否則您花在測試代碼上的精力可能會首先達到花在編寫代碼上的精力的幾倍!我曾看到程式員們齊心協力地對他們的全部代碼進行單元測試,結果花在上面的時間使大多數人都以沮喪而告終。 幸運的是,沒有必要這樣。在您