原创 升級gcc

http://www.cnblogs.com/peterpanzsy/archive/2013/04/10/3006838.html今天又搞了一天,升級成功的那一刻,我都快感動得哭了。。。什麼都不說了,都是淚。。。其實升級不難,真的一點都

原创 mongodb入門

數據庫分類 1.sql數據庫:支持sql語言的數據庫,oracle,mysql等。 2.nosql數據庫,不支持sql語言的數據庫,redis,mongodb mongodb特點 1無數據結構限制     沒有表結構概念,每條記錄可以

原创 centos 開啓防火牆

一、檢查iptables服務狀態 首先檢查iptables服務的狀態 [root@woxplife ~]# service iptables status iptables: Firewall is not running. 說

原创 JVM內存模型來解釋多線程併發常見問題和volilate,final,ThreadLocal

多核CPU運行時,每個CPU都會有自己的Cache,同樣jvm運行時,每個線程的私有棧在使用共享數據時,都會現將共享數據拷貝進棧頂進行運算,這份數據其實是副本,因此也同樣存在多個線程修改一個內存單元的一致性問題。 JVM有自己的一套內存

原创 CAS機制

CAS,Compare and Swap, 翻譯成比較並交換:有3個操作數,內存值V,舊的預期值A,要修改的新值B。當且僅當預期值A和內存值V相同時,將內存值V修改爲B,否則什麼都不做。 現代的CPU提供了特殊的指令,可以自動更新共享

原创 java深拷貝和淺拷貝

因爲每個類直接或間接的父類都是Object,因此它們都含有clone()方法,但是因爲該方法是protected,所以都不能在類外進行訪問。要想對一個對象進行復制,就需要對clone方法覆蓋。 一般步驟是(淺複製): 被複制的類需要實

原创 AOP

AOP:面向切面編程,通過預編譯方式和運行期動態代理實現程序功能統一維護的一種技術

原创 工廠模式

1.什麼情況下適合工廠模式 有一組類似的對象需要創建 在編碼時不能預見需要創建哪種類的實例 系統需要考慮擴展性,不依賴於產品實例如何被創建組合和表達的細節 2.工廠模式的動機 在軟件系統中經常面臨着對象的創建工作,由於需求的變化,這個對象

原创 集合

java集合架構支持3種類型的集合:規則集(Set),線性表(List),和圖(Map),分別定義在Set,List,Map中。Set實例存儲一組互不相同的元素(集合),List實例存儲一組順序排列的元素(表),Map存儲一組 對象—關鍵

原创 spring

spring 是一個開源框架,爲解決企業應用開發的複雜性而創建的,現在已經不止應用於企業應用 是一個輕量級的控制反轉IOC和麪向切面AOP 的容器框架 從大小與開銷兩方面而言Spring都是輕量的 通過控制反轉的技術達到鬆耦合目的 提供面

原创 樂觀鎖和悲觀鎖

悲觀鎖(Pessimistic Lock), 顧名思義,就是很悲觀,每次去拿數據的時候都認爲別人會修改,所以每次在拿數據的時候都會上鎖,這樣別人想拿這個數據就會block直到它拿到鎖。傳統的關係型數據庫裏邊就用到了很多這種鎖機制,比如行

原创 字節碼增強和AOP

字節碼增強技術:AOP技術其實就是字節碼增強技術,JVM提供的動態代理追根究底也是字節碼增強技術。 應用場景:某一天系統出現OOM,通過工具分析,是莫各類的對象佔用了很大空間,但是這個對象被許多程序訪問,那麼就很難找到,工程的全文匹配

原创 jvm內存劃分與GC工作機制

heap堆裏的minor GC和full gc 在不斷創建對象過程中Eden區會滿,然後開始Young GC(minor GC),Young 空間第一次GC就是在Eden區找”活着的對象“,將這些對象拷貝到S0或S1其中一個區域,然

原创 基於nginx tomcat redis分佈式web應用的session共享配置

一、前言 nginx 作爲目前最流行的開源反向代理HTTP Server,用於實現資源緩存、web server負載均衡等功能,由於其輕量級、高性能、高可靠等特點在互聯網項目中有着非常普遍的應用,相關概念網上有豐富的介紹。分佈式web

原创 線程基礎

線程和進程的區別:線程是進程的執行單位,多線程之間可以共享一個進程資源,線程佔用過多資源會使整個進程宕機,由於資源共享,現場之間會互相影響,進程之間通常不會。 線程的的創建,都要通過java.lang.Thread類的start()方法