原创 死鎖的例子以及解決辦法

給個死鎖的例子: public class TestDeadLock implements Runnable{ public int flag = 0; static Object o1 = new Object();

原创 Spring的事務管理機制和傳播機制

問:Spring的事務管理是怎麼搞的? Spring 的事務,可以說是 Spring AOP 的一種實現。 AOP面向切面編程,即在不修改源代碼的情況下,對原有功能進行擴展,通過代理類來對具體類進行操作。 Spring聲明式事務讓我們從複

原创 Redis的五種數據結構類型

Redis的五種數據結構類型:(值的類型) STRING(字符串):值可以爲字符串、整數或者浮點數 LIST(列表):鏈表結構(雙端),可以存儲多個字符串(可以重複) SET(集合):與列表類似,但存儲的字符串不可以相同 HASH(散列)

原创 數據庫索引之稠密索引和稀疏索引

(搜索碼:用於在文件中查找記錄的屬性或屬性集) 稠密索引: 如果記錄是排好序的,我們就可以在記錄上建立稠密索引。如上圖所示:在稠密索引中文件中的每個搜索碼值都對應一個索引值。索引項包括索引值以及指向該搜索碼值的第一條數據記錄的指針。由於

原创 Java finally語句到底是在return之前還是之後執行?

轉載地址:http://www.cnblogs.com/lanxuezaipiao/p/3440471.html 網上有很多人探討Java中異常捕獲機制try...catch...finally塊中的finally語句是不是一定會被執行

原创 序列化與反序列化

定義 把Java 對象轉換爲字節序列的過程稱爲對象的序列化。把字節序列恢復爲Java 對象的過程稱爲對象的反序列化。 應用場景 (1)實現了數據的持久化,通過序列化可以把數據永久地保存到硬盤上(通常存放在文件裏) (2)利用序列化實現遠程

原创 Java四種引用類型

強引用: 當內存不夠時,寧願拋出OutOfMemoryError錯誤,也不會去回收。 Object object = new Object(); String str = "hello"; 顯示的置null或者脫離其作用域範圍,不存在

原创 Iterator原理(jdk1.8)

Iterator用於遍歷集合中的元素,適用於不知道集合內部結構的情況。用戶不再與集合類交互,而是與Iterator交互,其清楚知道集合類的內部狀態,通過控制iterator達到遍歷集合的目的。 Iterator<E>接口: public

原创 設計模式之適配器模式

現實生活中的適配器 本文討論適配器模式。適配器模式是23中設計模式之一,它的主要作用是在新接口和老接口之間進行適配。它非常像我們出國旅行時帶的電源轉換器。爲了舉這個例子,我還特意去京東上搜了一下電源轉換器,確實看到了很多地方的標準不一樣

原创 BigDecimal用法詳解

一、BigDecimal介紹       Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變量double可以處理16位有效數。在實際應用中,需要對更大或

原创 數據庫創建索引的注意事項

出於對作者的尊重和感謝,原文地址爲 http://www.studyofnet.com/news/449.html 索引可以提高數據的訪問速度,但同時也增加了插入、更新和刪除操作的處理時間。所以是否要爲表增加索引、索引建立在那些字段上,

原创 Mysql兩種存儲引擎的區別

InnoDB: (1)具有事務(commit)、回滾(rollback)和崩潰修復能力(crash recovery capabilities)的事務安全(transaction-safe (ACID compliant))型表。 (2)

原创 String和StringBuilder作爲方法參數的區別

String作爲方法參數: public class StringTest { public static void main(String[] args) { String s1 = new String("st

原创 DNS域名解析過程

DNS:域名系統,一個用來維護主機名和IP地址之間對應關係的“數據庫”。 DNS域名解析過程可以參考下圖: 參考博客:http://369369.blog.51cto.com/319630/812889/

原创 @RequestBody, @ResponseBody 註解詳解

簡介:@RequestBody作用:       i) 該註解用於讀取Request請求的body部分數據,使用系統默認配置的HttpMessageConverter進行解析,然後把相應的數據綁定到要返回的對象上;      ii) 再把