<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          面試官:說(shuō)說(shuō) Spring 事務(wù)設(shè)計(jì)原理?面試必問(wèn)!

          共 1828字,需瀏覽 4分鐘

           ·

          2021-10-21 13:00

          程序員的成長(zhǎng)之路
          互聯(lián)網(wǎng)/程序員/技術(shù)/資料共享?
          關(guān)注


          閱讀本文大概需要 5 分鐘。

          來(lái)自:https://blog.csdn.net/csdn_aiyang/article/details/75162134

          # 前言


          我們都經(jīng)常使用一些循環(huán)耗時(shí)計(jì)算的操作,特別是for循環(huán),它是一種重復(fù)計(jì)算的操作,如果處理不好,耗時(shí)就比較大,如果處理書寫得當(dāng)將大大提高效率,下面總結(jié)幾條for循環(huán)的常見優(yōu)化方式。


          首先,我們初始化一個(gè)集合 list,如下:


          List?list?=?new?ArrayList();


          # 方法一:最常規(guī)的不加思考的寫法


          for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i));}

          • 優(yōu)點(diǎn):較常見,易于理解
          • 缺點(diǎn):每次都要計(jì)算list.size()

          # 方法二:數(shù)組長(zhǎng)度提取出來(lái)


          int m = list.size();for (int i = 0; i < m; i++) { System.out.println(list.get(i));}

          優(yōu)點(diǎn):不必每次都計(jì)算
          缺點(diǎn):
          • 1. m的作用域不夠小,違反了最小作用域原則;

          • 2.?不能在for循環(huán)中操作list的大小,比如除去或新加一個(gè)元素


          # 方法三:數(shù)組長(zhǎng)度提取出來(lái)


          for (int i = 0, n = list.size(); i < n; i++) {    System.out.println(list.get(i));}

          優(yōu)點(diǎn):不必每次都計(jì)算 ,變量的作用域遵循最小范圍原則
          缺點(diǎn):
          • 1.?m的作用域不夠小,違反了最小作用域原則;

          • 2.?不能在for循環(huán)中操作list的大小,比如除去或新加一個(gè)元素

          # 方法四:采用倒序的寫法


          for (int i = list.size() - 1; i >= 0; i--) {System.out.println(list.get(i));}

          優(yōu)點(diǎn):不必每次都計(jì)算 ,變量的作用域遵循最小范圍原則
          缺點(diǎn):
          1. 結(jié)果的順序會(huì)反;??
          2. 看起來(lái)不習(xí)慣,不易讀懂

          適用場(chǎng)合:與顯示結(jié)果順序無(wú)關(guān)的地方:比如保存之前數(shù)據(jù)的校驗(yàn)

          # 方法五:Iterator 遍歷


          for (Iterator<String> it = list.iterator(); it.hasNext();) { System.out.println(it.next());}

          優(yōu)點(diǎn):簡(jiǎn)潔

          # 方法六:jdk1.5后的寫法


          for (Object o : list) { System.out.println(o);}

          優(yōu)點(diǎn):簡(jiǎn)潔結(jié)合泛型使用更簡(jiǎn)潔
          缺點(diǎn):jdk1.4向下不兼容

          # 方法七:循環(huán)嵌套外小內(nèi)大原則


          for (int i = 0; i < 10; i++) { for (int j = 0; j < 10000; j++) { }}

          原因


          # 方法八:循環(huán)嵌套提取不需要循環(huán)的邏輯


          //前: int a = 10, b = 11; for (int i = 0; i < 10; i++) { i = i * a * b; }

          //后: int c = a * b; for (int i = 0; i < 10; i++) { i = i * c; }

          # 方法九:異常處理寫在循環(huán)外面


          反例
          for (int i = 0; i < 10; i++) { try {
          } catch (Exception e) {
          }}

          正例

          try { for (int i = 0; i < 10; i++) { }} catch (Exception e) {
          }

          推薦閱讀:
          想自己搭建服務(wù)器,永久運(yùn)行網(wǎng)站?一個(gè)U盤大小的樹莓派就夠了!
          面試官:手寫一個(gè)必然死鎖的例子

          最近面試BAT,整理一份面試資料《Java面試BATJ通關(guān)手冊(cè)》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)等等。

          獲取方式:點(diǎn)個(gè)「在看」,點(diǎn)擊上方小卡片,進(jìn)入公眾號(hào)后回復(fù)「面試題」領(lǐng)取,更多內(nèi)容陸續(xù)奉上。

          朕已閱?

          瀏覽 42
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美18禁黄免费网站 | 一本色道久久综合亚州AV | 蜜桃91在线观看 | 亚洲日韩第一页 | 一道本不卡 |