Linux杂谈之java命令-创新互联

一  java

成都创新互联公司致力于互联网品牌建设与网络营销,包括成都做网站、成都网站建设、成都外贸网站建设、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联公司核心团队10年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。

(1)基本解读

①  JAVA8 官方命令行参数

linux版的java

重点关注: 'java'、'javac'、'jar'、'keytool' 这三个参数

学习方式: 通过'man java'和'官方文档'快速学习

如何在官网搜索 java的命令行参数用法

②  语法格式

③  描述

1) java命令给我们提供了非常多的命令参数,当然也有'非常多的划分'

2) 主要是'两种'划分:第一种是'按选项'进行划分,第二种是按照'使用环境'区分

④  OPTIONS

1) 标准选项
 
  特点: 以"-"开头,比如-help -version,Java 虚拟机 (JVM) 的所有实现'都保证支持'标准选项

2) 非标准选项

  特点: 

    1) 以"-X"开头,特定于Java HotSpot 虚拟机的通用选项

    2) 因此'不能保证'所有 JVM 实现都支持它们,并且可能会'发生变化'

3) 高级选项

  特点:

    1) 以"-XX"开头,这些是用于'调整' Java HotSpot 虚拟机操作的特定区域的'开发'人员选项

    2) 这些区域通常具有'特定的系统要求',并且可能需要对'系统配置参数'的'特权'访问

    3) 也'不能保证'所有 JVM 实现都支持它们,并且可能会发生变化

4) 布尔选项

  特点:

    1) 用于'启用'默认禁用的功能或'禁用'默认启用的功能,此类选项'不需要'参数

    2) 布尔-XX选项'使用加号'(-XX:+OptionName) 启用,使用'减号'(-XX:-OptionName)禁用

JDK过时参数

(2)Standard Options

说明: 了解'常用'和'不常用'的参数含义

①  -agentlib:libname[=options]

说明: '不常用',了解即可

②  -Dproperty=value  重点

注意: '大写D',-D应在'类前'

常见形式: 

  1) -Dfile.encoding=utf-8   -->'编码'

  2) -Dtimezone=GMT+8        -->'时区'

  3) -Dspring.config.application=file:/home/kiosk/application.yml -->'配置文件'

强调: 说到底'value'也是"字符串",只要'值字符串'不包含空格,都可以不用"双引号"包括

补充: 设置多个'属性',可以设置多次'-D' 或者 '自定义分隔符,例如:,'分割'key=value'

  形式1: -Darg=key1:val1,key2:val2,key3:val3

  注意: 需要自己'进行解析'key1:val1,key2:val2,key3:val3,实际是一个'大字符串'

  形式2: Darg1=value1 -Darg2=value2 -Darg3=value3  -->"正统"

续: 说到底这个'系统属性值'会被'java'获取,作为字符串处理

系统变量系统属性的区别 

重点1: 通过'System.getProperty()'获得运行时'-D'设置的'系统属性'

   补充: JVM会'默认预设'很多'系统属性'

重点2: 通过'System.getenv()'获得'系统环境变量'

二者区别: '系统属性'是'局部'的;'系统变量'是'全局'的,在java启动的时候不需要定义就可以获取

③  -jar filename  重点

典型案例:  java -jar jenkins.war --httpPort=9001

1) 使用-jar参数时,后面的参数是的'jar或war'文件,'该文件'中包含的是class和资源文件

3) 在manifest文件中'有Main-Class的定义',Main-Class的源码中指定了整个应用的'启动类'

小结: java -jar会去找'jar中'的'manifest文件',去找到Main-Class对应的'真正的启动类'

观察: 解压jar包后,'META-INF文件夹'的MANIFEST.MF文件中的'Main-Class'

java -jar和 java -cp有什么区别

通过 -jar 启动SpringBoost的解读

1) '先' Main-Class: org.springframework.boot.loader.JarLauncher

2) '再' Start-Class: com.wzj.spring.Application

  说明: 这个是'我们'工程的启动类,包含'main'方法,是真正的'应用启动类'

+++++++++++  "典型使用案例"  +++++++++++

④  -javaagent:jarpath[=options]  了解

⑤  -server 和 -client  了解

1) java虚拟机分为'客户端模式'和'服务器模式'

2) 客户端模式下默认-Xms是1M,-Xmx是64M,适用于'占用内存'小,'启动更快'的产品

3) 服务端模式'默认'-Xms是128M,-Xmx是1024M,启动慢,但运行时性能和内存管理效率高

  备注: 适用于'生产'环境

1) java -server 选择虚拟机模式,默认是"server"

2) java虚拟机在'启动应用'时,启动器会对'虚拟机模式'进行'检测'

3) 检测应用是否在服务器上的机器运行;如果'是',那就以'服务器的模式'运行,目的是提高性能

⑥  -help

⑦  -version

应用场景: 通常用来看'java'命令是否可以执行,以及查看'版本'

⑧  -version:release  了解

⑨  其他参数 了解

(3)Non-Standard Options

堆栈配置参数解析

①  -X  常用

②  -Xmnsize

③  -Xmssize

④  -Xmxsize  重点

说明: 设置'大'堆内存大小,超出则'OOM'内存溢出,被'kill'掉

⑤  案例

参考链接1

参考链接2

(4)args

应用场景: 把java文件当作'脚本'

遗留:postman、jmeter、nacos、selinum、kong深入

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:Linux杂谈之java命令-创新互联
浏览路径:http://myzitong.com/article/djecsp.html