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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                #### Dalvik是啥呢? 從未知道冰島有Dalvik這么一個重要的村莊,直到Dan Bornstein將自己為Android系統編寫的進程虛擬機命名為Dalvik后才被我所知。 它是Android系統獨有的,主要作用就是使得已轉換為 .dex(即Dalvik Executable)格式的Java應用程序在Android系統上運行。 它是Java運行在Android系統的基礎。那么問題就來了,有標準的Java虛擬機JVM,為啥還要新造一個Dalvik呢? 答案很簡潔,就是為了更加適合資源十分有限的嵌入式系統。 也許Google進行了很多努力使得Dalvik比JVM在Android上更高效,但是業界最終還是不滿意,認為Dalvik拖慢了Android的速度。 在Android4.4中Google進行了另外的嘗試,那就是ART(Android Runtime)的技術預覽。我當然也進行了切換(在設置--開發者選項---選擇運行環境), 結果是原來的應用會重新編譯(代碼預讀取編譯),變得很大,速度有多大的提升,我用肉眼去看還沒有太大差別,但官方公布的數據說提升還是很大的。 不過有些應用還不支持ART。在Android5.0中Google揮起大刀,終于將Dalvik砍掉,用ART完全將其替換掉。 #### Dalvik的口水戰 一年以前,我的閑暇時光是在玩微博中度過的。 有一天中午和齊天、周權午飯回來翻翻微博,看到“CSDN移動”發了這樣一條消息: 【Java通向ObjC語言的橋梁:谷歌J2ObjC 0.7新版亮相】Google近日發布了開源命令行工具J2ObjC的最新版本:J2ObjC 0.7。J2ObjC完全開源,通過它,開發iOS應用只需用Objective-C編寫UI部分代碼,其余功能均可用Java語言編寫實現。 我對這種轉換是不太感冒的,掃了一眼評論,一個id叫辦公軟件的評論我覺得有待商榷,他是這樣說的: “Android不是Java,無非是用了Java語法罷了,運行層面上和Java基本無關。” 我覺得哪里有些別扭,也許他說的運行層面上和Java基本無關指的的Linux Kernel?但我理解的運行層面是包含了應用的運行以及FWK,那么跟Java就逃不了關系了。我就回了一句: “不是單單用了Java語法吧?上層應用是Java Applications,從下向上數第二層的Android Runtime中的Dalvik 虛擬機,都是Java的存在。請看Android系統架構。另外,看看為什么google要提供NDK。” 沒想到我就是簡單的描述一下我的理解,卻造來了“辦公軟件”的指責: “harmony的類庫, 照你這么說,我當年用J#包裝了一堆Java API, 也算是Java? 請不要這么不專業.” 我抱著心平氣和討論的態度,順著他說: “兄弟,其實我們倆可以心平氣和的討論一些問題。J#是微軟用Java的語法來吸引原Java開發者,這個確實如你所說,只是Java的語法,但是J#使用的.Net運行時,仍是一種虛擬機。” 對方的傲慢簡直令人做嘔: “很遺憾,對于一些連名詞都搞喜歡混淆的同學,我的面試時間只給3分鐘” 我一直壓著火,繼續回著: “請問,我哪個名詞搞混淆?你說話之前不看人家的上下文么?還是沒理解別人說的重點在哪里?你這樣的面試官,偶一般只給一分鐘。還擺上老資格了,誰沒當過呀。。。呵呵” “也許沒猜錯的話,你一直在認為我說的是“JVM = Dalvik VM”,但是我主要表達的是,Dalvik VM 是一種Java 虛擬機。無論怎樣,我這樣表達應該是成立的。歡迎圖草。” 結果話題有轉到了JVM與Dalvik上面了,對方也回了三條: “Dalvik VM壓根就不符合JVM規范,你卻說這是Java虛擬機? 照你這么說,J#跑在CLR上,CLR也是Java虛擬機?” “你主要表達的是,"Dalvik VM 是一種Java 虛擬機",奇葩啊奇葩, 哪門子來的Java虛擬機喲,” “JRockit是一種Java虛擬機, J9 是一種Java虛擬機,ZingVM是一種Java虛擬機,Hotspot是一種Java虛擬機, 為啥這么定義? 因為他們follow了Java虛擬機的規范. Dalvik VM是Java虛擬機嗎? 估計只有你和你看的那邊書的作者才這么認為” 后來的爭論就在“Dalvik是不是一種Java虛擬機”這個命題上了。讓我想到了白馬非馬論,“求馬,黃黑馬皆可致,求白馬,黃黑馬不可致”。 但他的一些說法還是值得肯定的,比如: “Harmony的虛擬機,就是個完全符合JVM標準的虛擬機. Android用了Harmony的類庫,但是Android 的VM,和JVM標準完全不搭界.” 齊天也看到了這場爭吵,對我說,對方是個上了邪路的人,與他爭論有和意義? 參考: 1.wikipedia中對Dalvik的描述: Dalvik is the process virtual machine (VM) in Google's Android operating system, which, specifically, executes applications written for Android.
                  <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>

                              哎呀哎呀视频在线观看