原创 Java內存模型之——重排序

重排序    重排序是編譯器和處理器爲了優化性能而對執行執行的順序進行的重排序。現在大多數的處理器都會採用將指令亂序執行的方法。重排序的好處(在條件允許的情況下):直接運行當前能夠立即執行的後續指令,避開獲取下一條指令所需數據時造成的等待

原创 Java集合---ConcurrentHashMap原理分析

一、背景:線程不安全的HashMap    因爲多線程環境下,使用Hashmap進行put操作會引起死循環,導致CPU利用率接近100%,所以在併發情況下不能使用HashMap。 效率低下的HashTable容器     HashTabl

原创 Java集合類解析

出自:https://www.cnblogs.com/leeplogs/p/5891861.html 一、集合與數組 數組(可以存儲基本數據類型)是用來存現對象的一種容器,但是數組的長度固定,不適合在對象數量未知的情況下使用。

原创 java中讀取properties文件內容的五種方式

一、背景  最近,在項目開發的過程中,遇到需要在properties文件中定義一些自定義的變量,以供java程序動態的讀取,修改變量,不再需要修改代碼的問題。就藉此機會把Spring+SpringMVC+Mybatis整合開發的項目中通過

原创 List、set、Map的底層實現原理

本文主要是參考了網上一些對java集合講解的比較詳細博客進行歸納總結,下面對 java集合中幾個比較常用的類歸納分析。 ArrayList實現原理要點概括 參考文獻: http://zhangshixi.iteye.com/blo

原创 java可重入鎖(ReentrantLock)的實現原理

轉載自:http://blog.csdn.net/yanyan19880509/article/details/52345422因爲這個博主寫得太好了。太佩服了。前言相信學過java的人都知道 synchronized 這個關鍵詞,也知道

原创 Java中的日期轉化格式DateUtil工具類

最近在項目中經常會遇到各種的日期格式轉化。所以,參考一些資料就寫了一個工具類DateUtil。日期格式包括:年(yyyy)、年月(yyyyMM、yyyy-MM)、年月日(yyyyMMdd、yyyy-MM-dd)、年月日時分(yyyyMMd

原创 一張表裏面有ID自增主鍵,當insert了17條記錄之後,刪除了第15,16,17條記錄,再把mysql重啓,再insert一條記錄,這條記錄的ID是18還是15 ?

一般情況下,我們創建的表的類型是InnoDB,如果新增一條記錄(不重啓mysql的情況下),這條記錄的id是18;但是如果重啓(文中提到的)MySQL的話,這條記錄的ID是15。因爲InnoDB表只把自增主鍵的最大ID記錄到內存中,所以重

原创 TCP三次握手與四次揮手過程解析

TCP三次握手和四次揮手的全過程     TCP是主機對主機層的傳輸控制協議,提供可靠的連接服務,採用三次握手確認建立一個連接:位碼即tcp標誌位,有6種表示:SYN(synchronous建立連接)ACK(acknowledgement

原创 HashMap與HashTable的區別

HashMap與HashTable有什麼區別?在面試中經常會問到這樣的問題。於是,通過查閱一些資料,總結一下寫下這篇博客。 區別1:兩者誕生的時間 不同。  HashTable產生於JDK1.1,而HashMap產生於JDK1.2。從時間

原创 Java中遞歸與迭代的區別

Java中遞歸與迭代的區別  在找工作面試的過程中,遇到這樣一個問題:遞歸與迭代的區別?當時感覺這個基礎的問題回答的很差,值回答了簡單的層面意思。所以,回來就查閱資料總結了一下。參考博客:http://blog.csdn.net/laoy

原创 java中文件的讀取實現,以及用到哪些類?

Java中讀文件的代碼實現,以及用到哪些類? 在java代碼中進行文件的讀操作,一般使用FileReader,InputStreamReader和BufferedReader類進行操作。其中最重要的類似InputStreamReader,

原创 java中的棧、堆以及兩者的區別

Java中的棧、堆、堆棧的區別 Java內存分爲棧內存和堆內存,都是java用來在Ram中存放數據的地方。與C++不同,java自動管理棧和堆,程序員不能直接的設置棧和堆。   1. 棧 Java中的數據類型有兩種,前面我已經講過。基本數

原创 mysql裏記錄貨幣用什麼字段類型好?

在java的開發中,貨幣在數據庫中MySQL常用Decimal和Numric類型表示,這兩種類型被MySQL實現爲同樣的類型。他們被用於保存值,該值的準確精度是極其重要的值,例如與金錢有關的數據。當聲明一個類是這些類型之一時,精度和規模的

原创 發現了以元素 'aop:config' 開頭的無效內容。應以 '{"http://www.springframework.org/schema/beans":beans}' 之一開頭。

Spring 配置文件 <!--aop 配置--> <aop:aspectj-autoproxy/> <beans> <bean id="controllerAop" class="cn.scu.petc