Time of Update: 2018-12-03
java.util.ResourceBundle使用詳解 一、認識國際化資源檔 這個類提供軟體國際化的捷徑。通過此類,可以使您所編寫的程式可以: 輕鬆地本地化或翻譯成不同的語言 一次處理多個語言環境 以後可以輕鬆地進行修改,支援更多的語言環境
Time of Update: 2018-12-03
Unit Testing 單元測試 單元測試一般是程式員編寫,用來測試特定的方法是否正常啟動並執行小段代碼程式。《Head First Java》中講到過,在編寫實現實際功能的代碼前就編寫好單元測試代碼是一個很好的習慣,試問很多時候當你寫完了一個認為功能代碼後還會特意去寫一段測試代碼進行測試嗎,估計很多時候就會跳過這步。 編寫好單元測試代碼不僅僅在完成功能代碼時用到,當你修改了功能代碼後,你可以立即使用寫好的單元測試代碼進行測試以保證修改後的代碼對之前的功能沒有影響。Unit
Time of Update: 2018-12-03
題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加有鍵盤控制。 package wzs.arithmetics;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;// 題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。// 例如2+22+
Time of Update: 2018-12-03
一轉眼幾個月過去了。。真是忙碌的幾個月,最近在弄CAS
Time of Update: 2018-12-03
以前對Enum只有一個模糊的概念,最近項目中要用,所以就專門研究了一下:java的Enum枚舉類型終於在j2se1.5出現了。之前覺得它只不過是雞肋而已,可有可無。畢竟這麼多年來,沒有它,大家不都過得很好嗎?今日看《Thinking in Java》4th edition,裡面有一句話“有時恰恰因為它,你才能夠"優雅而乾淨"地解決問題。優雅與清晰很重要,正式它們區別了成功的解決方案與失敗的解決方案。而失敗的解決方案就是因為其他人無法理他。"使用Enum枚舉類型,可以將以前笨拙的代碼變得優雅簡單?
Time of Update: 2018-12-03
大家使用多線程無非是為了提高效能,但如果多線程使用不當,不但效能提升不明顯,而且會使得資源消耗更大。下面列舉一下可能會造成多線程效能問題的點:死結過多序列化過多鎖競爭切換上下文記憶體同步下面分別解析以上效能隱患死結關於死結,我們在學習作業系統的時候就知道它產生的原因和危害,這裡就不從原理上去累述了,可以從下面的代碼和圖示重溫一下死結產生的原因:public class LeftRightDeadlock { private final Object left = new Object();
Time of Update: 2018-12-03
很多程式員對一個共用變數初始化要注意可見度和安全發布(安全地構建一個對象,並其他線程能正確訪問)等問題不是很理解,認為Java是一個屏蔽記憶體細節的平台,連對象回收都不需要關心,因此談到可見度和安全發布大多不知所云。其實關鍵在於對Java儲存模型,可見度和安全發布的問題是起源於Java的儲存結構。Java儲存模型原理有很多書和文章都講解過Java儲存模型,其中一個圖很清晰地說明了其儲存結構:由可知, jvm系統中存在一個主記憶體(Main Memory或Java Heap
Time of Update: 2018-12-03
Java代碼編譯是由Java源碼編譯器來完成,流程圖如下所示:Java位元組碼的執行是由JVM執行引擎來完成,流程圖如下所示: Java代碼編譯和執行的整個過程包含了以下三個重要的機制:Java源碼編譯機制類載入機制類執行機制Java源碼編譯機制Java源碼編譯由以下三個過程組成:分析和輸入到符號表註解處理語義分析和產生class檔案流程圖如下所示:最後產生的class檔案由以下部分組成:結構資訊。包括class檔案格式版本號碼及各部分的數量與大小的資訊中繼資料。對應於Java源碼中聲明與常量的
Time of Update: 2018-12-03
由於反射涉及動態解析的類型,某些Java虛擬機器的最佳化不能被執行,所以導致了一定的效能的問題,特別是在JDK6以前特別嚴重,有時甚至達到數百倍,但是在JDK6以後,據說效能差別就不是哪麼大了,JDK對此做了最佳化。但是總還是有那麼數10倍的效能差異,那我們就讓他跑得再快點吧。我們通常情況下寫反射都是這樣寫:SomeObject someObject = new SomeObject();Class<? extends SomeObject> cls =
Time of Update: 2018-12-03
以下是關於HashCode的官方文檔定義:hashcode方法返回該對象的雜湊碼值。支援該方法是為雜湊表提供一些優點,例如,java.util.Hashtable 提供的雜湊表。 hashCode 的常規協定是: 在 Java 應用程式執行期間,在同一對象上多次調用 hashCode 方法時,必須一致地返回相同的整數,前提是對象上 equals 比較中所用的資訊沒有被修改。從某一應用程式的一次執行到同一應用程式的另一次執行,該整數無需保持一致。 如果根據 equals(Object)
Time of Update: 2018-12-03
There are 2 tool set combinations for java bytecode editing. 1. ASM + JASMIN First use ASM to disassemble the bytecode class file to assemble file.(see command line under ASM folder) Then use JASMIN language specification to rewrite this
Time of Update: 2018-12-03
JAVA中用於處理字串的“三兄弟”JAVA中用於處理字串常用的有三個類:java.lang.String、java.lang.StringBuffer、java.lang.StringBuilder,這三者的共同之處都是final類,不允許被繼承,這主要是從效能和安全性上考慮的,因為這幾個類都是經常被使用著的,且考慮到防止其中的參數被修改影響到其它的應用。StringBuffer與StringBuilder兩個基本上差不多,只是StringBuffer是安全執行緒,可以不需要額外的同步用於多線程
Time of Update: 2018-12-03
轉自:http://www.softhouse.com.cn/news/show/104219.htmlJava平台上進行多線程編程的缺陷 Java 語言的並發編程
Time of Update: 2018-12-03
這兩天把原來寫的多線程下載程式整理了一下,考慮到原來的都是散檔案,使用起來也不方便,所以決定把其寫JAR,這樣,使用起來也方便。並且增加使用XML儲存下載檔案以便下次再次下載,也修正了原來的一些BUG,只要你的電腦允許,想同時有多少個下載就有多少個下載。
Time of Update: 2018-12-03
寫法: java -cp .;myClass.jar packname.mainclassname-cp 參數後面是類路徑,是指定給解譯器到哪裡找到你的.class檔案,classpath中的jar檔案能使用萬用字元,如果是多個jar檔案,要一個一個地羅列出來,從某種意義上說jar檔案也就是路徑。要指定各個JAR檔案具體的存放路徑,相同路徑有多個可使用萬用字元 java -cp .;c:/classes/myClass.jar;d:/classes/*.jar
Time of Update: 2018-12-03
使用ASM包進行Class File修改真是很方便,不過可惜的是ASM不提供現成的方法修改工具,那我們就利用它提供的強大的位元組碼操作能力,自己來做一個吧:基本思路如下:假設操作類為A, 假設要加的方法為MA,我們為了操作上方便,構造類B,將類B的MA方法加到A上就可以了,有了這個思路即可快速實現如下代碼:------------------------------------------------------------------------------------------------
Time of Update: 2018-12-03
/*** 將圖片轉換成pdf檔案*imgFilePath 需要被轉換的img所存放的位置。 例如imgFilePath="D:\\projectPath\\55555.jpg";*pdfFilePath 轉換後的pdf所存放的位置 例如pdfFilePath="D:\\projectPath\\test.pdf";* @param image* @return* @throws IOException */public boolean imgToPdf(String imgFilePath,
Time of Update: 2018-12-03
/*** 將資料庫中的內容轉化為HTML*data 存在資料庫內欄位的內容*formId是資料庫內該條資訊的ID*filePath是產生的html檔案所存放的位置* @param image* @return*/public void formToHtml(String data, String FormId, String filePath) {StringBuffer buf = new
Time of Update: 2018-12-03
一、資料庫中的表test 試卷表 question 題目表(testID對應test表中的ID主鍵) answer 答案表 (questionId對應question表中的ID主鍵) 二、頁面顯示形式 三、如何?
Time of Update: 2018-12-03
/** * 解密中解壓.tb壓縮包 * @page P04030500 * @author fuchao * @version [版本號碼, 2011-8-18] */public class ZipUtil {//建立目錄private static void createDirectory(String directory, String subDirectory, String userId) {String dir[];File fl = new File(directory);