我們知道,在Java中設定變數值的操作,除了long和double類型的變數外都是原子操作,也就是說,對於變數值的簡單讀寫操作沒有必要進行同步。這在JVM
最近項目中要用到對大檔案進行操作,做了下JAVA io方面的測試對於java.io包中的FileOutputStream,BufferedOutputStream和FileWriter三個不同類寫入到文字檔效能,測試代碼和結果如下:環境: 機器ibm thinkpad 61i,配置:2.0G雙核CPU,2G記憶體,作業系統xp sp2,java api1.5. 1.import java.io.BufferedOutputStream;2.import
Collator 用來簡化我們處理各種語言之間的差別性。Collator 主要處理:正常化的典型等效 字元多層次的比較通過比較字串 Unicode 位元組的 code point 來進行Java字串的比較。這將意味著在Unicode代碼圖表字元位置指定的排序權重,但事實並非如此。語言可能有完全相同的字元而不同的排序權重。例如,你完全不懂德語,你可能希望 ß (\u00DF) 被當作 b 或者 B 來進行排序,但事實上是 ss,在該語言中 ß 的排序值高於正常的
Java開發人員的十大戒律 作者:Aleksey Shevchenko 對Java開發人員來說,有許多的標準和最佳實務。本文列舉了每一個開發人員必須遵從的十大基本法則;如果有了可以遵從的規則而不遵從,那麼將導致的是十分悲慘的結局。 1.
幕後英雄的用武之地
1、xml有哪些解析技術?區別是什麼? 答:有DOM,SAX,STAX等
轉載自 http://my.oschina.net/xianggao/blog/84179 作者:老妖 Java常量池技術 java中的常量池技術,是為了方便快捷地建立某些對象而出現的,當需要一個對象時,就可以從池中取一個出來(如果池中沒有則建立一個),則在需要重複建立相等變數時節省了很多時間。常量池其實也就是一個記憶體空間,不同於使用new關鍵字建立的對象所在的堆空間。
JAVA語言,除了需要熟悉JAVA語言的基礎知識之外,還需要瞭解Android提供的擴充的JAVA功能。在一般的JAVA應用中,如果需用引用基礎類庫,通常需要使用如下的方式:import javax.swing.*;
1.怎樣用java實現緩衝?java有自己的緩衝輸入輸出類,比如 InputStream,FileOutputStram等 具體可以查看API,要想自己實現的話,很簡單,設定一個足夠大的位元組數組就可以了,把需要的東西放進去,就是個緩衝。1.
在java中的同步,是指多個線程在同時要訪問某個對象、變數、方法、代碼快等等時,保證只有唯一線程訪問同步的對象(即用synchronized修為的內容)。也可以這樣理解:同步就是指保證在同一時刻只有一個線程訪問同步對象的前提下,確保操作同步對象的線程順序,跟他們發出訪問同步對象請求時的順序一致。Vector是老版本jkd(1.0的時候就有)的一個集合類,因為Vector是同步的而ArrayList是非同步的,所以Vector的效能比ArrayList要差。在不需要保證同步的情況下,盡量使用Arr
一個好的程式員除了具備紮實的基本功外,還應該具有更為靈活的邏輯思維與判斷能力。除此之外,撐握一些行之有效協助工具輔助也很重要。工欲善其事,必先利其器。有好的工具輔助,所做的工作將事半功倍。下面向大家推薦基於WEB應用開發的java程式員應該必備的輔助開發工具。 1,Java剖析工具 -- profiler 是一個全功能的Java剖析工具(profiler),專用於分析J2SE和J2EE應用程式。它把CPU、執行緒和記憶體的剖析組合在一個強大的應用中。JProfiler可提供許多IDE整合和應
最近由於工作需要,將兩年前在weblogic6.1下啟動並執行jsp+javabean程式在安裝weblogic8.1下。發現寫入資料庫的資料是亂碼的。分析一下,原因應該在從web端的資料在傳到背景時候由於字元集的問題,在傳輸過程中已變成亂碼,應該與資料庫的字元集設定無關。經查通過以下方法可以解決這個問題。 在WEB-INF下的web.xml檔案中加入以下設定就可以解決這個問題。 <context-param>
編寫惡作劇的JAVA程式作者:張桂權 不知道你有沒有認識到利用java中靜態變數的聲明來編寫“變態”的程式呢!請看下面的程式:/* Hello.java*/public void Hello { static { System.out.println("Hello, world ! /n"); System.exit(0); }} 這會讓你吃驚嗎?經過編譯解釋後得到的結果竟然是:Hello, world ! 標準的程式碼應該象下面這樣來寫:/* Hello.
最近一直在看Herb 的 Exceptional C++ 系列書籍 ,Scott Meyer 在書的序中寫到,Exceptional C++是一本常常會"make me surprise" 的書,的確,即使使用了C++ 已經很多年,但看這樣的書仍然讓自己覺得對C++的理解還十分淺薄。但是正如不斷有人提出來的這個問題 - “是系統設計的複雜程度本身需要那麼多的知識,經驗和技巧還是C++ 自己本身太過複雜” (嗯,我個人的理解是二者皆是 ^_^),Bruce 在 Thinking In Java 4
JAVA中jar檔案的編寫和應用作者:張桂權
BoneCP 0.6.4發布,高效的Java資料庫連接池來源:http://www.javaeye.com/news/13635-bonecp-java-connection-pool BoneCP 0.6.4版本發布!BoneCP是一個快速高效,開源免費的Java資料庫連接池。創作者稱,BoneCP在效能上會完全超越所有主流的Java串連池。它可以幫你管理資料連線讓你的應用程式能更快速地訪問資料庫。比C3P0/DBCP串連池快25倍。新特性:消極式載入特性,允許BoneCP
java的synchronized關鍵字有多種用法,同步方法,同步對象,同步代碼塊,同步類等等,對初學者來說可能會有點亂,但歸根結底還是對象(或者類)的同步,線程擷取的是某個對象的鎖,而不是方法的鎖,也不是代碼塊的鎖。 在這做一個比喻,一個對象A就像一個持有一把鑰匙的人,有很多其他人(線程)想通過一扇或幾扇門,這些門都被這個對象鎖起來了(synchronized(A)),鑰匙只有一把,一把鑰匙可以開全部被A鎖上了的門。任何一個人想要通過其中一道門,都需要向對象拿鑰匙,此人拿了鑰匙之後,如果還有其
Java字串的“朝花夕拾” 字串是我們用得很多的一種類,即便是這樣,字串也有很多讓我們混淆的地方,還有很多我們不是很清楚的地方。常用的用法,大家都已經爛熟,這裡不再重述。只想找出一些平時我們不經意的地方,可能我們已經用過了,但還不是很確定。把它們總結出來,算是“朝花夕拾”吧。 第一、
今天發現了一個很容易讓人犯錯又挺隱形問題 在AndroidMenifest.xml中,定義了兩個Activity A,B和一個receiver
Java提供了一套機制來動態執行方法和構造方法,以及數組操作等,這套機制就叫——反射。反射機制是如今很多流行架構的實現基礎,其中包括Spring、Hibernate等。原理性的問題不是本文的重點,接下來讓我們在執行個體中學習這套精彩的機制。public Object getProperty(Object owner, String fieldName) throws Exception { Class ownerClass = owner.getClass();