原创 mysql有條件插入數據

要求是這樣的:   我有一個表存着基礎數據有一個字段是 管理號 我的目的是先查詢最新的管理號按照規則生成新管理號 然後insert到表裏新數據  由於查詢並不鎖表 所以在查詢到insert這步中間會有可能兩線程查詢到相同的管理號?  

原创 JFinal使用事務及其原理

使用聲明式事務 事務類本身就是一個攔截器,可以用註解的方式配置。方法內部的所有 DML 操作都將在本次事務之內。 配置代碼如下: @Before(Tx.class) public void savePost(){ //..

原创 五分鐘理解Java的反射API

反射API Java是一種具有反射功能的語言。允許開發人員在運行時檢查類型、方法、字段、註解等,並在程序運行時決定是否使用。 爲此,Java的反射API提供類,類,字段,構造函數,方法,註釋和其他。 使用它們可以與編譯時未知的類型進行

原创 java序列化

Java提供一種機制叫做序列化,通過有序的格式或者字節序列持久化java對象,其中包含對象的數據,還有對象的類型,和保存在對象中的數據類型。 所以,如果我們已經序列化了一個對象,那麼它可以被讀取並通過對象的類型和其他信息進行

原创 SQL 行轉列和列轉行

行轉列,列轉行是我們在開發過程中經常碰到的問題。行轉列一般通過CASE WHEN 語句來實現,也可以通過 SQL SERVER 2005 新增的運算符PIVOT來實現。用傳統的方法,比較好理解。層次清晰,而且比較習慣。 但是PI

原创 代理模式--原理及實現

簡介 Java編程的目標是實現現實不能完成的,優化現實能夠完成的,是一種虛擬技術。生活中的方方面面都可以虛擬到代碼中。代理模式所講的就是現實生活中的這麼一個概念:中介。 代理模式的定義:給某一個對象提供一個代理,並由代理對象控制對

原创 CountDownLatch

正如每個Java文檔所描述的那樣,CountDownLatch是一個同步工具類,它允許一個或多個線程一直等待,直到其他線程的操作執行完後再執行。在Java併發中,countdownlatch的概念是一個常見的面試題,所以一定要確保你很

原创 jdk源碼解析--集合類

最近在整理JAVA 基礎知識,從jdk源碼入手,今天就jdk中 java.util包下集合類進行理解 先看圖 從類圖結構可以瞭解 java.util包下的2個大類:   1、Collecton:可以理解爲主要存放的是單個對象   2、

原创 TOMCAT源碼分析——請求原理分析(上)

前言   談起Tomcat的誕生,最早可以追溯到1995年。近20年來,Tomcat始終是使用最廣泛的Web服務器,由於其使用Java語言開發,所以廣爲Java程序員所熟悉。很多人早期的J2EE項目,由程序員自己實現Jsp頁面或者Se

原创 jdk源碼解析--set

JDK源碼分析Set類,因爲Set類是經常要用到的,那我們知道JDK源碼中Set類在其中不可以有相同的元素,那麼判斷這個元素是否相同是如何實現的呢,我們看下下面這張圖:    對JDK源碼分析之Set類在這張類圖上,首先我們看見一個

原创 怎麼解決java.lang.NoClassDefFoundError錯誤

前言 在日常Java開發中,我們經常碰到java.lang.NoClassDefFoundError這樣的錯誤,需要花費很多時間去找錯誤的原因,具體是哪個類不見了?類明明還在,爲什麼找不到?而且我們很容易把java.lang.NoCl

原创 那些年我們一起追過的緩存寫法(一)

基本寫法 爲了方便演示,這裏使用Runtime.Cache做緩存容器,並定義個簡單操作類。如下: 1 2 3 4 5 6 7 8 9 10 11 12 public class CacheHelp

原创 爲什麼要使用代理模式?

爲什麼要使用代理模式? Proxy是比較有用途的一種模式,而且變種較多,應用場合覆蓋從小結構到整個系統的大結構,Proxy是代理的意思,我們也許有代理服務器等概念,代理概念可以解釋爲:在出發點到目的地之間有一道中間層,意爲代理.

原创 jfinal源碼解析

JFinal是一個Java極速開發框架,配置簡單  先從web.xml看起,其中配置了一個過濾器,過濾器中配置項目中我們自己寫的核心配置類 <?xml version="1.0" encoding="UTF-8"?> <web-app

原创 jdk源碼解析--深入探討Iterator模式

java.util包中包含了一系列重要的集合類。本文將從分析源碼入手,深入研究一個集合類的內部結構,以及遍歷集合的迭代模式的源碼實現內幕。 下面我們先簡單討論一個根接口Collection,然後分析一個抽象類AbstractList和它