<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 查看/生成類文件的字節碼 > 原文: [https://howtodoinjava.com/java/basics/how-to-view-generate-bytecode-for-a-java-class-file/](https://howtodoinjava.com/java/basics/how-to-view-generate-bytecode-for-a-java-class-file/) 很多時候,我們需要了解編譯器在后臺執行的操作。 我們正在編寫的 Java 語句將如何重新排序和執行。 另外,我們也需要查看字節碼以用于學習目的,我很少這樣做。 在本教程中,我將給出一個示例,說明如何在 Java 中為類文件生成字節碼。 為了演示該示例,我使用了為我的其他教程創建的 java 文件,該教程與 java 7 中的[**自動資源管理**](//howtodoinjava.com/java-7/automatic-resource-management-with-try-with-resources-in-java-7/ "Automatic resource management with try-with-resources in java 7")有關。 ## 步驟 1)使用命令`javac`(可選)編譯文件`ResourceManagementInJava7.java` 這是可選的,因為您可能已經具有`.class`文件。 ```java prompt > javac C:tempjavatestResourceManagementInJava7.java ``` 這將生成`.class`文件`ResourceManagementInJava7.class`。 ## 步驟 2)執行`javap`命令并將輸出重定向到`.bc`文件 ```java C:>javap -c C:tempjavatestResourceManagementInJava7.class > C:tempjavatestbytecode.bc ``` ![Folder view](https://img.kancloud.cn/e3/73/e3733b96fbe9cbdc9d183addfd51e8c9_669x193.png) 資料夾檢視 讓我們看一下在命令提示符下運行的命令。 ![java_byte_code_javap_command_window](https://img.kancloud.cn/78/f8/78f892908cdd830ea569f415e16266e0_678x175.png) 命令窗口視圖 文件`bytecode.bc`文件將在給定位置生成。 將會是這樣的: ```java Compiled from "ResourceManagementInJava7.java" public class com.howtodoinjava.java7.tryCatch.ResourceManagementInJava7 { public com.howtodoinjava.java7.tryCatch.ResourceManagementInJava7(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: new #2 // class java/io/BufferedReader 3: dup 4: new #3 // class java/io/FileReader 7: dup 8: ldc #4 // String C:/temp/test1.txt 10: invokespecial #5 // Method java/io/FileReader."<init>":(Ljava/lang/String;)V 13: invokespecial #6 // Method java/io/BufferedReader."<init>":(Ljava/io/Reader;)V 16: astore_1 17: aconst_null 18: astore_2 19: new #2 // class java/io/BufferedReader 22: dup 23: new #3 // class java/io/FileReader 26: dup 27: ldc #7 // String C:/temp/test2.txt 29: invokespecial #5 // Method java/io/FileReader."<init>":(Ljava/lang/String;)V 32: invokespecial #6 // Method java/io/BufferedReader."<init>":(Ljava/io/Reader;)V 35: astore_3 36: aconst_null 37: astore 4 39: new #2 // class java/io/BufferedReader 42: dup 43: new #3 // class java/io/FileReader 46: dup 47: ldc #8 // String C:/temp/test3.txt 49: invokespecial #5 // Method java/io/FileReader."<init>":(Ljava/lang/String;)V 52: invokespecial #6 // Method java/io/BufferedReader."<init>":(Ljava/io/Reader;)V 55: astore 5 57: aconst_null 58: astore 6 60: aload 5 62: ifnull 138 65: aload 6 67: ifnull 90 70: aload 5 72: invokevirtual #9 // Method java/io/BufferedReader.close:()V 75: goto 138 78: astore 7 80: aload 6 82: aload 7 84: invokevirtual #11 // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V 87: goto 138 90: aload 5 92: invokevirtual #9 // Method java/io/BufferedReader.close:()V 95: goto 138 98: astore 8 100: aload 5 102: ifnull 135 105: aload 6 107: ifnull 130 110: aload 5 112: invokevirtual #9 // Method java/io/BufferedReader.close:()V 115: goto 135 118: astore 9 120: aload 6 122: aload 9 124: invokevirtual #11 // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V 127: goto 135 130: aload 5 132: invokevirtual #9 // Method java/io/BufferedReader.close:()V 135: aload 8 137: athrow 138: aload_3 139: ifnull 219 142: aload 4 144: ifnull 166 147: aload_3 148: invokevirtual #9 // Method java/io/BufferedReader.close:()V 151: goto 219 154: astore 5 156: aload 4 158: aload 5 160: invokevirtual #11 // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V 163: goto 219 166: aload_3 167: invokevirtual #9 // Method java/io/BufferedReader.close:()V 170: goto 219 173: astore 5 175: aload 5 177: astore 4 179: aload 5 181: athrow 182: astore 10 184: aload_3 185: ifnull 216 188: aload 4 190: ifnull 212 193: aload_3 194: invokevirtual #9 // Method java/io/BufferedReader.close:()V 197: goto 216 200: astore 11 202: aload 4 204: aload 11 206: invokevirtual #11 // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V 209: goto 216 212: aload_3 213: invokevirtual #9 // Method java/io/BufferedReader.close:()V 216: aload 10 218: athrow 219: aload_1 220: ifnull 290 223: aload_2 224: ifnull 243 227: aload_1 228: invokevirtual #9 // Method java/io/BufferedReader.close:()V 231: goto 290 234: astore_3 235: aload_2 236: aload_3 237: invokevirtual #11 // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V 240: goto 290 243: aload_1 244: invokevirtual #9 // Method java/io/BufferedReader.close:()V 247: goto 290 250: astore_3 251: aload_3 252: astore_2 253: aload_3 254: athrow 255: astore 12 257: aload_1 258: ifnull 287 261: aload_2 262: ifnull 283 265: aload_1 266: invokevirtual #9 // Method java/io/BufferedReader.close:()V 269: goto 287 272: astore 13 274: aload_2 275: aload 13 277: invokevirtual #11 // Method java/lang/Throwable.addSuppressed:(Ljava/lang/Throwable;)V 280: goto 287 283: aload_1 284: invokevirtual #9 // Method java/io/BufferedReader.close:()V 287: aload 12 289: athrow 290: goto 298 293: astore_1 294: aload_1 295: invokevirtual #13 // Method java/io/IOException.printStackTrace:()V 298: return Exception table: from to target type 70 75 78 Class java/lang/Throwable 110 115 118 Class java/lang/Throwable 98 100 98 any 147 151 154 Class java/lang/Throwable 39 138 173 Class java/lang/Throwable 39 138 182 any 193 197 200 Class java/lang/Throwable 173 184 182 any 227 231 234 Class java/lang/Throwable 19 219 250 Class java/lang/Throwable 19 219 255 any 265 269 272 Class java/lang/Throwable 250 257 255 any 0 290 293 Class java/io/IOException } ``` 學習愉快!
                  <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>

                              哎呀哎呀视频在线观看