原创 關於java從編譯成class文件到加載再到初始化過程解析

一、class文件組成 magic 魔數(標識是否爲class文件) min_version 次版本號 major_version 主版本號 constant_pool_count 常量數量 contstant_pool_info 常

原创 關於spring框架中的IOC/DI和AOP,以及聲明式事務管理的理解

IOC/DI:中文意思控制反轉/依賴注入,針對以前編程,類中的屬性都是寫死的,直接在程序中給成員變量初始化。這樣的編程,耦合度 太高,代碼的靈活性和擴展性太差。spring的處理方式是,在配置文件中,將類中的需要初始化的成員變量

原创 java繼承中父類、子類的初始化過程

問題:類變量、成員變量、靜態代碼塊、非靜態代碼塊在父類和子類的初始化和執行狀況 代碼如下: package ss; //父類 class Test4{private int x;private static int y ;static{y

原创 複製和克隆

複製:將某個對象的引用複製給另一個對象,兩個對象還是指向同一個應用。 克隆:分爲淺複製、深複製。 淺複製:將對象的數據進行復制,但是對象中包含的對象,仍舊只是複製對象的引用。 深複製:不僅複製對象的基本類型屬性,對於對象中包含的對

原创 Asp.net中 內置對象Response的Clear、Flush、End、Redirect和方法中的return解析

Clear:清除Response緩衝區中存在的內容,後面的繼續執行; Flush:立即返回Response緩衝區中的內容,餘下的在後面輸出; End:結束後面所有的程序,只有End前面的代碼會被執行; Redirect:重定向到新的頁面,

原创 關於jvm,加載的準備階段一個考點

class Singleton{public static Singleton t = new Singleton();public static int count1;public static int count2 = 0;priva

原创 瀏覽器到服務器的請求響應過程時序圖

點贊 收藏 分享 文章舉報 Home_十一月的肖邦 發佈了31 篇原創文章 · 獲贊 8 · 訪問量 6萬+ 私信

原创 動態代理模式

import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; imp

原创 StringBuffer、ArrayList、HashMap的初始容量、已經如何擴充的總結(適用範圍:JDK1.7)

StringBuffer:內部實現是一個字符數組。初始默認大小爲16,當然也可以在其構造方法中進行設置。當新添加字符或字符串時,發現數組容量不夠。這個時候就需要使用Array.copyOf()方法進行擴充。擴充的新的數組大小等於,

原创 線程的相關知識、JAVA實現死鎖、生產者消費者問題

線程有五種狀態:創建、就緒、運行、阻塞、結束 isAlive:判斷線程是否活着。就緒、運行、阻塞是活着,創建、結束是死了 getPriority、setPriority:設置優先級,明顯的是,優先級高的,cpu分的時間片多一點 sleep

原创 關於apache服務器的虛擬目錄和虛擬主機的設置

虛擬目錄:apache服務器默認有一個默認目錄爲htdocs,站點默認放在這個目錄下。當在瀏覽器輸入網址時,默認查找的是這個地址。如果想要更改默認訪問目錄,就需要設置虛擬目錄。 虛擬主機:每次訪問站點的時候需要在ip地址後面加上站點名 例

原创 觀察者模式

import java.util.ArrayList; /** * 觀察者模式 * 組成:被觀察的接口、觀察者接口、被觀察具體對象、觀察者具體對象 * 應用:GUI的事件監聽 * @author fantasy

原创 JAVA 重寫和重載的原則

重寫:兩同、兩小、一大。 兩同:方法名、參數列表相同。 兩小:返回類型、拋出的異常小於等於父類。 一大:訪問權限大於等於父類 重載:方法名相同、參數列表不同,其他隨便。 點贊 收藏 分享

原创 垃圾回收過程

對於年輕代,剛開始創建的對象都是放置在eden區的,而將年輕代分成3個部分,主要是爲了生命週期短的對象儘量留在年輕代。當eden區申請不到空間的時候,進行minorGC,把存活的對象拷貝到survior。年老代主要存放生命週期比較長的對象