天天看點

跟你分享我最初的遇見

一、什麼是事務?事務的特性?

事務(transaction)是通路并可能更新資料庫中各種資料項的一個程式執行單元(unit)。事務通常由進階資料庫操縱語言或程式設計語言(如sql,c++或java)書寫的使用者程式的執行所引起,并用形如begin transaction和end transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。例如:在關系資料庫中,一個事務可以是一條sql語句,一組sql語句或整個程式。

事務是恢複和并發控制的基本機關。

事務應該具有4個屬性:原子性、一緻性、隔離性、持續性。這四個屬性通常稱為acid特性。

原子性(atomicity)一個事務是一個不可分割的工作機關,事務中包括的諸操作要麼都做,要麼都不做。

一緻性(consistency)事務必須是使資料庫從一個一緻性狀态變到另一個一緻性狀态。一緻性與原子性是密切相關的。

隔離性(isolation)一個事務的執行不能被其他事務幹擾。即一個事務内部的操作及使用的資料對并發的其他事務是隔離的,并發執行的各個事務之間不能互相幹擾。

持久性(durability)持續性也稱永久性(permanence),指一個事務一旦送出,它對資料庫中資料的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。

a.nullpointerexception

b.classcastexception

c.filenotfoundexception

d.indexoutofboundexception

a.linkedlist繼承自list

b.abstractset繼承自set

c.hashset繼承自abstractset

d.weakmap繼承自hashmap

1、餓漢式

2、懶漢式

.eq()傳回的是一個jquery對象,傳回的是jquery對象,就可以繼續調用其他方法。

.get()傳回的是一個html對象數組,傳回的是html數組就不能調用jquery的其他方法。

例如:

$("ul li").get(1).css("color", "red"); //這個是錯誤的

$("ul li").eq(1).css("color", "red"); //這個是正确的

在啟動weblogic的腳本中(位于所在domian對應伺服器目錄下的startservername),增加set mem_args=-xms32m -xmx200m,可以調整最小記憶體為32m,最大200m。

可以看qps,機器的load,cpu,看邏輯有沒有耗時操作,還有網絡因素 。

給請求鍊路中的各個環節加上日志,比如資料庫操作,第三方系統調用等環節,通過日志,定位問題,如果是資料庫操作耗時比較長,優化sql語句,加索引,或者提升資料庫硬體性能;如果是第三方系統耗時較長,則通過業務分析優化,将第三方系統調用做成異步或者通過池化技術緩存對第三方的依賴等。

使用etl工具,如infomatic,datastage,kettle等,可以完成異構資料庫的遷移

以kettle為例:

表輸入選擇 oracle庫

表輸出選擇db庫

循環執行可以進行全庫遷移