原创 JAVA多線程-線程間通信(2)

除了jdk的鎖synchronized的線程間可以通信,那我們之前講的通過java的lock鎖的線程之間可以互相通信嗎?又是通過什麼方式來通信的呢?lock當中又和wait和notify/notifyAll類鎖的通信方式那就是await和

原创 JAVA多線程-線程間通信(1)

       JAVA線程間通信:線程是操作系統中獨立的個體,但是這些個體如果不經過特殊的處理就不能成爲一個整體,線程間的通信就成爲整體的必用方式之一,當線程存在通信指揮,系統間的交互性會更加強大,在提高CPU利用率的同時還會使開發人員對

原创 JAVA多線程-volatile關鍵字

volatile關鍵字的主要作用是使變量在多個線程間可見。 先看個例子: 先看下賬戶類: public class Account extends Thread{     private BigDecimal balnace = ne

原创 Spring源碼分析-IOC容器BeanFactory的設計原理

BeanFactory接口提供了使用IOC容器的規範。在這個基礎上,Spring提供了符合了這個IOC容器接口的一系列的實現供開發人員使用。我們以XmlBeanFactory的實現爲例來說明簡單IOC容器的設計原理。如圖1所示爲XmlBe

原创 Mysql-忘記root密碼並修改

1).查看mysql是否啓動: 2)如果已經啓動,則停止 3)進入mysql配置文件,在mysqlid下面新加skip-grant-tables 4)重啓mysql 5)進入數據庫 6)進入mysql庫中修改root密碼 7)

原创 Spring源碼分析-IOC容器BeanFactory的應用場景

BeanFactory提供的是最基本的IOC容器的功能,關於這些功能定義,我們可以在接口BeanFactory中看到。 BeanFactory接口定義了IOC容器最基本的形式,並且提供了IOC容器所應該遵守的最基本的服務契約,同時,這也是

原创 JAVA多線程-讀寫鎖

JAVA讀寫鎖:前面講到了可重入鎖,雖然使用方面會比synchronized性能高,但是還是沒有達到我們理想得要求,我們實際項目中,比如同時訪問寫的時候需要互斥,或者寫的時候也讀也需要等待,但是多個線程同時讀得時候,不需要等待,這時候就要

原创 JAVA多線程-Lock類API

Lock的api的用法: 我們先看下lock接口中有哪些方法: public interface Lock {     /**      * 獲取鎖,如果獲取不到就一直等待,與synchronized一樣   */    

原创 Spring源碼分析-IOC容器主要接口設計

在Spring中,這個IOC容器是怎樣設計的呢?我們可以看下圖1所示的IOC容器的接口設計圖,這張圖描述了IOC容器中的主要接口設計。     下面對接口關係做一些簡要的分析,可以依據以下內容來理解這張接口設計圖。 從接口BeanFa

原创 JAVA多線程-Lock入門

synchronized是java中的一個關鍵字,也就是說是Java語言內置的特性。那麼爲什麼會出現Lock呢?   在前面文章中,我們瞭解到如果一個代碼塊被synchronized修飾了,當一個線程獲取了對應的鎖,並執行該代碼塊時,其他

原创 JAVA多線程-synchronized的幾種用法

Synchronized的幾種用法: 1.鎖對象的整個方法: public synchronized void test() {         System.out.println("鎖對象的整個方法"); } 2.鎖對象方法的部

原创 Spring源碼分析-IOC之BeanDefinitionRegistry

BeanDefinitionRegistry接口繼承了AliasRegistry,在AliasRegistry的基礎上,增加了對BeanDefinition的各種增刪改查的操作,BeanDefinition的分析可以看上一篇介紹Sprin

原创 Spring源碼分析-IOC之AliasRegistry

 AliasRegistry是spring用來管理別名的接口,主要有如下幾個方法: public interface AliasRegistry { //爲給定的bean的name註冊一個別名 void regist

原创 Spring源碼分析-IOC之HierarchicalBeanFactory

HierarchicalBeanFactory繼承自BeanFactory,也就是在BeanFactory定義的功能基礎上增加了對parentFactory的支持,這裏只提供父容器的訪問功能,至於父容器的設置在ConfigurableBe

原创 Spring源碼分析-IOC之AttributeAccessor

AttributeAccessor定義用於附加和訪問元數據的通用的接口,來自任意對象 public interface AttributeAccessor { //設置屬性的值 void setAttribute(String