<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                前兩天申請了第一個專欄系列,今天一看已經申請成功了,有點小激動...申請寫這個專欄系列的初衷源于: 在去年公司的某個項目告一段落的時候,終于有時間閑下來,回顧一下自己畢業進入工作這一年多來的情況。 然后警惕的發現,有這樣一種潛在的危險情況,讓我感到迷茫和困擾。那就是,作為一名菜鳥程序員,我發現: 也許我們能夠通過自身所學習的技術與知識,來完成工作中的一些任務。 但是!值得警惕!這并不意味著我們真的已經“掌握”了這門技術。 "使用"和“掌握”是兩回事,而“掌握”和“精通”又有了一道巨大的鴻溝。 如果你和我一樣,也是一名經驗尚淺的菜鳥,你不妨你也可以坐下來想想,是不是也常有這樣一種困擾。 作為一名Java語言的使用者,我們都知道通過: ~~~ String str = new String("abc") ~~~ 這樣的方式能夠聲明一個字符串對象。但是!當你遇到類似于: 通過String str = new String("abc")在內存中產生了幾個對象?這樣的面試題時。 是不是會突然間感到措手不及。而當看到答案是:1個或2個的時候,就更加惆悵了。 實際上這是因為涉及到了內存中的字符串常量池。 JVM在裝載運行一段程序時,如果遇到通過關鍵字new聲明的String類型對象,其首先會檢測字符串常量池中是否已經存在一個值為"abc"的對象。 如果常量池中還不存在,那么會首先向常量池中存儲進一個"abc"字符串對象,然后再向堆內存中存儲進一個"abc"字符串對象。 而如果常量池已經存在該對象,則會直接產生一個"abc"字符串對象存儲進堆內存當中。所以答案會是:一個或兩個。 又例如:當使用迭代器對一個集合容器進行迭代,如下: ~~~ ArrayList<String> strList = new ArrayList<String>(); Iterator<String> it = strList.iterator(); while (it.hasNext()) { System.out.println(it.next()); } ~~~ 但可能你在查看Java的某些源碼的時候,可能發現別人使用這樣的書寫方式: ~~~ ArrayList<String> strList = new ArrayList<String>(); for (Iterator<String> it = strList.iterator(); it.hasNext();) { System.out.println(it.next()); } ~~~ 那兩者之間的差別在哪呢?就實現的功能來說,完全沒有任何的區別。其區別在于: 使用第一種方式,等同于你在該方法內聲明了一個Iterator類型的局部變量,于是當該方法開始運行后,該局部變量也會進入到棧內存當中進行存儲,直到隨著該方法的執行結束而彈棧,完成內存釋放。 而使用第二種方式,等同于在for循環的代碼塊中聲明了一個局部變量,在該for循環結束之后,該局部變量就會從內存中釋放,而不必等到該方法的結束。 所以其好處實際在于,從一定程度上,減少了內存開銷。 出現的這樣的情況,似乎不難預見。其根本還是在于我們學習一樣新事物時的目的性。舉例來說: 在學生時代老師在講解某道難題時會說:大家盡量理解,如果實在無法理解,那么就記住這個方法,以后遇到類似的題目,記得使用這樣的方法就行。 這沒有問題,因為在中國特色的教學體制下,學生時代里大多數人的根本目的在于應對考試,你不能明白解題的原理不要緊,只要你能記住這個方法在考試中答對答案就行。 同理,當你作為一個菜鳥,一個初學者接觸一門編程語言時,我們首先關心的是,使用這門語言我們能夠實現什么功能。當我們畢業時,我們的首要目的在于找到一份工作。在這樣的情況下,造成類似上述"情況”的出現,也就不足為奇了。 所以當我逐漸被類似于這樣的情況困擾的時候,我不得不開始思考一個問題:我是否有必要重新深入的學習一下Java了?最后得到的答案是肯定的: 假設你想成為一名車手,那么首先你應該知道“如何駕駛車輛”,例如:可以通過方向盤控制汽車的方向,可以通過剎車讓汽車停止運行,可以通過油門讓汽車加速等等。但這不過是成為一名車手的基本素質而已。當你慢慢積累的過程中,你應該思考的是:“我如何能成為比其它人更優秀的車手”。于是你想到了:“我要比其它人更快”!這絕對是一個好的方式。但是問題來了?如果你不了解一輛汽車的原理,而只是僅僅知道“可以通過方向盤控制汽車的方向”這樣的東西時,你要如何才能將你的汽車改造的比其他人更快呢? 那么,同樣的:作為一名程序員,通過你學習的語言或技術來完成某樣功能,這只是一名程序員所必備的素質而已。同樣的一個功能,你需要20行代碼來實現;而另一個人只需要5行。同樣的一段計算程序,你的代碼需要1分鐘完成運算;而別人的只需要10秒。這就是體現價值與差距的地方了。所以說”使用“,“掌握”,“精通”,這是完全不一樣的概念。 有了計劃,接下來就是付諸行動。于是開始通過一些書籍和相關資料,開始重新深入的學習Java。學習主要是利用平時空余的時間,斷斷續續從去年10月底到今年年初,現在再回望一眼,的確收獲頗豐。中間也寫了一些學習總結性質的博客,但比較散亂,不夠系統,更不夠深入和細致。這就又有悖于我的初衷了。就好比我的初衷原本是:我做了一道數學題,然后我要理解這道為何是這樣解答的,然后把解題思路和原理記錄下來。結果最終變成了:我做了一道數學題,沒有記錄其解題思路和原理,反而將這道題靠著記憶在紙上重新默寫了一遍。 于是,索性申請了一個專欄系列: - **新的視角**:以更加細致和深入的角度記錄知識結點,完成更系統性的總結歸納。也算是自己做一次系統的記憶鞏固。 - 如果和我一樣的菜鳥有緣看到了謀篇文章,希望能給您帶來一點點幫助;而如果您發現了問題,也希望不吝指出。 所以,如果你和我一樣,是一個經驗尚淺的菜鳥,就讓我們一起用一個小菜鳥的新視角,重走這J2SE之路。
                  <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>

                              哎呀哎呀视频在线观看