Java - JVM - 啟動命令行簡介: 選項, 屬性, 參數


  1. 概述
    1. 簡單介紹一下 java 命令行相關的參數及屬性

1. java 命令行

  1. 基本

    1. 命令

      > java <mainClass>
      
    2. 描述

      1. 執行 Java 類
      2. 需要准備好編譯完成的 mainClass
  2. 然后

    1. 命令

      > java -X<options> -XX<options> -D<properties> <mainClass> [arg0] [arg1]...
      
      1. 怎么感覺, 東西一下多了好多, 有點懵逼了
        1. 沒事, 慢慢來
          1. 這些東西, 大概分這么幾塊
            1. 選項
            2. 屬性
            3. 參數

2. 選項

  1. 概述

    1. 選項主要的目的, 是對 JVM 做一些調整
  2. 分類

    1. 標注選項

      1. 通用

        1. 所有版本的 JVM 都要實現的選項
      2. 例如

        -version
        -server
        -client
        
      3. 其他

        1. 我們后面說的 -D, 其實也包含在其中
          1. 這個我想單獨說
        2. 具體的例子, 就不一一例舉了
    2. 拓展選項

      1. 拓展

        1. hotspot 會實現
        2. 其他 JVM 未必實現
      2. 例如

        # 最大堆內存
        -Xmx3800m	
        # 初始堆內存
        -Xms3800m	
        # 新生代內存
        -Xmn2g		
        # (每個線程)棧內存大小
        -Xss128k
        
      3. 其他

        1. 常見參數就是這些
          1. 不細講了
        2. 數值單位
          1. 可以自己定, 比較靈活
        3. 重合
          1. 拓展選項和高級選型, 會有部分的重合
            1. 這個不細說了(就是懶)
    3. 高級選項

      1. 開發者選項

        1. 相對高級
        2. 不保證所有 JVM 都有支持
      2. 分類

        1. 高級運行時

          1. 配置 JVM
        2. 高級維護性

          1. 調試
          2. 收集系統信息
        3. 高級GC

          1. 選擇 GC
          2. 控制 GC 行為
        4. 高級JIT

          1. 控制 JIT 的編譯方式
            1. 即時編譯的那個東西
      3. 例如

        # 同 -Xmx
        -XX:MaxHeapSize=size
        # 同 -Xms
        -XX:InitialHeapSize=size
        # 日志
        -XX:LogFile=path
        
  3. ref

    1. java的-D命令行參數
      1. 把命令行選項, 歸為了 命令行參數
      2. 只看 Java 啟動參數 那一小塊
        1. 雖然說得不完全, 但是簡單清晰, 有個直觀的認識
    2. java命令行介紹
      1. 講得很清晰
    3. Java -X命令
    4. ibm java options
    5. java JVM 參數 -Xms -Xmx -Xmn -Xss 調優總結
    6. ibm java options
    7. JVM調優總結

3. 屬性

  1. 概述

    1. 配置 環境變量
    2. 其實也是 java 標准選項的一部分
  2. 命令

    # 如果 value 帶空格, 需要 "" 引起來
    > java -D<key>=<value> <mainClass>
    
  3. 查看

    1. 代碼

      # 1. 獲取 property
      # 值 是 String
      System.getProperty("<key>")
      
      # 2. 設置 property
      System.setProperty("<key>", "<value>")
      
      # 3. 輸出所有屬性
      # 略
      
  4. ref

    1. java程序啟動參數-D詳解
    2. Java System Properties
    3. Oracle Doc
    4. 輸出所有屬性
    5. 常用系統屬性

4. 參數

  1. 概述

    1. 剩下的就是參數了
  2. 命令

    > java <mainClass> [arg0] [arg1]...
    
    
  3. 查看

    1. main 方法的參數 args[] 就是輸入的參數
      1. String 類型字符串
      2. 第一個參數下標為 0
      3. 如果碰到帶空格的整體, 可以用 "" 連接
  4. ref

    1. 官方文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM