關於if巢狀效能的問題

2021-09-05 14:46:24 字數 533 閱讀 9678

要求:判斷a,b,c.....等是否符合特定型別,都符合執行特定函式

自定義函式 : check(string str) 判斷函式是否符合特定型別,符合返回true,否則返回false

message(string str)伺服器端事件,實現彈出警告

doaction()待執行的特定函式

第一種邏輯:

string str;

bool tag=true;

if(check(a))

if(check(b))

. .

. if(tag)

else

第二種邏輯:

if(check(a))

else

} else

個人意見:這兩種方法都可以實現所要求的功能,但是就是不知道哪個效率高點,有高手指點一下麼,

第一種方法每次都要做全部的判斷,而第二種方法當a出錯時,就跳出了,不需要執行以下的判斷了,

當都符合時條件時,執行的次數是一樣多的,但很明顯第二種的邏輯要複雜的多.

關於事務巢狀失效的問題

舉例 兩個均加了事務註解的方法a和b,在a方法中呼叫b方法,會導致b的事務不起作用,因為加了事務註解的方法,並不是本身在執行,而是 類在執行,而在a方法中呼叫b方法的時候,預設的是this.b 代表並沒有使用 類來執行,所以不會享受 的服務。也就是不起作用的原因。解決方法 1.獲取當前service...

關於集合的效能問題

1.bag 是所有非反向集合型別中效能最差的 但卻是反向集合中效能最好的,還有list。因為 bag 允許重複的元素值,也沒有索引字段,因此不可能定義主鍵。hibernate 無法判斷出重複的行。當這種集合被更改時,hibernate 將會先完整地移除 通過一 個 in a single delet...

關於遞迴的效能問題

一直以為遞迴比較方便,也知道遞迴相對於堆疊實現會有一些效能方面的問題,一直沒引起重視,但今天測試了乙個例項,結果真的很嚇人,看來以後在這方面一定要多多注意了。問題的提出,題目 已知數列 1,1,2,3,5,8,13,21,34,求第50個數值?並用c 寫出演算法?一看就知道是菲波那契數列,用簡單的遞...