原创 非深入探尋Java反射機制 (Arrays)

通過Java反射機制來使用數組時需要用到類java.lang.reflect.Array 創建數組 int[] A = (int[])Array.newInstance(int.class, 3); 訪問數組 int[] A

原创 20秒建立一個Web Server

有時候,我們會需要在本地建立一個Http Server,似的可以通過瀏覽器的URL來訪問這些文件(如 http://localhost:8080)。lighttpd、httpd和nginx是常見的web服務器,但是這些功能都很豐富

原创 非深入探尋Java反射機制

本文摘自Java Reflection Tutorial 通過Java的反射(Reflection)機制,即使在編譯時不知道class name和method name等信息,也可以在運行時獲取class、interface、field

原创 非深入探尋Java反射機制 (Getters and Setters)

首先定義setter方法和getter方法: getter方法:         getter方法的方法名以get開頭,沒有參數,有返回值 setter方法:         setter方法的方法名以set開頭,有一個參數,返回值

原创 HDFS中的壓縮與解壓縮機制

概述 我們可以把數據文件壓縮後再存入HDFS,以節省存儲空間。但是,在使用MapReduce處理壓縮文件時,必須考慮壓縮文件的可分割性。目前,Hadoop支持以下幾種壓縮格式 壓縮格式 UNIX工具 算      法 文件擴展名 支持

原创 定義並啓動線程

每一個線程都與一個Thread實例相關聯,以下兩種方法可以在應用程序中創建並運行一個線程。 實現Runnable接口 public class My

原创 非深入探尋Java反射機制 (Fields)

通過 java.lang.reflect.Field,我們可以在運行時訪問類的成員變量。 Obtaining Field Objects, Field Names and Field Types package tao.xiao.a

原创 JAVA RMI

譯自 The Java Tutorials (TraIls: RMI)  RMI應用概述 一個RMI應用通常由兩部分組成,即客戶端和服務器端。服務器端程序創建若干遠程對象(Remote Objects),使這些遠程對象對客戶端是可訪問

原创 Java Dynamic Proxy

本文譯自博文 Understanding Java Dynamic Proxy  假定,我們需要一個計算器,就把這個接口叫做Calculator吧。 interface Calculator { public int add(

原创 Java動態代理(Java Dynamic Proxy)

以下內容翻譯自不知名的某個文檔 概述 作爲client和target之間的中間人(intermediary),代理在很多場合下是很有用的。 爲了進一步理解動態代理的作用,我們首先看一個不使用代理機制的實例。 不使用代理的Vehicle

原创 非深入探尋Java反射機制 (Annotations)

什麼是Java Annotation Annotation是從Java 5開始添加的一種新feature,它類似於comments或者meta data,可以被插入到Java代碼中。這些annotations可以在編譯時被預編譯工具處理,

原创 正則表達式

本文以Scala語言爲例 匹配中文字符(不含標點) """([\u4E00-\u9FA5]+)""" 匹配全部字符 """([\s\S]*?)""" 解釋:\s匹配空白符,\S匹配非空白符,所以[\s\S]就匹配全部字符。

原创 使用libtool

摘自 libtool官方文檔 Introduction 在本文中,我們的目標是構造一個名爲libhello的庫。這裏,libhello可以是一個動態庫,也可以是一個靜態庫。 Using libtools 首先下載一個libtoo

原创 Java Annotations

本文譯自Java Annotations Java Annotation Purposes 一般來說,Java Annotations有以下三種用途: Compiler instructionsBuild-time instructi

原创 非深入探尋Java反射機制: Private Fields and Private Methods

藉助於Java的反射機制,我們可以訪問一個類的私有成員及私有函數 Accessing Private Fields 在前面,我們說過,Class.getField(String)以及Class.getFields()這兩個方法只能返回p