原创 用Executors工具類創建線程池

  多線程技術主要解決處理器單元內多個線程執行的問題,它可以顯著減少處理器單元的閒置時間,增加處理器單元的吞吐能力。     線程池主要用來解決線程生命週期開銷問題和資源不足問題。通過對多個任務重用線程,線程創建的開銷就被分攤到了多個任務

原创 GitHub安裝與使用

  GitHub是一個基於git的代碼託管平臺,付費用戶可以建私人倉庫,一般的免費用戶只能使用公共倉庫,也就是代碼要公開。   Github 由Chris Wanstrath, PJ Hyett 與Tom Preston-Werner三位

原创 Java中的BlockingQueue隊列

  BlockingQueue位於JDK5新增的concurrent包中,它很好地解決了多線程中,如何高效安全地“傳輸”數據的問題。通過這些高效並且線程安全的隊列類,爲我們快速搭建高質量的多線程程序帶來極大的便利。   阻塞隊列,顧名思義

原创 SVN簡介

  SVN是一款版本控制工具。相對於GitHub而言,SVN在使用上更爲簡化些。SVN 和GitHub的聯繫與區別如下:   (1)基本操作大致相同;   (2)SVN沒有本地庫,GIT有本地庫;   (3)SVN提交代碼時只需一次提交(

原创 詳述Java對象創建

  Java是一門面向對象的語言,Java程序運行過程中無時無刻都有對象被創建出來。在語言層面上,創建對象(克隆、反序列化)就是一個new關鍵字而已,但是虛擬機層面上卻不是如此。我們看一下在虛擬機層面上創建對象的步驟:   (1)虛擬機遇

原创 深入理解ThreadLocal

  JDK 1.2的版本中就提供了java.lang.ThreadLocal,ThreadLocal爲解決多線程程序的併發問題提供了一種新的思路。使用這個工具類可以很簡潔地編寫出優美的多線程程序,ThreadLocal並不是一個Threa

原创 SAXParser解析XML文件

  我在之前的一篇文《用dom4j操作xml文件》裏曾介紹了XML文件,以及用dom4j操作xml文件。其實,java有個擴展包(javax.xml)裏也提供瞭解析xml的方法。我接下來通過案例予以介紹。   首先,定義xml文件內的元素

原创 Java代碼優化總結

  代碼優化是一個很重要的課題。一般來說,代碼優化的目標主要有兩個,一個是減小代碼的體積,另一個是提高代碼運行的效率。   代碼優化的細節有很多,此處列舉部分:   1、儘量指定類、方法的final修飾符。   帶有final修飾符的類是

原创 JVM內存分配及GC簡述

  在闡述JVM的內存區域之前,先來看下計算機的存儲單位。從小到大依次爲Bit,Byte,KB,MB,GB,TB。相鄰的單位相差2的10次方。   計算機運行中的存儲元件主要分爲寄存器(位於CPU)和內存,寄存器和內存之間通過地址總線連接

原创 CAS實現單點登錄

  SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用於同一個用戶的登錄的機制。它是目前比較流行的企業業務整合的

原创 SpringMVC 返回JSON數據的配置

  spring-mvc-config.xml(文件名稱請視具體情況而定)配置文件: <!-- 啓動Springmvc註解驅動 --> <mvc:annotation-driven> <!-- 返回json 方法一 需要導入 fas

原创 MongoDB的安裝與使用

  MongoDB是一款NoSql數據庫。NoSql數據庫叫非關係型數據庫,NoSql的全名Not only sql。是爲了解決高併發、高可用、高可擴展,以及大數據存儲等一系列問題而產生的數據庫解決方案。NoSql,它不能替代關係型數據庫

原创 Dubbo使用

  【注:本文參考《Dubbo入門---搭建一個最簡單的Demo框架》,感謝原創作者的知識探索與奉獻】   一.Dubbo背景和簡介   Dubbo開始於電商系統,因此在這裏先從電商系統的演變講起。      1.單一應用框架(ORM)

原创 Java的Timer定時器

  Timer主要用於Java線程裏指定時間或週期運行任務,它是線程安全的,但不提供實時性(real-time)保證。      上面提到了守護線程的概念。   Java分爲兩種線程:用戶線程和守護線程。   所謂守護線程,是指在程序運行

原创 面向對象三大特徵及代碼優化七大原則

  面向對象(Object Oriented,OO)是軟件開發方法。面向對象的概念和應用已超越了程序設計和軟件開發,擴展到如數據庫系統、交互式界面、應用結構、應用平臺、分佈式系統、網絡管理結構、CAD技術、人工智能等領域。面向對象是一種對