原创 Java多線程學習筆記(四)

1、原子性:操作不能被打斷,要麼成功要麼失敗。i++ 不是原子操作。 2、可見性:一個線程修改了數據,其他線程立刻可見。 3、順序性: 4、volatile 保證程序的可見性,和順序性。不能保證對複合操作(如i++)的原子性。 javap

原创 Spring AOP

Aspectj 可以實現 AOP Spring AOP 提供兩種編程風格:    AspectJ Support-  利用AspectJ 的註解。   Schema-based AOP support : xml Join Point (

原创 Spring mvc 原理剖析

Spring mvc 體系結構 SimpleServletHandler  

原创 Spirng 事務底層原理分析

一、數據庫事務的基本特性   1、select @@tx_isolation  二、Spring 對事務的支持與使用。 3個接口: TransactionDefiniton 事務頂定義 platformTransactionManager

原创 Mybatis學習筆記

核心概念: Configuration:管理mysql- SqlSessionFactory: Session 管理工廠接口 Session: Executor MappedStatement StatementHandler Resul

原创 Kafka學習筆記

Kafka 用Scala 語言編寫 一、基本概念 1、Topic 2、Producer 3、customer 4、Broker   kafka的性能與保留的數據量的大小沒有關係,因此保存大量的數據(日誌信息)不會有什麼影響。   kaf

原创 垃圾回收算法與思想

一、回收算法與思想1、應用計數法2、標記-清除算法3、複製算法。4、標記壓縮算法5、增量算法。6、分代:hotSpot 虛擬機:  1)、新建的對象放入年輕代。90%的新建對象會很快回收。因此年輕代使用複製算法。  2)、當一個對象經過幾

原创 Java 性能調優

一、CPU使用率:       可分爲兩類:        用戶態時間:CPU執行應用代碼所佔時間的百分比。        系統態時間:CPU執行內核代碼所佔的時間百分比。    性能調優的目的: 在儘可能端的時間內讓CPU使用率儘可能高

原创 Java 虛擬機內存模型

一、JVM組成:程序計數器虛擬機棧本地方法棧Java堆Java堆方法區1、程序計數器:每一個線程有一個獨立的程序計數器,用於記錄下一條要運行的指令。各個線程之間的計數器互不影響,獨立工作,是一塊線程私有的內存空間。如果當前線程正在執行一個

原创 性能能優化的一般思路

1、有明確的性能指標,比如 qps 等,清楚的指出優化的對象和最終目標。2、需要在目標平臺對軟件進行測試,通過各種性能監控和統計工具,觀測和確認是否達到相關指標。      若未達到優化目標,則需要查找當前的性能瓶頸。3、可能稱爲瓶頸的因

原创 Spring AOP 底層實現

1、AOP:  Java Proxy, CGLIB2、Spring AOP 定義組件,通知(Advice) 攔截組件、調用組件3、Spring IoC:       ApplicationContext     ClassPathXmlA

原创 設計模式實現 -- 單例模式

1、一般單例,    優點:實現方式簡單,十分可靠。    不足:無法對 instance 實例做延遲加載。如果單例的創建過程很慢,而由於 instance 是 static 的,    因此在 JVM加載單例類是,單例對象就會被建立。如

原创 tomcat 配置

1、應用目錄和 tomcat 目錄分離   應用目錄的結構:demoweb/conf, logs, temp, webapps, work  啓動tomcat 的命令:   startup.sh,   catalina.sh start/

原创 Dubbo常規應用

1、入門   a)、consumer -- 客戶端,服務消費方、應用程序。   b)、provider -- 服務端、服務提供者。 2、架構與基本角色說明    (redis desktop manager ) 3、dubbo的配置  

原创 如何在windows系統自帶命令查看硬件信息

如何在windows系統自帶命令查看硬件信息,怎樣dos命令查看硬盤和內存/CPU信息?最直接的是:開始→運行→CMD打開命令提示符,在該窗口下輸入systeminfo執行,即可看到幾乎所有想知道的系統信息,甚至包括機器上已安裝的網卡及其