原创 JDBC Transaction 理解

1、Transaction 事務特性: 事務是併發控制的單元,是用戶定義的一個操作序列。這些操作要麼都做,要麼都不做,是一個不可分割的工作單位。通過事務將邏輯相關的一組操作綁定在一起,以便服務器 保持數據的完整性。事務通常是以begin

原创 多線程(2)

簡單的多線程理解,一個簡單的購票,創建4個線程,賣5張票. package util; public class Test{public static void main(String[] args) {new Test().new Ti

原创 SQL Server 創建Function

創建用戶定義函數,它是返回值的已保存的 Transact-SQL 例程。用戶定義函數不能用於執行一組修改全局數據庫狀態的操作。與系統函數一樣,用戶定義函數可以從查詢中喚醒調用。也可以像存儲過程一樣,通過 EXECUTE 語句執行。 用戶定

原创 Java 設計模式

Java 常見的設計模式 Proxy 代理模式 Factory 工廠模式 Singleton 單例模式 Delegate 委派模式 Strategy 策略模式 Prototype 原型模式 Template 模板模式 代理模式是Java最

原创 MyBatis學習總結(二)——使用MyBatis對錶執行CRUD操作

上一篇博文MyBatis學習總結(一)——MyBatis快速入門中我們講了如何使用Mybatis查詢users表中的數據,算是對MyBatis有一個初步的入門了,今天講解一下如何使用MyBatis對users表執行CRUD操作。本文中使

原创 數據庫鎖機制

SQL server 鎖機制,悲觀鎖,樂觀鎖 一、爲什麼會有鎖 多個用戶同時對數據庫的併發操作時會帶來以下數據不一致的問題: 1.丟失更新 A,B兩個用戶讀同一數據並進行修改,其中一個用戶的修改結果破壞了另一個修改的結果,比如

原创 MyBatis 學習總結(一)MyBatis快速入門

一、Mybatis介紹 MyBatis是一個支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及對結果集的檢索封裝。MyBatis可以使用簡單的XML或註解用於配置和原

原创 Java網絡編程精解之ServerSocket用法詳解一

在客戶/服務器通信模式中,服務器端需要創建監聽特定端口的ServerSocket,ServerSocket負責接收客戶連接請求。 構造ServerSocket ServerSocket的構造方法有以下幾種重載形式: ◆ServerSoc

原创 JAVA緩存技術(1)

最近開發項目,想用到緩存,做下筆記。 首先弄出幾個問題: 1緩存爲什麼要存在?2緩存可以存在於什麼地方?3緩存有哪些屬性?4緩存介質? 搞清楚這4個問題,那麼我們就可以隨意的通過應用的場景來判斷使用何種緩存了. 1.緩存爲什麼要存在: 一

原创 Java網絡編程精解之ServerSocket用法詳解二

從上節提到Server端負責接收Client連接,以及與客戶端通信,具體代碼: while (true) { Socket socket=null; try { socket = serverSocket.accept();  

原创 MyBatis學習總結(三)——優化MyBatis配置文件中的配置

一、連接數據庫的配置單獨放在一個properties文件中   之前,我們是直接將數據庫的連接配置信息寫在了MyBatis的conf.xml文件中,如下: <?xml version="1.0" encoding="UTF-8"?>

原创 ActiveMQ(一)

首先要認識到爲什麼要使用MQ?  總結下MQ 應用場景:實際應用中常用的使用場景,異步處理,應用解耦,流量削鋒和消息通訊四個場景。 1.異步處理: 場景說明:用戶註冊後,需要發註冊郵件和註冊短信。傳統的做法有兩種1.串行的方式;2.並行方

原创 SQL Server 對比兩個數據庫的索引

SELECT ' CREATE ' +     CASE WHEN I.is_unique = 1 THEN ' UNIQUE ' ELSE '' END  +      I.type_desc COLLATE DATABASE_D

原创 ActiveMQ(四)

上篇介紹了ActiveMQ安裝以及使用,下面介紹下如果在程式中使用首先下載ActiveMQ Jar包然後創建兩個Java class 消息生成:package com.htc.question.util; import javax.j

原创 List 分組實現

List 分組實現 首先創建實體類 import java.io.Serializable; public class Foo implements Serializable{ private static final long