原创 Java偏向鎖實現原理(Biased Locking)

閱讀本文的讀者,需要對Java輕量級鎖有一定的瞭解,知道lock record, mark word之類的名詞。可以參考我的一篇博文:Java輕量級鎖原理詳解(Lightweight Locking) Java偏向鎖(Biased

原创 Spring事務管理機制的實現原理-動態代理

之前在做項目中遇到spring無法進行事務代理問題,最後發現是因爲沒有寫接口,原因當時明白了,看到這篇文章寫的清楚些,轉過來   我們先來分析一下Spring事務管理機制的實現原理。由於Spring內置AOP默認使用動態代理模式實現,我

原创 SpringMVC文件上傳 Excle文件 Poi解析並批量導入 MYSQL數據庫

/** * 業務需求說明: * 1 批量導入成員 並且 自主創建賬號 * 2 校驗數據格式 且 重複導入提示 已被佔用 * 3 導入手機相同 則更新源有信息 * 4 返回錯誤信息 */ jsp文件 部分 瀏覽

原创 高併發編程必備基礎

一、前言 借用Java併發編程實踐中的話"編寫正確的程序並不容易,而編寫正常的併發程序就更難了",相比於順序執行的情況,多線程的線程安全問題是微妙而且出乎意料的,因爲在沒有進行適當同步的情況下多線程中各個操作的順序是不可預期的,本

原创 ConcurrentHashMap詳解以及get方法保持同步的解釋

ConcurrentHashMap是Java5中新增加的一個線程安全的Map集合,可以用來替代HashTable。對於ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多個鎖代替HashTable

原创 數據庫大併發操作要考慮死鎖和鎖的性能問題

 前言 數據庫大併發操作要考慮死鎖和鎖的性能問題。看到網上大多語焉不詳(尤其更新鎖),所以這裏做個簡明解釋,爲下面描述方便,這裏用T1代表一個數據庫執行請求,T2代表另一個請求,也可以理解爲T1爲一個線程,T2 爲另一個線

原创 Java內存分配

學習Java的同學注意了!!!  學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入Java學習交流羣,羣號碼:254078193  我們一起學Java! 棧、堆、常量池雖同屬Java內存分配時操作的區域,但其

原创 Spring AOP 完成日誌記錄

1、技術目標 掌握Spring AOP基本用法使用Spring AOP完成日誌記錄功能 提示:本文所用項目爲"影片管理",參看 http://hotstrong.iteye.com/blog/1160153 本文基於"影片管理"

原创 劍指Offer面試題43(Java版):n個骰子的點數

  劍指Offer面試題43(Java版):n個骰子的點數 題目:把n個骰子仍在地上,所有骰子朝上一面的點數之和爲s,輸入n,打印出s的所有可能的值出現的概率。 n個骰子朝上的數之和爲s,求s的所有可能以及概率

原创 leetcode -- happy number 快樂數

Write an algorithm to determine if a number is "happy". A happy number is a number defined by the following process:

原创 Windows下Java開發環境搭建(IDEA+JDK+Maven+Tomcat)

      作爲一個java開發新人,快速合理的搭建java開發環境是必須掌握的技能。當下Mac盛行,作爲學生黨只能繼續使用Windows,如果你足夠熱愛技術,操作系統其實也是一種工具。言歸正傳,下面將詳細描述Windows下j

原创 解決Hash衝突的幾種方法

哈希法又稱散列法、雜湊法以及關鍵字地址計算法等,相應的表稱爲哈希表。這種方法的基本思想是:首先在元素的關鍵字k和元素的存儲位置p之間建立一個對應關係f,使得p=f(k),f稱爲哈希函數。創建哈希表時,把關鍵字爲k的元素直接存入地址爲

原创 java stack的詳細實現分析

簡介     我們最常用的數據結構之一大概就是stack了。在實際的程序執行,方法調用的過程中都離不開stack。那麼,在一個成熟的類庫裏面,它的實現是怎麼樣的呢?也許平時我們實踐的時候也會嘗試着去寫一個stack的實現玩玩。這裏,

原创 serialVersionUID

serialVersionUID 有什麼作用?該如何使用? ##問題 當一個對象實現 Serializable 接口時,多數 ide 會提示聲明一個靜態常量 serialVersionUID(版本標識),那 serialVersio

原创 公交換乘算法

三個表(最簡單化,不考慮模糊查詢,單行線等其他東西): 1,站點表stop(stop_id,stop_name) 2,路線表line(line_id,line_name) 3,路線站點表(點線路關係表)linestops( line