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. lampp ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'lepus'

    解决方法: 在[mysqlld]段下增加如下代码:skip-grant-tables: 1.which mysql 查看mysql位置,例如:/opt/lampp/bin/mysql 2.进入配置my ...

  2. 在myEclipse中根据图表自动生成Hibernate文件

    1.新建一个Java Project项目,在scr中创建两个包:Com.hibernate.po 和com.hibernate.dao 2. 3.点击ok 4. 5.选中MyElipse Derby, ...

  3. JUC-分支合并框架

    一.原理 Fork:把一个复杂任务进行分拆,大事化小 Join:把分拆任务的结果进行合并 ForkJoinPool 分支合并池    类比=>   线程池 ForkJoinTask ForkJo ...

  4. MySQL | linux中数据库导出和导入

    一.数据库导出(深坑) 命令:mysqldump -u用户名 -p密码 要导出的数据库 > 导出之后的文件.sql mysqldump -uroot -p database_01 > da ...

  5. day22 用户添加相关命令 特殊权限为 防止root修改文件

    2) 用户相关的命令 useradd -u -g -G -M -s -c usermod -u -g -G -s -c userdel -r groupadd groupmod groupdel ch ...

  6. Gin_入门

    1. 创建路由 1.1 Restful风格的API gin支持Restful风格的API 即Representational State Transfer的缩写.直接翻译的意思是"表现层状态 ...

  7. org.apache.catalina.connector.ClientAbortException: java.io.IOException: 您的主机中的软件中止了一个已建立的连接。

    日志文件中有“java.io.IOException: 您的主机中的软件中止了一个已建立的连接.”错误 org.apache.catalina.connector.ClientAbortExcepti ...

  8. WPF学习笔记四之命令

    1.概念 对于程序来说,命令就是一个个任务,例如保存,复制,剪切这些操作都可以理解为一个个命令.即当我们点击一个复杂按钮时,此时就相当于发出了一个复制的命令,即告诉文本框执行一个复杂选中内容的操作,然 ...

  9. python3爬取高清壁纸(2)

    上次只是爬取一个专辑的图片,这次要爬取一整个页面的所有专辑的图片. 在上次的代码的基础上进行修改就行了,从专辑的索引页面开始,爬取该页面上所有的专辑的链接,再套用上次的代码就行了. 若要爬取多个页面只 ...

  10. MySQL加号+ 的作用

    案例:查询员工名和员工姓,连接成一个字段,并显示为: 姓名 SELECT last_name+first_name AS 姓名 FROM employees;没有报错但姓名一下全是0 Java中的 + ...