原创 JAVA 模擬邏輯門實現加法運算( 半加法器 + 全加法器 )
硬件懶得花錢買板子,《我的世界》又不會玩,於是用 java 模擬了一下,算是加深理解和記憶吧! 參考資料: java代碼: import lombok.Getter; import lombok.Setter; public
原创 Mybatis 源碼編譯 實現自定義 標籤 test 判斷邏輯
使用 Mybatis框架時,我們經常使用 <if test="email != null and email != ''"> 來進行非空判斷,但是感覺這樣很不優雅,比如需要代碼層面進行 trim操作,如果把邏輯加在 test中只會使得更加
原创 java遞歸求解帶方法調用的表達式
1. 網上容易找到的都是求解 加減乘除和括號 的表達式,比如: ( 1 + 2 ) * 3 + 4,不能求解 : sum( 3, 4, 5 ) / 2 - 4 -sum( 5, 3, 1 ) 這樣的, 於是自己在此基礎上寫了一個可以求解
原创 mysql-5.7.23-winx64.msi 安裝步驟
1. 訪問搜狐鏡像 http://mirrors.sohu.com/mysql/MySQL-5.7/ 下載 mysql-5.7.23-winx64.msi 2. 安裝 mysql-5.7.23-winx64.msi ,一路 next
原创 maven 踩坑之旅
1. src/main/java 之外的java 代碼也不要打進去需要怎麼配置: idea 中 file-->settings-->project structure-->project settings-->modules,右鍵
原创 java 不用 synchronized,不用鎖,不用 Unsafe 中的 native 方法實現互斥鎖!
import java.util.*; import java.util.concurrent.CountDownLatch; /** * 看操作系統原理說軟件層面也可以實現多線程互斥,但是看java的一些鎖,以及 cas,sync
原创 java 使用 sleep + interrupt 實現互斥鎖效果
import java.util.*; import java.util.concurrent.CountDownLatch; public class Test { private static int threadCo
原创 SpringMVC 源碼閱讀之 HandlerInterceptor
springMVC 核心 servlet DispatcherServlet 的 doDispatch 方法: protected void doDispatch(HttpServletRequest request, HttpS
原创 hibernate config.buildSessionFactory() 初始化 c3p0 連接池時新建 mysql 物理連接軌跡追蹤
new Configuration().configure( "hibernate.cfg.c3p0-pool.xml" ).buildSessionFactory() Settings settings = this.buildSe
原创 hibernate 源碼閱讀之 事務提交後有沒有自動歸還( 釋放 )連接?
以下是釋放連接的代碼追蹤: 以下是判斷是否需要釋放連接的代碼追蹤: 那麼,ConnectionManager 的 releaseMode( ConnectionRel
原创 HttpSession 源碼閱讀之 session 過期原理
主要是用 lastAccessedTime 或 thisAccessedTime 和系統當前時間的差值 和 maxInactiveInterval 作比較判斷是否過期:
原创 hibernate 源碼閱讀之 JDBCTransaction.commit( ) 都幹了啥?
如果設置了 session 設置了自動關閉的話,則 提交事務時還會釋放連接( 即歸還至連接池 ):
原创 git 命令總結
1.查看本地和遠程分支列表(以及映射關係): git branch -v 查看本地分支列表 git branch -va 查看本地分支+遠程分支列表之列表 git branch -vv 查看本地
原创 jdk 源碼閱讀之 ArrayList 的擴容機制
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{
原创 java quartz 定時器核心源代碼閱讀
this.schedThread 的類型是 org.quartz.core.QuartzSchedulerThread extends java.lang.Thread,下面是截取的類QuartzSchedulerThread 的