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. 官方文档

Java - Java 命令行简介: 选项, 属性, 参数的更多相关文章

  1. 一些坑 Java 执行命令行命令 Spring Boot 打包为jar ResourceUtils.getFile 等出现的问题

    Java 执行命令行命令 这个没技术含量的东西耗费了我半个多小时 String command = ....; Process process = Runtime.getRuntime().exec( ...

  2. 通过JAVA调用命令行程序

    这是我在把数据导入到数据库时遇到问题,总结下来的.包含两个方法,一个方法是读取文件路径下的文件列表,主方法是执行cmd命令,在导入时想得到导入一个文件的时间,涉及到线程阻塞问题,这个问题理解不是很深, ...

  3. 核心系统命令实战 第一章Linux命令行简介

    第一章Linux命令行简介 1.1 Linux命令行概述 1.1.1 Linux 命令行的开启和退出 开启:登陆账号密码进入系统 退出:exit/logout  快捷键:Ctrl+d 1.1.2 Li ...

  4. Windows操作系统下给文件夹右键命令菜单添加启动命令行的选项

    在命令行中或按下[WIN]+[R]键启动运行对话框的情况下,输入regedit命令启动注册表编辑器,在HKEY_CLASSES_ROOT\Folder\shell下增加一个“CMD”(此处名字可以随便 ...

  5. nodejs命令行执行时带参数

    nodejs命令行执行时带参数 转 https://www.jianshu.com/p/474e6d76f867   今天项目里突然想在初始化时跑一些数据,于是想起以前在python时可以在命令行里带 ...

  6. Java:命令行参数的传入和调用

    1.传入 传入时机:执行时 格式: //编译 javac Main.java //执行并传入命令行参数 -version java Main -version 此时,参数-version就以Strin ...

  7. java的命令行参数到底怎么用,请给截图和实际的例子

    8.2 命令行参数示例(实验) public class Test {    public static void main(String[] args){        if(args.length ...

  8. Java常用命令行工具

    命令基于Sun JDK,用于监控和诊断HotSpot的java 虚拟机. 对应的可执行文件位于$JAVA_HOME/bin/下 jps-虚拟机进程状况工具 选项 作用 -q 只输出LVMID,同进程p ...

  9. java/javac命令行如何同时引用多个包;错误 TypeError: 'JavaPackage' object is not callable 的含义

    出现这类错误提示:'JavaPackage' object is not callable,可以看下所引用的jar包或者class文件是否在java的路径搜索范围内 命令行模式下:javac可以编译* ...

随机推荐

  1. Web基础-Uri跟Url的区别

    关于URL和URI的区别,个人见解.    初学java,最近被一个概念搞得头晕脑胀,就是url和uri的概念和区别,网上查了一大通,发现各种回答眼花缭乱,有百科直接粘贴的,有胡说八道的,有故意绕来绕 ...

  2. Linux - mysql 异常:登录不上mysql数据库

    问题描述 重启虚拟机之后,用命令 mysql -u root -p 登录不上 mysql 数据库,页面显示: 但是,用命令 service mysqld status 可以查看状态 解决方案 1.查看 ...

  3. Your name ?

    序言 才发觉自己有许多名字 ··································································· 言归正传 今天才发现,自己在不同地方 ...

  4. python&selenium自动化测试实战项目

    https://www.cnblogs.com/linuxchao/p/linuxchao-python-selenium-demo.html

  5. NotePad++中如何改变光标样式(转换横着和竖着)?

    在键盘上找 Insert ,按这个Insert就可以把横向闪烁光标( _ )修改成竖向闪烁光标样式( | )

  6. onvif学习一:wsdl 和soap

    来源:https://www.cnblogs.com/huanghongbo/p/5920123.html WSDL是用来描述WebService的,它用XML的格式描述了WebService有哪些方 ...

  7. Spring家族几大插件

    Spring家族很庞大,从最早先出现的服务于企业级程序开发的Core.安全方面的Security.到后来的作为各种数据源桥梁的Data.最近几年很火的Boot,以及最新推出的正在蓬勃发展的Cloud( ...

  8. 时间日期转换工具类,获取当前时间YYYYMMDD24HHMISS、YYYYMMDDHHMISS

    YYYYMMDD24HHMISS:24小时制时间(显示上只是比YYYYMMDDHHMISS中间多了一个24),例:2018102224112440 YYYYMMDDHHMISS:12小时制时间,例20 ...

  9. 三、ZigBee无线网络工具

    CC2530概述 CC2530是德州仪器Ti公司用于2.4-GHz IEEE 802.15.4.ZigBee 和 RF4CE 应用的一个真正的片上系统(SoC)解决方案,是作为ZigBee无线传 感网 ...

  10. 第二篇,前端高性能JavaScript优化

    加载和执行 JavaScript是单线程,所以JavaScript的加载和执行是从上下文加载执行完一个继续加载执行下一个文件会阻塞页面资源的加载,所以一般情况下JavaScript文件放在body标签 ...