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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Git 常用命令 ~~~ 1、從遠程獲取代碼 git clone git clone ssh://git@git.sankuai.com/~duoshilin/test.git 2、查看本地文件狀態 git status 綠色:添加到了暫存區 紅色:修改過但未添加到暫存區 3、提交代碼到遠程 ①添加到暫存區 git add filename1,filename2 git add . 撤銷添加到暫存區 git reset HEAD filename ②提交到本地代碼倉庫 git commit -m "注釋必填" ③提交到遠程代碼倉庫 git push origin 本地分支名:遠程分支名(沒有可自動創建) 附:可進行強制提交覆蓋上次的分支 git commit --amend git push origin 本地分支名:遠程分支名 --force 本地撤銷為push前的版本,一般用于push后發現多提交 git reset --soft HEAD~1 git status 修改 git commit -m "" git push origin 本地分支名:遠程分支名 --force 4、分支管理 ①創建并切換到新分支 git checkout -b newBranchName //checkout 的-b參數表示創建并切換,相當于以下兩句話 git branch newBranchName git checkout newBranchName ②查看分支 git branch 5、將本地代碼放到一個空的倉庫中 cd existing-project git init git add --all git commit -m "Initial Commit" git remote add origin ssh://git@git.sankuai.com/~duoshilin/test.git git push origin master ~~~ 也可見我的另一篇wiki: [Git](https://km.sankuai.com/page/110154314 "Git") # ADB 命令 | command | description | 描述 | example | | --- | --- | --- | --- | | adb devices | List of devices attached | 查看已連接的設備 | adb devices | | adb install *apk\_path* | install app | 安裝APP | adb install /user/xxx/xxx.apk | | adb push *local remote* | copy file to origin | 將本地文件復制到連接的模擬器或真機 | adb push foo.txt /scard/foo.txt | | adb pull *remote local* | copy file from origin | 將模擬器或真機的文件復制到本地 | adb pull /scard/foo.txt foo.txt | | adb kill-server | kill adb server if adb command no response | 停止adb服務,一般用于重啟服務,其他任意命令可喚醒adb服務 | | | adb start-server | start adb server if it is not started | 檢測adb服務是否正在運行,如果沒有運行,則啟動它 | | > 資源鏈接: > > [使用WiFi鏈接設備](https://developer.android.com/studio/command-line/adb#wireless "使用WiFi鏈接設備") > > [](https://developer.android.com/studio/command-line/adb#wireless)[adb命令參考](https://developer.android.com/studio/command-line/adb#issuingcommands "adb命令參考") > > [adb shell 命令](https://developer.android.com/studio/command-line/adb#shellcommands "adb shell 命令") # Java中的JSON解析 ### 1 FastJson ### 2 Gson ### 3 JackSon # Java中的XML解析 ### 1 DOM解析(官方提供,與平臺無關) DOM(Document Object Model 文檔對象模型)解析的基本原理是:**將一個XML文檔轉換成一個對象模型的集合(通常稱DOM樹),應用程序正是通過對這個對象模型的操作,來實現對XML文檔數據的操作** * **優點:** > * **形成了樹結構,有助于更好的理解和掌握** > > * **解析過程中,樹結構保存在內存中,方便修改,且效率較高** > * **缺點:** > * 一次性讀取整個文件,對大文件不友好,讀取較慢 > > * 如果要讀取的xml文件過大,很容易影響解析性能且可能造成內存溢出 > ### 2 SAX解析(官方提供,與平臺無關) SAX(Simple APIs for XML),即XML解析的簡單API(Application Program Interface 應用程序接口),采用了**事件驅動**的方式來解析XML;**與DOM不同,SAX提供的訪問模式是一種順序模式,這是一種快速讀寫XML數據的方式** * **優點:** > * **采用事件驅動,對內存的消耗比較小** > > * **適用于只處理xml文件中的數據** > * **缺點:** > * 很難在同一時間內訪問到xml的多處不同的數據 > ### ~3 JDOM解析~~(Java版)~ \-- 不常用 ### 4 DOM4J解析(Java版) **1、JDOM的一種智能分支,它合并了許多超出基本XML文檔表示的功能。** **2、它使用接口和抽象基本類方法。** **3、具有性能優異、靈活性好、功能強大和極端易用的特點。** **4、是一個開放源碼的文件** ~~~ public class DOM4JTest { private static ArrayList<Book> bookList = new ArrayList<Book>(); public static void main(String[] args) { // 解析books.xml文件 // 創建SAXReader的對象reader SAXReader reader = new SAXReader(); try { // 通過reader對象的read方法加載books.xml文件,獲取docuemnt對象。 Document document = reader.read(new File("src/res/books.xml")); // 通過document對象獲取根節點bookstore Element bookStore = document.getRootElement(); // 通過element對象的elementIterator方法獲取迭代器 Iterator it = bookStore.elementIterator(); // 遍歷迭代器,獲取根節點中的信息(書籍) while (it.hasNext()) { System.out.println("=====開始遍歷某一本書====="); Element book = (Element) it.next(); // 獲取book的屬性名以及 屬性值 List<Attribute> bookAttrs = book.attributes(); for (Attribute attr : bookAttrs) { System.out.println("屬性名:" + attr.getName() + "--屬性值:" + attr.getValue()); } Iterator itt = book.elementIterator(); while (itt.hasNext()) { Element bookChild = (Element) itt.next(); System.out.println("節點名:" + bookChild.getName() + "--節點值:" + bookChild.getStringValue()); } System.out.println("=====結束遍歷某一本書====="); } } catch (DocumentException e) { e.printStackTrace(); } } } DOM4J ~~~ ### 總結 * **DOM4J性能最好,連Sun的JAXM也在用DOM4J。目前許多開源項目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J來讀取XML配置文件。如果不考慮可移植性,那就采用DOM4J。** * **DOM仍是一個非常好的選擇。DOM實現廣泛應用于多種編程語言。它還是許多其它與XML相關的標準的基礎,因為它正式獲得W3C推薦(與基于非標準的Java模型相對),所以在某些類型的項目中可能也需要它(如在JavaScript中使用DOM)。** * **SAX表現較好,這要依賴于它特定的解析方式-事件驅動。一個SAX檢測即將到來的XML流,但并沒有載入到內存(當然當XML流被讀入時,會有部分文檔暫時隱藏在內存中)。** * **JDOM和DOM在性能測試時表現不佳,在測試10M文檔時內存溢出。在小文檔情況下還值得考慮使用DOM和JDOM。雖然JDOM的開發者已經說明他們期望在正式發行版前專注性能問題,但是從性能觀點來看,它確實沒有值得推薦之處。** > 參考文章:[https://www.cnblogs.com/longqingyang/p/5577937.html](https://www.cnblogs.com/longqingyang/p/5577937.html "https://www.cnblogs.com/longqingyang/p/5577937.html")
                  <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>

                              哎呀哎呀视频在线观看