原创 Mybatis中sqlmapper的xml文件中對“

問題:在sqlmapper的xml中編寫sql語句是,where段常會出現大於或者小於號,這些會與xml標籤二義性,以下有兩種處理方式: 1.使用轉移符: &lt; < 小於號 &gt; > 大於號 &amp; & 和 &apos; '

原创 SSR搭建

SSR搭建1. 一鍵部署SSR2.接下來設置相關信息,照圖走就行了,或者按回車鍵,直接就全部默認選項3.谷歌BBR加速4.SSR軟件 1. 一鍵部署SSR $ wget -N --no-check-certificate https:

原创 happens-before原則

1.程序次序規則:在一個線程內,代碼按照編寫時的次序執行,編寫在後面的操作發生於編寫在前面的操作之後。     這句話看起來是程序按照編寫的順序來執行,但是虛擬機還是可能對程序代碼的指令重排序,只要保證一個線程內最終的結果和代碼順序執行的

原创 LOCK;內存屏障

確保指令重排序時不會將其後面的代碼排到內存屏障之前。 確保指令重排序時不會將其後面的代碼排到內存屏障之後。 確保在執行到內存屏障修飾的指令時前面的代碼全部執行完成。 強制將線程工作內存中值的修改刷新到主內存中。 如果是寫操作,則會導致其他

原创 ACID和事務的隔離級別

數據庫事務的四大特性ACID 原子性(atomicity) 一個事務必須被視爲一個不可分割的最小工作單元,整個事務中的所有操作要麼全部提交成功,要麼全部失敗回滾,對於一個事務來說,不可能只執行其中的一部分操作,這就是事務的原子性

原创 Double-Check實現單例模式

Double-Check提供了一種高效的數據同步策略,那就是首次初始化時加鎖,之後則允許多個線程同時執行getInstance方法的調用來獲得類的實例。示例代碼如下: public final class Singleton {

原创 類的主動使用和被動使用

JVM規範了以下6種主動使用類的場景: 1.通過new關鍵字會導致類的初始化:這種是大家經常採用的初始化一個類的方式,它肯定會導致類的加載並且最終初始化。 2.訪問類的靜態變量,包括讀取和更新會導致類的初始化,這種情況的示例代碼如下 p

原创 volatile和synchronized

1.使用上的區別 volatile關鍵字只能用於修飾實例變量或者類變量,不能用於修飾方法以及方法參數和局部變量、常量等。 synchronized關鍵字不能用於對變量的修飾,只能用於修飾方法或者語句塊。 volatile修飾的變量

原创 Mybatis中sqlmapper的xml文件中對“<”二義性的處理

問題:在sqlmapper的xml中編寫sql語句是,where段常會出現大於或者小於號,這些會與xml標籤二義性,以下有兩種處理方式: 1.使用轉移符: &lt; < 小於號 &gt; > 大於號 &amp; & 和 &apos; '

原创 Ajax的應用

嘗試在登錄頁面使用ajax function request(){ var var1=document.getElementById("name").value; var var2=document.getElementById("

原创 Java內存泄漏-------JDK6與JDK7裏的subString()方法

在JVM中一般在GC時可達性分析算法,而有些java對象存在着“可達而不可用”,這也就導致java內存泄漏。何爲“可達而不可用”呢?簡單來說也就是一個對象生命週期已經結束,但是他被別的對象引用了,而那個對象生命週期還未結束,所以也就出現了

原创 自定義參數綁定ConversionService和mvc:resources的命名衝突

報錯:org.springframework.core.convert.ConversionFailedException: Failed to convert from type java.util.ArrayList<?> to ty

原创 SSM框架中的分頁操作

在有分頁需求時,主要是要想到對分頁的封裝。 這裏的需求是按姓名或部門對員工信息進行查詢,並對查詢結果進行分頁。 一、對Page分頁進行封裝 package cn.ssm.po; import java.io.Serializable

原创 ssm+redis的工具類

JedisUtil.java package cn.ssm.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import r

原创 @Transactional的自調用失效問題

 註解@transactional的底層實現是Spring AOP技術,而Spring AOP技術使用的是動態代理。這就意味着對於靜態(static)方法和非public方法,註解@Transactional是失效的。還有一個更爲隱祕的,