原创 二十、類加載實例

看到一套開源的監控系統的熱部署功能,梳理了一下,也就相關知識簡單備註如下以備忘。 熱部署的過程是調用ProcessorManager類的executeProcessor方法,其中先加載Processor的實例,然後調用此Processor

原创 十三、Java線程基礎

本篇介紹線程的基礎知識,包括:線程是什麼、線程爲什麼有用處、怎樣開始編寫使用線程的程序、如何控制線程、如何在線程之間交換數據以及線程如何互相通信。 一、線程是什麼        進程是在某種程度上相互隔離的、獨立運行的程序。線程也稱作輕量

原创 十二、多線程的同步

        在一個應用程序中使用多線程,一般情況下,這多個線程之間是要互相通信並共享結果的。讓多個線程共享結果的最簡單方法是使用共享變量,線程與同一個進程中的其他線程共享相同的進程上下文,包括內存,因此只要訪問共享變量(靜態或實例字段

原创 十七、網絡協議之Http協議的應用初體驗

下面的示例程序是HTTP協議使用HttpClient接口的應用示例,其用意是將請求裏的數據封裝後,通過http協議提交請求。先寫下了備用。 import org.apache.commons.httpclient.HttpClient;

原创 四、Hadoop+HBase+ZooKeeper三者關係圖

 這裏有幾個主要關係: 1.經過Map、Reduce運算後產生的結果看上去是被寫入到HBase了,但是其實HBase中HLog和StoreFile中的文件在進行flush to disk操作時,這兩個文件存儲到了HDFS的DataNod

原创 三十一、反射的應用之一

        遇到這樣一個業務場景:要使用的類有個私有的變量,並且要使用的該類中一個方法需要用到這個變量。要求在運行時對這個變量進行更改後,使用這個方法,就是要使用這個方法中已經動態改變了的變量。 結合下面的代碼,就是在InvokerF

原创 二十七、權限控制的自定義註解實現方式

目的:將賬號的操作權限通過數據庫進行配置,程序限制只有當擁有某權限時才能調用相應方法。 首先在註解類裏定義權限(包括讀、寫、審覈權限)。 @Retention(RetentionPolicy.RUNTIME) @Target(Elemen

原创 四十二、grails框架學習總結

學習使用grails實現了一套前後臺頁面的開發並且部署到linux服務器。grails確實是一個簡潔、高效、易用的框架,滿足生產需要,並且java程序員學習成本較低。現就過程中遇到的主要問題進行總結,分享給同樣被這些問題困住的同行 一、g

原创 三十六、sigar配置那些事

Sigar全稱是SystemInformation Gatherer And Reporter,中文名是系統信息收集和報表工具。要想使用sigar是不是引入了Sigar.jar(Sigar.jar包是通過本地方法來調用操作系統API來獲取

原创 三十三、Spring webmvc 學習總結

Spring webmvc框架真是一柄利器,讓web應用的開發變得如此簡單美妙。 如何使用MVC框架,其內部原理又是怎樣的呢? 下面首先寫個最簡單的小例子,週末小玩具,玩具小巧卻能小跑;) 1.      New  Java Proje

原创 三十、存儲過程和事件調度

一、概念 存儲過程,我的理解是寫一段面向過程的包含sql的代碼,然後編譯存儲到數據庫。 之後再用時可以在數據庫裏直接執行,也可以通過事件來規律地重複調用,還可以在java等中進行調用。 二、基本語法 1.創建和刪除 create proc

原创 二十六、用電腦上微信

如果手機不是智能機,又要玩微信,那也不是完全沒有辦法,可以在電腦上裝微信。電腦裝微信的過程比較麻煩,比想象的麻煩多了,因爲網上教的雖然也有,但照着做也會遇到很多問題。想想自己三個月前裝微信,就是費了好大的周折,不過總算裝上了,裝上了還是很

原创 三十九、如何單獨發佈jar包

想實現一種功能,任何需要的時候就在服務器上運行。可用把程序打個jar包傳到服務器上,通過命令行觸發。(當然也可以有其他實現方式,比如寫個.do的程序,通過在頁面輸入鏈接請求觸發) 具體步驟如下: 一、New個Maven Project 在

原创 二十九、各種名稱的服務器

看到各種名稱的服務器,一時間有點暈,整理下備忘。 下面的兩張圖是網上的截圖,結構比較清晰所以順手牽羊之。 Web服務器(Web Server)         Web服務器可以解析(handles)HTTP協議。當Web服務器接收到一個

原创 四十一、頁面爬取處理

一、頁面的爬取 如何獲取網頁內容,不明覺厲呀,原來就是一個HttpClient搞定。 比如下面獲取聚划算首頁的例子,簡潔完整地展示了HttpClient的使用過程。 import java.io.IOException; impo