原创 Spring源碼(3)Context篇之ConfigurableWebApplicationContext

上一篇講解了Spring通過ContextLoader類的initWebApplicationContext方法創建的WebApplicationContext實爲XmlWebApplicationContext實例 再看initWe

原创 Spring源碼(2)Context篇之WebApplicationContext

上一篇講解了Spring加載Context的起源來自工程下web.xml配置的Listener <listener> <listener-class>org.springframework.web.context.ContextL

原创 spring源碼(1)之Context篇

Spring項目如此強大 , 以至於現在的項目都是依賴Spring搭建,天天與spring打交道,自問一下,你是否真的瞭解它? Servlet與Spring的關係 J2EE標準ServletSpring 我們經常在web.xml裏配置

原创 java實現動態編譯的幾種方法

所謂動態編譯,就是在程序運行時產生java類,並編譯成class文件。    在D盤test目錄下有兩個java文件:AlTest1.java、AlTest2.java,現需要通過java代碼實現java文件到class文件的編譯操作:

原创 java實現動態編譯並動態加載

在D盤test目錄下有個java文件:AlTest.java public class AlTest { public String sayHello(){ System.out.println("AlTest類 sayHel

原创 【JVM內存模型】實例分析

In a nutshell primitive, object and class data are stored in 3 different memory areas: heap space, method area and na

原创 【synchronized關鍵詞】從字節碼層面解析

java中我們都知道synchronized關鍵字是用來加鎖,在多線程併發情況下實現同步的,那它底層是怎麼實現的呢? 代碼清單1-1 public class SyncTest { public void test(){ sy

原创 多線程環境下的計數器

下面的例子是通過CAS來實現一個多線程環境下的安全計數器 package cn.com.test.vol.p201612; import java.util.concurrent.ExecutorService; import jav

原创 【JVM內存模型】入門篇

Java虛擬機在執行Java程序的過程中會把它所管理的內存劃分爲若干個不同的數據區域。這些區域都有各自的用途,以及創建和銷燬的時間,有的區域隨着虛擬機進程的啓動而存在,有些區域則依賴用戶線程的啓動和結束而建立和銷燬。Java虛擬機所管理的

原创 關於@Autowired的那些事

先拋個問題:  接口package com.che.api.test; /** * @author zhoufy * @date 2017年9月8日 下午2:25:12 */ public interface OrderServi

原创 String常量池

常量池:在java用於保存在編譯期已確定的,已編譯的class文件中的一份數據。它包括了關於類,方法,接口等中的常量,也包括字符串常量. 代碼清單1-1 String s0=”kvill”; String s1=”kvill”;

原创 【GC那點事】垃圾收集算法

一:標記-清除算法    標記-清除(Mark-Sweep)算法是最基礎的算法,就如它的名字一樣,算法分爲”標記”和”清除”兩個階段:首先標記出所有需要回收的對象,在標記完成後統一回收掉所有被標記的對象。之所以說它是最基礎的收集算法,是

原创 【Java對象解析】不得不瞭解的對象頭

一:對象頭 HotSpot虛擬機中,對象在內存中存儲的佈局可以分爲三塊區域:對象頭(Header)、實例數據(Instance Data)和對齊填充(Padding)。   HotSpot虛擬機的對象頭(Object Header)包括兩

原创 局部變量表影響GC之實例解析

最近GC相關的資料,看到一些好玩的東西,在些總結一下! 代碼清單1-1public static void main(String[] args){ byte[] placeholder = new byte[64*10

原创 深入理解Java中的final關鍵字

一 final修飾變量 客套話: Java中的final關鍵字非常重要,它可以應用於類、方法以及變量。這篇文章中我將帶你看看什麼是final關鍵字?將變量,方法和類聲明爲final代表了什麼?使用final的好處是什麼?最後也有一些使用f