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. 2019牛客多校第一场H XOR 线性基模板

    H XOR 题意 给出一组数,求所有满足异或和为0的子集的长度和 分析 n为1e5,所以枚举子集肯定是不可行的,这种时候我们通常要转化成求每一个数的贡献,对于一组数异或和为0.我们考虑使用线性基,对这 ...

  2. TD - SimpleTextarea

    html模板 <input dojoType="bootstrap.form.SimpleTextarea" dojoAttachPoint="assetDescr ...

  3. javacv FFmpeg 视频压缩

    package com.nmcc.demo.utils; import lombok.extern.slf4j.Slf4j; import org.bytedeco.javacpp.avcodec; ...

  4. Selenium自动化发送163邮箱

    自动化发送163邮件 方法一: import time import datetime from selenium import webdriver from selenium.webdriver.s ...

  5. 关于wget安装mysql的过程

    鄙人才疏学浅,写此文章是为了帮助我那些刚入门的朋友一点心意 第一步  安装yum源 安装mysql的yum源:wget https://dev.mysql.com/get/mysql80-commun ...

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

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

  7. Codeforces Round #622 (Div. 2)C(单调栈,DP)

    构造出的结果一定是一个单峰/\这种样子的 #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; ...

  8. PolandBall and Forest

    PolandBall lives in a forest with his family. There are some trees in the forest. Trees are undirect ...

  9. sql 应用记录

    SELECT * FROM (select aa.*,bb.mentalvisitid, ' then '家庭访视' else '电话' end as BCSFXS ,bb.visitdate, ' ...

  10. Unable to connect to a repository at URL

    缓存问题: 1. 右键点击本地副本,TortoiseSVN -> Settings -> Saved Data, 2.点击“Clear”按钮,把本地缓存都清除了,点击“确定”: 3. 再重 ...