<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 連載:面向對象葵花寶典:思想、技巧與實踐(5) - 面向對象迷思:面向對象導致性能下降? **面向對象會導致性能降低?** 這是一個在IT江湖流傳已久的傳說,很多對面向對象不甚了解、或者一知半解的人,每當需要抵觸面向對象時,就會把這條“金科玉律”拿出來救駕! 更要命的是,每個相信這個傳說的人都會舉一個看起來很顯而易見的例子:C和Java的對比! 你可以到網上搜索一大堆C和Java的性能對比,你自己也可以做一個簡單的對比測試,我毫不懷疑測試結果肯定是C快,但這能證明面向對象導致性能降低么? 從語言層面來說,面向對象的語言肯定要比面向過程的語言性能要低一些,畢竟這是由處理機制決定的,就像不同的人的差別由基因決定一樣,這個很難改變。 但在實際應用中,除了上一章我們提到的專有系統(操作系統、驅動、嵌入式),對一般的業務系統來說,無論是企業級應用、還是互聯網應用、還是電信銀行應用,無一例外的都是復雜的系統,這些系統要和存儲系統(磁盤、磁帶等)打交道、要通過網絡進行交互、要訪問數據庫。。。。。。等等。 我們看一下常見的一些性能數據(量級數據,不一定精確): CPU:?每秒10億次,性能是納秒級 內存:每秒1000萬次,每次請求時間是微秒級 磁盤:每次請求5ms,請求時間是毫秒級 網絡(TCP):每次網絡交互2ms,請求時間是毫秒級 數據庫:基本等于網絡和磁盤之和,甚至更慢 從上面的數據我們可以看出,如果你的業務流程中涉及了磁盤、網絡、數據庫等操作,那么性能就一下子降到了毫秒級。 而對于大部分開發語言來說,語言本身的運行速度至少是內存級別的 試想一下,你的整個流程中,語言本身的處理占了微妙級的時間,而一次磁盤或者網絡的時間是毫秒級時間,那么全流程來看,就算你把語言本身的處理速度提高了10倍,對整個流程來說,性能幾乎沒有影響。 例如:假設C語言全流程處理時間:10微秒(語言部分)?+??5ms(磁盤操作)?=??5.01ms 如果換成Java,那么處理時間變成:100微秒(語言部分)?+?5ms(磁盤操作)?=?5.1?ms 從這個簡單的樣例可以看出,語言本省性能的提升,對整個流程中性能提升幾乎沒有影響!! 因此,對于復雜的業務系統來說,性能的好壞是由設計來決定的,而不是由語言來決定的,更不會因為采用了面向對象而導致性能的降低!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看