原创 多線程Volatile

在說明Java多線程內存可見性之前,先來簡單瞭解一下Java內存模型。      (1)Java所有變量都存儲在主內存中      (2)每個線程都有自己獨立的工作內存,裏面保存該線程的使用到的變量副本(該副本就是主內存中該變量的一份拷

原创 多線程synchronized和lock區別

一.synchronized的缺陷   synchronized是java中的一個關鍵字,也就是說是Java語言內置的特性。那麼爲什麼會出現Lock呢?   在上面一篇文章中,我們瞭解到如果一個代碼塊被synchronized修飾了,當一

原创 多線程Lock鎖

1.可重入鎖 如果鎖具備可重入性,則稱作爲可重入鎖。synchronized和ReentrantLock都是可重入鎖,可重入性在我看來實際上表明瞭鎖的分配機制:基於線程的分配,而不是基於方法調用的分配。 2. 讀寫鎖 讀寫鎖將對一個資源

原创 Java經驗(四)

一、 靠自己 其實無論走什麼捷徑進入面試環節,在面試時除了自己,誰也幫不了你,所以,如何把自己能力提升是非常非常重要的部分。另外,需要注意的是,在自己學習時,要有方向,一方面要提升名氣,使簡歷發光,一方面深入學習,要有真本事。 1、提升名

原创 ApplicationContextAware使用

問題背景 在我們的web程序中,用spring來管理各個實例(bean), 有時在程序中爲了使用已被實例化的bean, 通常會用到這樣的代碼: ApplicationContext appContext = new ClassPathX

原创 Mybatis association

(1)  定義硬盤聚合根VolumeCollection,其定義了和硬盤所有相關的實體,包括硬盤、可用域、用戶:   (2)  利用mybatis的association將聚合根數據全部查詢出來             1. 定義聚合根

原创 Mybatis ResultMap

ResultMap是Mybatis最強大的元素,它可以將查詢到的複雜數據(比如查詢到幾個表中數據)映射到一個結果集當中。 1. collection  結果:分組排序展示  15c54adc   計算    List<ServiceI

原创 Excel使用技巧

1. Excel下來數字遞增 (1)使用Excel軟件打開一個表格,選擇單元格,輸入第一個數字。 (2)在下方單元格輸入遞增後的數字。 (3)同時選中兩個單元格,通過右下角下拉即可完成下拉數字遞增。

原创 Java8 lambda表達式

例1、用lambda表達式實現Runnable 我開始使用Java 8時,首先做的就是使用lambda表達式替換匿名類,而實現Runnable接口是匿名類的最好示例。看一下Java 8之前的runnable實現方法,需要4行代碼,而使用l

原创 Java深度問題

問題一:在多線程環境中使用HashMap會有什麼問題?在什麼情況下使用get()方法會產生無限循環? HashMap本身沒有什麼問題,有沒有問題取決於你是如何使用它的。比如,你在一個線程裏初始化了一個HashMap然後在多個其他線程裏對其

原创 Windows下在後臺運行jar包

新建一個bat文件,輸入: @echo off start balabala -jar xxx.jar exit 執行這個批處理程序就可以在後臺運行jar包了 注意: balabala只是一個名字,可以隨便定義。 寫個停止腳本 stop.

原创 MySQL explain詳解

Explain簡介 本文主要講述如何通過 explain 命令獲取 select 語句的執行計劃,通過 explain 我們可以知道以下信息:表的讀取順序,數據讀取操作的類型,哪些索引可以使用,哪些索引實際使用了,表之間的引用,每張表有多

原创 HttpServletRequest詳解

HttpServletRequest對象代表客戶端的請求,當客戶端通過HTTP協議訪問服務器時,HTTP請求頭中的所有信息都封裝在這個對象中,通過這個對象提供的方法,可以獲得客戶端請求的所有信息。 獲得客戶機信息: getRequestU

原创 MySQL建立索引原則

1.選擇唯一性索引 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。例如,學生表中學號是具有唯一性的字段。爲該字段建立唯一性索引可以很快的確定某個學生的信息。如果使用姓名的話,可能存在同名現象,從而降低查詢速度。 2.爲經常

原创 Spring MVC 過濾器和攔截器

1.相同點: 過濾器(filter)與攔截器(intercepter)相同點: 1) 都可以攔截請求,過濾請求 2) 都是應用了過濾器(責任鏈)設計模式 2.區別: 1) filter是範圍比較大,配置web.xml中 2) interc