原创 mysql MVCC之InnoDB實現

先給出幾個概念 mysql中的RR隔離級別不會出現幻讀。 MVCC控制過程中,mysql會往每條數據附加三個列,分別是 DB_TRX_ID(最後更新(insert/update/delete)數據的事務id與 一個標誌位標識

原创 OneToMany/ManyToOne關聯

@ManyToOne 以及 @OneToMany //一般選擇在多端進行管理,一端放棄,使用級聯保存等,即多端添加一個外鍵列 //Item <-1----------*-> Bid @Entity class Item{

原创 jpa 腳本生成數據庫以及數據完整

<prop key="hibernate.hbm2ddl.import_files_sql_extractor"> org.hibernate.tool.hbm2ddl.MultipleLines

原创 HIbernate繼承映射策略

策略選擇: 1)不需要多態關聯以及從父類查詢時,使用@MappedSuperclass/TABLE_PER_CLASS,偏向於TABLE_PER_CLASS,因爲萬一有少量需要關聯、查詢可以在犧牲性能的前提下滿足(使用unio

原创 mysql自定義函數

//注意規避mysql關鍵字,可能需要重定義結束符號符delimiter $$ //聲明函數:參數類型以及返回類型 create function insertY(start int(11),end int(11)) return

原创 SpringMVC註解

先談SpringMVC的訪問過程 一個SpringMVC的請求到來時,會先由DispatcherServlet進行攔截. DispatcherServlet調用Handler Mapping進行Controller選擇,如post轉

原创 invokedynamic與lambda表達式

本文主要是探討lambda表達式是如何被虛擬機執行的. invokedynamic的執行 在虛擬機中,每條invokedynamic指令出現的位置,都稱爲一個動態調用點.該指令接受一個u2的參數,該參數指向常量池中的一個Invoke

原创 Mysql備忘錄

子查詢 分類(按是否與外部查詢相關) 關聯子查詢:每行外部查詢都會觸發一次關聯子查詢. 非關聯子查詢:子查詢可以獨立運行,在整個查詢中只查詢一次. 分類(按位置) select 位置的子查詢:要求該子查詢必須返回單個值(單行+單列

原创 實現簡單的代碼熱替換

package com.hotswap; import java.io.File; import java.io.FileInputStream; import java.io.IOException; /** * Created

原创 Apache Comons+Google Guava

Apache Commons Commons lang3 //包含以下便捷工具類 1.StringUtils StringUtils.isBlank(""); // null -> true," " -> true StringUti

原创 logback學習筆記

日誌級別 Trace < Debug < Info < Warn < Error. Configuration節點 屬性 scan:若爲true,則監聽配置文件變化,變化後重新加載 scanPeriod:監聽變化的週期,單位爲毫秒。

原创 Java與數據結構

使用java實現的一些數據結構 堆 import java.util.ArrayList; import java.util.List; /** * Created by huangzhw on 2016/7/27.

原创 java插入式註解

最近在公司遇到了使用的類庫lombok,好奇底層實現,探索得知是使用插入式註解實現的. 插入式註解是在代碼編譯時,通過特殊的插入式註解解釋器,對語法樹進行改造,使得根據註解添加實例域/方法成爲可能. 以下爲代碼: //簡單的一個註解

原创 JVM解析與分派

jvm中關於方法調用的指令有invokestatic,invokespecial,invokevirtual,invokeinterface以及invokedynamic五種。 其中invokestatic與invokespecial

原创 JDK動態代理

一個動態代理的實例 package com; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang