原创 Spring優雅的實現策略模式

定義 定義了一些平行的算法組,分別封裝起來,算法之間可以相互替換,此模式使算法的變化獨立於調用者之外 算法結構  抽象策略角色(Strategy):這是一個抽象類或者接口,將算法的行爲進行封裝,所有的策略類都要實現該接口 具體策略角色

原创 jsonp實現數據跨域請求

1、我們知道,哪怕跨域js文件中的代碼(當然指符合web腳本安全策略的),web頁面也是可以無條件執行的。 遠程服務器remoteserver.com根目錄下有個remote.js文件代碼如下: alert('我是遠程文件'); 本地服

原创 solr 8.3安裝和配置IK(Linux)

1、準備安裝包 tomcat:https://tomcat.apache.org/download-90.cgi JDK:https://www.oracle.com/technetwork/cn/java/javase/downloa

原创 Java通過序列化實現深度複製

package beanCopy; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExcepti

原创 Weblogic集羣、代理及session共享

weblogic在linux下的集羣配置 https://blog.csdn.net/Miss_Black/article/details/78919579   WebLogic集羣代理服務器配置以及實現Session共享功能  http

原创 jQuery實現ajax提交form表單

第一種方法(簡單易用,防蚊蟲): 1.1 從form表單到congtroller接收。1 是form表單,2 是ajax提交 3 springmvc接收 1.2 debug 看後臺數據,看到了吧,userEO接收到數據了 1.3 有

原创 Spring IOC 容器源碼分析 - 創建單例 bean 的過程

1. 簡介 在上一篇文章中,我比較詳細的分析了獲取 bean 的方法,也就是getBean(String)的實現邏輯。對於已實例化好的單例 bean,getBean(String) 方法並不會再一次去創建,而是從緩存中獲取。如果某個 be

原创 Spring IOC 容器源碼分析 - 獲取單例 bean

1. 簡介 在本篇文章中,我將會詳細分析BeanFactory的getBean(String)方法實現細節,getBean(String) 及所調用的方法總體來說實現上較爲複雜,代碼長度比較長。作爲源碼分析文章,本文的文章長度也會比較長,

原创 MyBatis源碼解析(一)——MyBatis初始化過程解析

1. 準備工作 爲了看清楚MyBatis的整個初始化過程,先創建一個簡單的Java項目,目錄結構如下圖所示:   1.1 Product 產品實體類   public class Product { private long

原创 MyBatis源碼解析(二)——動態代理實現函數調用

如果我們要使用MyBatis進行數據庫操作的話,大致要做兩件事情: 定義DAO接口 在DAO接口中定義需要進行的數據庫操作。 創建映射文件 當有了DAO接口後,還需要爲該接口創建映射文件。映射文件中定義了一系列SQL語句,這些SQL語

原创 java動態代理詳解

目錄   1.基於JDK的動態代理 2.基於CGLIB的動態代理 目前java動態代理的實現分爲兩種 1.基於JDK的動態代理 2.基於CGILB的動態代理 在業務中使用動態代理,一般是爲了給需要實現的方法添加預處理或者添加後續操作,但是

原创 Git基本概念和底層原理

GIT和SVN的主要區別 存儲方式不一樣 使用方式不一樣 管理模式不一樣 1、存儲方式區別 GIT把內容按元數據方式存儲類似k/v數據庫,而SVN是按文件(新版svn已改成元數據存儲)  演示git 存儲過程演示 cd .g

原创 Nginx的反向代理和負載均衡

一、Nginx配置虛擬主機 什麼是虛擬主機?         虛擬主機是一種特殊的軟硬件技術,它可以將網絡上的每一臺計算機分成多個虛擬主機,每個虛擬主機可以獨立對外提供www服務,這樣就可以實現一臺主機對外提供多個web服務,每個虛擬主機

原创 Spring Data Jpa筆記

Spring Data Jpa 簡介 什麼麼是JPA? 全稱Java Persistence API,可以通過註解或者XML描述【對象-關係表】之間的映射關係,並將實體對象持久化到數據庫中。 JPA僅僅是一種規範,也就是說JPA僅僅定義了

原创 hashmap頭插法的危害

概念1:Rehash的概念? Rehash 是HashMap在擴容時候的一個步驟。 HashMap的容量是有限的。當經過多次元素插入,使得HashMap達到一定飽和度時,Key映射位置發生衝突的機率會逐漸提高。 這時候,HashMap需要