Time of Update: 2018-12-05
解決Java讀取properties檔案的中文問題的新辦法(不使用native2ascii.exe及其他工具)原理:轉碼關鍵代碼:new String(temp.getBytes("ISO-8859-1"), "GBK")其實很簡單,就是簡單的轉碼,下面給出原始碼(兩個ReadProperties.java和LogSystem.properties)和使用方法:ReadProperties.javaimport java.util.Properties;import
Time of Update: 2018-12-05
stack 和 heep 都是記憶體的一部分stack 空間小,速度比較快, 用來放對象的引用heep
Time of Update: 2018-12-05
因為經常去大師Martin Fowler的個人blog去看,偶爾發現人家blog正在推薦這本著作。同時,本人在CB做了兩年分布式系統開發後,感覺該開始總結一些所學到、遇到的case了。所以就想,不妨在研讀這本書過程中,驗證一下我們系統是否是存在重大的設計問題。《Pattern Oriented Software Architecture Volume.4》總結了Distributed Computing
Time of Update: 2018-12-05
解析Java類和對象的初始化過程類的初始化和對象初始化是 JVM 管理的類型生命週期中非常重要的兩個環節,Google 了一遍網路,有關類裝載機制的文章倒是不少,然而類初始化和對象初始化的文章並不多,特別是從位元組碼和 JVM 層次來分析的文章更是鮮有所見。 本文主要對類和對象初始化全過程進行分析,通過一個實際問題引入,將原始碼轉換成 JVM 位元組碼後,對 JVM 執行過程的關鍵點進行全面解析,並在文中穿插入了相關 JVM 規範和 JVM 的部分內部理論知識,以理論與實際結合的方式介紹對象初
Time of Update: 2018-12-05
1.Duplicated Code 代碼重複幾乎是最常見的異味了。他也是Refactoring的主要目標之一。代碼重複往往來自於copy-and-paste的編程風格。與他相對應OAOO是一個好系統的重要標誌。2.Long method 它是傳統結構化的“遺毒”。一個方法應當具有自我獨立的意圖,不要把幾個意圖放在一起。3.Large Class 大類就是你把太多的責任交給了一個類。這裡的規則是One Class One Responsibility.4.Divergent Change
Time of Update: 2018-12-05
一、在jdk1.2以後,類載入是通過委託來完成的,這意味著如果 ClassLoader 不能找到類,它會請求父代 ClassLoader 來執行此項任務,所有 ClassLoaders 的根是系統 ClassLoader,它會以預設方式裝入類 -- 即,從本地檔案系統。今天我們就來探討一下在jvm中這些機制是怎樣啟動並執行。讓我們假設有一個class位元組碼檔案(比如Hello.class檔案),那麼在應用程式中,他是如何被載入進來,並形成一個類對象的呢?我們這篇文章的目的就是為瞭解釋這個問題。
Time of Update: 2018-12-05
Effective Java(TM) Programming Language Guide (2nd Edition) (The Java Series) (Paperback) by Joshua Bloch (Author)Paperback: 256 pages Publisher: Prentice Hall PTR; 2 edition (June 29, 2007) Language: English ISBN-10: 0321356683 ISBN-13: 978-03213566
Time of Update: 2018-12-05
Java中的”推”技術 bromon原創 著作權 在一般的B/S程式中(最典型的是web服務),工作的方式是用戶端(brower)向伺服器端(server)發送一個請求,伺服器端響應這個請求並發回用戶端所請求的資料。在這個過程中伺服器端扮演的是一個被動響應的角色,一般的情況下,伺服器端是不會主動向用戶端寫資料的。由於HTTP是一個不需連線的協議,也就是說當伺服器端完成對用戶端的響應後,雙方的串連就斷開了,直到下一次用戶端發出請求時再重建立立串連。這樣的HTTP協議是節省網路資源的,但是也給我們帶
Time of Update: 2018-12-05
線程與Java SwingJava
Time of Update: 2018-12-05
Java的異常/錯誤機制Javar異常主要有兩種類型:受檢異常和非受檢異常。異常到底如何用?為了什麼目的去用?受檢異常一般用在API層,要求用戶端必須考慮在進行語句調用時必須考慮異常情況,如果出現異常了用戶端程式需要依據自身的情境處理異常(記錄、向上層拋出、跳轉到其它處理策略)。更細緻的考慮是記錄異常的策略?向上層拋出異常的策略?跳轉其它分支的策略?記錄異常的策略?記錄異常的目的就是快速定位問題。不需要重複的記錄。在最初產生異常的地方記錄。需要統一風格,考慮建設Tlog系統。拋出異常的策略?異常
Time of Update: 2018-12-05
流程圖圖示1 Both Logger and Handlers may use logging Levels and (optionally) Filters to decide if they are interested in a particular LogRecord.A Handler can (optionally) use a Formatter to localize and format the message before publishing it to an I/O
Time of Update: 2018-12-05
異常資訊java.io.IOException: No such file or directoryat java.io.FileOutputStream.writeBytes(Native Method)at java.io.FileOutputStream.write(FileOutputStream.java:247)at
Time of Update: 2018-12-05
從jdk1.3開始,提供了一個Robot類,在java.awt.*包下面。這個類在jdk中描述如下:此類用於為測試自動化、自運行示範程式和其他需要控制滑鼠和鍵盤的應用程式產生本機系統輸入事件。Robot 的主要目的是便於 Java 平台實現自動化的測試。 使用該類產生輸入事件與將事件發送到 AWT 事件隊列或 AWT 組件的區別在於:事件是在平台的本機輸入隊列中產生的。例如,Robot.mouseMove 將實際移動滑鼠游標,而不是只產生滑鼠移動事件。 注意,某些平台需要特定許可權或擴充來訪問低
Time of Update: 2018-12-05
在Java中,我們把能夠讀取一個位元組序列的對象稱作一個輸入資料流;而我們把夠寫一個位元組序列稱作一個輸出資料流。它們分別由抽象類別 InputStream和OutputStream類表示。因為面向位元組的流不方便用來處理儲存為Unicode(每個字元使用兩個位元組)的資訊。所以Java 引入了用來處理Unicode字元的類層次,這些類派生自抽象類別Reader和Writer,它們用於讀寫雙位元組的Unicode字元,而不是單位元組字元。
Time of Update: 2018-12-05
目前整個開發社區對AOP(Aspect OrientedPrograming)推崇備至,也湧現出大量支援AOP的優秀Framework,--Spring, JAC, Jboss AOP等等。AOP似乎一時之間成了潮流。Java初學者不禁要發出感慨,OOP還沒有學通呢,又來AOP。本文不是要在理論上具體闡述何為AOP,為何要進行AOP . 要詳細瞭解學習AOP可以到它老家http://aosd.net去瞧瞧。這裡只是意圖通過一個簡單的例子向初學者展示一下如何來進行AOP.
Time of Update: 2018-12-05
在目前的Java開發包中包含了對動態代理的支援,但是其實現只支援對介面的的實現。 其實現主要通過是java.lang.reflect.Proxy類和java.lang.reflect.InvocationHandler介面。
Time of Update: 2018-12-05
1.基本概念的理解 絕對路徑:絕對路徑就是你的首頁上的檔案或目錄在硬碟上真正的路徑,(URL和實體路徑)例如:C:xyz est.txt 代表了test.txt檔案的絕對路徑.http://www.sun.com/index.htm也代表了一個URL絕對路徑. 相對路徑:相對與某個基準目錄的路徑.包含Web的相對路徑(HTML中的相對目錄),例如:在Servlet中,"/"代表Web應用的跟目錄.和實體路徑的相對錶示.例如:"./"
Time of Update: 2018-12-05
對象一共有六種狀態: 強引用有三種, 可觸及的:從根節點出發可到達該對象可複活的: 已經沒有對象引用它了,但可能從finalize()終結函數中調用使其複活不可觸及的: 沒有其他對象引用,也不會因為終結函數複活 三個引用對象,軟引用弱引用影子引用引用對象指向目標對象。強引用的目標對象不會被GC回收,弱引用並不禁止目標對象被回收。這裡的強弱是正對目標對象來說的。
Time of Update: 2018-12-05
Java Enum 學習1. 關於Java Enum:學過C/C++等語言的人,應該都對Enum類型略知一二。Enum一般用來表示一組相同類型的常量。如性別、日期、月份、顏色等。對這些屬性用常量的好處是顯而易見的,不僅可以保證單例,且比較時候可以用”==”來替換equals。是一種好的習慣。JDK1.5之前沒有Enum這個類型,那時候一般用介面常量來替代。有了JavaEnum之後,可以更貼近的表示這種常量。2. 如何使用Java
Time of Update: 2018-12-05
Java、Android開發中精確測量代碼已耗用時間: long startTime = System.nanoTime(); //開始時間//// 這裡是你要測量的代碼//long consumingTime = System.nanoTime() – startTime; //消耗時間consumingTime就是你所測試的代碼的執行時間,你可以通過如下的Java輸出命令來輸出這個值