mix原始碼理解

2021-09-29 03:08:57 字數 2108 閱讀 7531

[

// 錯誤

'error'

=>

[// 依賴引用

'ref'

=>

beanname

(mix\console\error::

class),

//bean配置的名字,通過這個去取bean],

// 日誌

'log'

=>

[// 依賴引用

'ref'

=>

beanname

(mix\log\logger::

class),

//bean配置的名字,通過這個去取bean],

]bean:

:config

($this

->

config

['log'][

'ref'])

[// 錯誤

[// 類路徑

'class'

=> mix\console\error::

class

,'name'

=>

'error'

,// 屬性

'properties'

=>

[// 錯誤級別

'level'

=>

e_all,]

,],// 日誌

[// 類路徑

'class'

=> mix\log\logger::

class

,// 屬性

'properties'

=>

[// 日誌記錄級別

'levels'

=>

['emergency'

,'alert'

,'critical'

,'error'

,'warning'

,'notice'

,'info'

,'debug'],

// 處理器

'handler'

=>

[// 依賴引用

'ref'

=>

beanname

(mix\log\multihandler::

class),

],],

],// 日誌處理器

[// 類路徑

'class'

=> mix\log\multihandler::

class

,// 屬性

'properties'

=>

[// 日誌處理器集合

'handlers'

=>

[// 標準輸出處理器

[// 依賴引用

'ref'

=>

beanname

(mix\log\stdouthandler::

class),

],// 檔案處理器

[// 依賴引用

'ref'

=>

beanname

(mix\log\filehandler::

class),

],],

],],

// 日誌標準輸出處理器

[// 類路徑

'class'

=> mix\log\stdouthandler::

class,]

,// 日誌檔案處理器

[// 類路徑

'class'

=> mix\log\filehandler::

class,]

,]beans配置轉換未關聯陣列,鍵是bean的name。

['error'

=>

[// 類路徑

'class'

=> mix\console\error::

class

,'name'

=>

'error'

,// 屬性

'properties'

=>

[// 錯誤級別

'level'

=>

e_all,]

,],]

配置的鍵都會變成類物件的屬性

python原始碼理解

1,一切都是物件 2,typedef struct objectpyobject pyobject是不可變長度的物件 3,typedef structpyvarobject 可變長度的物件 4,每乙個物件都對應乙個型別物件 pytype type 5,每乙個物件都有乙個引用計數器 6,在python...

ArrayList原始碼理解

與linkedlist原始碼理解放在一起查閱,效果更好 對隊成員變數的分析,可以知道arraylist的資料結構 對add 方法的分析,可以得知arraylist新增資料的效率不高 對get 方法的分析,可以看出arraylist查詢的效率非常高 對remove 方法的分析,可以了解到arrayli...

ThreadLocal原始碼理解

threadlocal其實原理是建立了多份相同資料儲存在堆記憶體上,每個執行緒的thread類裡有threadlocal.threadlocalmap threadlocals的屬性來指向存位置,所以每個執行緒修改都不會影響到其他執行緒的資料 首先說下下面用到的東西 threadlocalmap為t...