原创 橋樑模式和適配器模式的區別

橋樑模式和適配器模式的區別 很多時候經常容易把橋接模式和適配器模式弄混。那什麼時候用橋接,什麼時候用適配器呢 ?共同點:橋接和適配器都是讓兩個東西配合工作不同點:出發點不同。         適配器:改變已有的兩個接口,讓他們相容。  

原创 java中的對象訪問原理及圖解

對象訪問會涉及到Java棧、Java堆、方法區這三個內存區域。 如下面這句代碼: [java] view plain copy  print? Object objectRef = new Object();    

原创 jar包路徑問題

開發完畢後,我們經常會將我們的程序打包成可運行jar文件,或者是war包。如果程序內部需要明確知道當前jar包所處的位置,下面是幾種方法: 獲取JAR包路徑和所在目錄的幾種方法 2012-02-14 CHERROT 6 CO

原创 git分支管理策略以及常用術語

如果你嚴肅對待編程,就必定會使用"版本管理系統"(Version Control System)。 眼下最流行的"版本管理系統",非Git莫屬。 相比同類軟件,Git有很多優點。其中很顯著的一點,就是版本的分支(branch)和

原创 Eclipse導入git上的maven web項目詳解

1 Eclipse中導入Git的maven項目  方法1: (1)首先當然是拉代碼。 在Eclipse裏面有個Git Repositories Exploring。就是Git倉庫,clone a git repository。複製一

原创 關於java類加載器理解及暢談

每一種技術的出現無一不例外都是有現實的需求,就像java這門語言的誕生,正是因爲互聯網的發展,移動智能設備的誕生,網民數量的爆炸式增加,隨之而來的就是軟件業的興起。此時傳統彙編,C語言的複雜性就成了制約軟件發展的門檻,於是跨平臺,面向對象

原创 Java 類的熱替換 —— 概念、設計與實現

構建基於 Java 的在線升級系統 對於許多關鍵性業務或者龐大的 Java 系統來說,如果必須暫停系統服務才能進行系統升級,既會大大影響到系統的可用性,同時也增加了系統的管理和維護成本。因此,如果能夠方便地在不

原创 java可視化監控工具

1.JConsole  JConsole工具在JDK/bin目錄下,啓動JConsole後,將自動搜索本機運行的jvm進程,不需要jps命令來查詢指定。雙擊其中一個jvm進程即可開始監控,也可使用“遠程進程”來連接遠程服務器。

原创 java 垃圾收集器

HotSpot JVM收集器               上面有7中收集器,分爲兩塊,上面爲新生代收集器,下面是老年代收集器。如果兩個收集器之間存在連線,就說明它們可以搭配使用。 Serial(串行GC)收集器 Serial

原创 JVM 內存模型詳解

JVM堆(Heap)= 新生代(Young) + 舊生代(Tenured) 新生代(Young)= Eden區 + Survivor區     http://blog.csdn.net/jollyant/article/de

原创 java 對象的內存分配和回收

對象優先在Eden上分配 大多數情況下,對象優先在新生代Eden區域中分配。當Eden內存區域沒有足夠的空間進行分配時,虛擬機將觸發一次 Minor GC(新生代GC)。Minor GC期間虛擬機將Eden區域的對象移動到其中一塊S

原创 java體系結構及內存模型

一:Java技術體系模塊圖 二:JVM內存區域模型 1.方法區 也稱"永久代” 、“非堆”,  它用於存儲虛擬機加載的類信息、常量、靜態變量、是各個線程共享的內存區域。默認最小值爲16MB,最大值爲

原创 MQTT協議及拓展

什麼是MQTT協議 MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議。 MQTT協議是爲大量計算能力有限,且工作在低帶寬、不可靠的網絡的遠程傳感器和

原创 java 如何從jar包中讀取資源文件

在代碼中讀取一些資源文件(比如圖片,音樂,文本等等),在集成環境(Eclipse)中運行的時候沒有問題。但當打包成一個可執行的jar包(將資源文件一併打包)以後,這些資源文件找不到,如下代碼:Java代碼   [java] view

原创 java 垃圾收集算法

跟蹤收集器 跟蹤收集器採用的爲集中式的管理方式,全局記錄對象之間的引用狀態,執行時從一些列GC  Roots的對象做爲起點,從這些節點向下開始進行搜索所有的引用鏈,當一個對象到GC  Roots 沒有任何引用鏈時,則證明此對象是不可用的