原创 Java值傳遞問題

Java都是值傳遞 不存在所謂的引用傳遞 爲什麼這麼說呢,看下定義就知道了 引用傳遞: 指調用函數時傳遞的參數是引用類型(不是基本類型)的時候值是引用類型的參數的實際地址直接傳遞到函數中,函數對參數直接進行修改的話,將影響到實際參

原创 你真的懂i++和++i嗎

先看兩行代碼(i初始值都爲0) System.out.println(i++); System.out.println(++i); 我們都知道輸出的結果是分別是 0 和 1; 單從指令結果上來看,a++和++a都是使a的值加1;

原创 Java 線程池原理及簡單實現

線程池是和數據庫連接池類似的一種池,而僅僅是把池裏的對象換成了線程。   核心思想:最主要就是複用的思想,把運行階段儘量拉長,對每個任務的到來,不是重複創建、銷燬,而是重複利用之前建立的線程來執行任務   線程池的作用: 在程序啓動的時候

原创 Spring AOP原理及AspectJ的兩種不同實現實例

實現原理 Spring AOP實現機制是採用的動態代理和字節碼生成技術實現的;AspectJ採用的是用編譯器將橫切邏輯織入到目標對象,動態代理和字節碼生成技術是在運行期間爲目標對象生成一個代理對象而將橫切邏輯織入到這個代理對象中,

原创 在jsp中用ajax調用另一個action並取得返回值

在後端寫一個action來檢驗驗證碼是否正確,然後在jsp中ajax調用,並根據返回值執行不同的操作,這裏生成驗證碼和登錄頁面的代碼就不列舉了,主要列舉講述如何異步調用檢驗的Controller並取得返回值: 後端代碼: 將判斷結果寫入服

原创 六大排序實現及性能特點

1. 選擇排序 方法:首先找到數組中最小的那個元素,其次,將它和數組的第一個元素交換位置(如果第一個元素就是最小的元素那就和它自己交換)。再在剩下的元素中找到最小的元素,將它和數組的第二個元素交換;一直反覆直到整個數組排序。 特點

原创 Java併發核心:解決共享資源競爭

併發編程使我們將程序劃分爲多個分離的、獨立運行的任務。 通過使用多線程機制,這些獨立運行的任務(也被稱爲子任務)中的每一個都由一個執行線程來驅動。 一個線程就是在進程中的一個單一的順序控制流,因此單個進程可以擁有多個併發執行的任

原创 重載和重寫的實現原理

Java具有面向對象的三大特徵:繼承、封裝、和多態。多態性特徵的最基本體現有“重載”和“重寫”,其實這兩個體現在Java虛擬機中時分派的作用。 分派又分爲靜態分派和動態分派,靜態分派是指所有依賴靜態類型來定位方法執行版本的分派動作,動態分

原创 Spring MVC前後端交互原理及實現(附實例代碼)

   前後端交互主要目的                個人覺得,前後端交互的目的無非就是爲了實現視圖和業務邏輯的轉換,前端發出請求,後端根據前端請求進行相應的數據處理然後給出不同響應               先以Servlet爲基礎

原创 Servlet基本概念及其生命週期和狀態

  Servlet簡介:   Servlet(Server Applet)是Java Servlet的簡稱,稱爲小服務程序或服務連接器,是用Java編寫的運行在 Web 服務器或應用服務器上的程序,它是作爲來自 Web 瀏覽器或其他 HT

原创 TCP的三次握手及爲什麼要有三次握手

位碼: TCP有6種標示位,即位碼,SYN(synchronous建立聯機),ACK(acknowledgement 確認),PSH(push 傳送),FIN(finish 結束),RST(reset 重置),URG(urgent

原创 SpringAOP jdk代理實現和CGlib實現的區別

我們都知道SpringAOP是基於代理模式實現的,SpringAOP的兩種實現方式分別是使用jdk實現和使用第三方包Cglib實現,SpringAOP會根據實際情況來選擇具體使用哪種實現方式 選擇機制:如果目標對象實現了接口,默認

原创 JVM的垃圾回收

垃圾回收主要發生在堆上,而堆又分爲 年輕代、老年代、永久代三部分,-Xmx表示堆的最大大小,-Xms表示堆的初始大小 新生代 年輕代主要有三個區域:Eden區、survivorFrom、survivorTo區,比例爲8:1:1

原创 數據庫索引(聚集與非聚集)

作用: MySQL官方對索引的定義爲:索引(Index)是幫助MySQL高效獲取數據的數據結構;索引是用來對數據表中的一個列或多個列進行排序的數據結構,在這裏數據庫用的平衡樹,B-Tree和B+Tree 平衡多路查找樹 例如: s

原创 Java有引用傳遞嗎

Java都是值傳遞 不存在所謂的引用傳遞 爲什麼這麼說呢,看下定義就知道了 引用傳遞: 指調用函數時傳遞的參數是引用類型(不是基本類型)的時候值是引用類型的參數的實際地址直接傳遞到函數中,函數對參數直接進行修改的話,將影響到實際參