原创 AtomicInteger線程安全的實現機制

java在concurrent包下提供了線程安全的int包裝類,AtomicInteger,接下來我們就講講AtomicInteger的實現原理: public class AtomicInteger extends Number imp

原创 Object finalnize()方法學習

Object對象中包含了一個用來回收堆中對象的方法,finalnize(),顯示調用該方法並不一定會觸發GC的回收,下面我們通過實驗查看finalnize()方法工作機制; public class LoanProduct {

原创 CAS如何保證安全性?(最後更新時間:20170328)

CAS是compareAndSet的縮寫,是Unsafe類中的方法,我們來看源碼: /** * Atomically sets the value to the given updated value * if

原创 百度面試:鏈表翻轉

翻轉鏈表: Node類: public class Node { private int value; private Node next; } 需求: public static void main(String[]

原创 二叉樹遍歷(遞歸與非遞歸實現)

二叉樹的遍歷: public class TreeNode { public String key; public String val; public TreeNode left; public Tree

原创 單例模式實現:枚舉單例

代碼實踐: public enum SingletonEnum { INSTANCE; Object object; SingletonEnum() { object = new Object();

原创 事物底層實現

關於mysql支持的事物底層是如何實現的: 1.mysql事物顯示配置: Transaction.begin(); //TODO 增刪改查 Transaction.commit(); 顯示配置事物; 2.聲明

原创 mysql面試題

這個可以作爲一個靈活使用or 和 and 操作的面試題: SELECT * FROM A JOIN B ON A.id=B.aId WHERE (expr1 or expr2); Question:現在我有一個需求:

原创 @Resource和@Autowired區別

1.@Resource @Resource註解來着J2EE,優先使用byName方式進行注入,如果沒有則在使用byType方式注入; 2.@Autowired @Autowired來自Spring,優先使用byTyp

原创 Sping對事物的支持

Spring的事物通過它下面的tx組件實現,首先我們找到平臺事物管理器: 這裏是他的接口清單: PlatformTransactionManager.java *TransactionStatus getTransaction(Tra

原创 Mybatis中mapper文件傳參方式(2種方式)

很長時間沒有研究Mybatis了,之前工作Hibernate框架用的較多一些,今天遇到一個有趣的問題,話不多說,直接上代碼: public interface BusinessDepartmentMapper { Long in

原创 mysql鎖機制

mysql提供了行鎖,表鎖以及葉鎖;其中,InnoDB引擎採用了表鎖的行鎖機制; 行鎖很容易有死鎖的問題,當兩個session同時進入該行數據的時候,會造成所競爭,同時事物也會鎖定;

原创 IDEA2017激活(給力)

進入ide主頁面,help-register-license server,然後輸入 http://idea.iteblog.com/key.php(注意:php要小寫)

原创 <轉>全面分析 Spring 的編程式事務管理及聲明式事務管理

開始之前 關於本教程 本教程將深入講解 Spring 簡單而強大的事務管理功能,包括編程式事務和聲明式事務。通過對本教程的學習,您將能夠理解 Spring 事務管理的本質,並靈活運用之。 先決條件 本教程假定您已經掌握了 Java

原创 ArrayList和LinkedList的時間複雜度

1.ArrayList和LinkedList的時間複雜度; (1)ArrayList:ArrayList是一個泛型類,底層採用數組結構保存對象。數組結構的優點是便於對集合進行快速的隨機訪問,即如果需要經常根據索引位置訪問集合中的對象,使