Linux杂谈之java命令

news2024/11/20 13:43:05

一  java

(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深入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java开发为何深入人心 ?我来带你解开 Spring、IoC、DI 的秘密~

目录 一、什么是Spring? 1.1、什么是容器? 1.2、IoC是什么? 1.3、IoC带来了什么好处? 二、什么是DI? 2.1、IoC和DI有什么关系? 一、什么是Spring? 一句概括,Spring 是包含了众多⼯具⽅法的 IoC 容器…

RHCE第七天之防火墙详解

文章目录一、 基本概念二、iptables三、firewalld四、实验练习一、 基本概念 什么是防火墙?路由策略和策略路由/ipsec vpn gre hdlc ppp 硬件 iDS 在计算中,防火墙是基于预定安全规则来监视和控制传入和传出网络流量的网络安全系统。该计算机流入流出的…

React基础梳理,万字总结,总能帮到你~

第1章:React入门 1.1.React简介 1.英文官网: reactjs.org/2.中文官网: react.docschina.org/3.用于动态构建用户界面的 JavaScript 库(只关注于视图)4.Facebook开源 React的特点 1.声明式编码2.组件化编码3.React Native 编写原生应用4.高效(优秀的D…

CodeCraft-22 and Codeforces Round #795 (Div. 2)

A. Beat The Odds 题目链接: Problem - A - Codeforces 样例输入: 2 5 2 4 3 6 8 6 3 5 9 7 1 3样例输出: 1 0题意:给定一个长度为n的数组,我们可以对这个数组进行操作,每次操作可以删除一个数&#xff…

计算机防勒索病毒之系统主机加固篇

​ 近年来,计算机以及互联网应用在中国得到普及和发展,已经深入到社会每个角落,政府,经济,军事,社会,文化和人们生活等各方面都越来越依赖于计算机和网络,电子政务,无纸办…

如何把WPS转换成PDF格式?新手也能轻松学会的方法

WPS文件是我们工作中必不可少的,它可以编辑文本、记录数据、展示文档等等,都能更好的帮我们处理工作,不过有的时候WPS文件在不同设备上打开可能会出现格式错误或者乱码等一系列的问题,这时候我们就可以将WPS文件转换成PDF文件&…

[Leetcode] 传递信息(有向图路径)

小朋友 A 在和 ta 的小伙伴们玩传信息游戏,游戏规则如下:有 n 名玩家,所有玩家编号分别为 0 ~ n-1,其中小朋友 A 的编号为 0每个玩家都有固定的若干个可传信息的其他玩家(也可能没有)。传信息的…

Python数据分析之Pandas

文章目录前言一、输入输出1.1 txt1.2 csv1.3 excel1.4 json1.5 sql1.6 html1.7 latex二、数据结构2.1 一维数据 Series2.2 二维数据 DataFrame2.2.1 数据查看2.2.2 数据遍历2.2.3 数据选取2.2.4 数据处理2.2.5 数据统计2.3 索引对象 Index2.4 时间戳 TimeStamp三、窗口函数3.1 …

【每日一题】【LeetCode】【第十天】只出现一次的数字

解决之路 题目描述 测试案例(部分) 第一次 和昨天的题目有点类似,昨天是找重复,今天是找不重复。那直接按昨天第二次思路来写这次的代码。 class Solution(object):def singleNumber(self, nums):nums.sort()for i in range(l…

在线计算lncRNA-mRNA共表达相关系数,并使用cytoscape绘制共表达网络图

长链非编码RNA(Long noncoding RNA)是一类长度大于200 nt,不编码蛋白质的RNA。LncRNA的功能多样,如图1所示,A:充当蛋白质和染色质的连接因子,引起染色质重构(chromatin remodeling);…

内存函数细节及实现

1、memcpy内存拷贝 不仅可以拷贝,还可以拷贝整型、结构体等,因为直接拷贝了内存。 因为不知道要拷贝的类型是什么,所以都用void*来接收。num是拷贝的字节数 拷贝时可任意选择dest,src,以及字节数。返回void*类型的指…

01什么是FPGA?

FPGA 是一种硬件可重构的体系结构。它的英文全称是Field Programmable Gate Array,中文名是现场可编程门阵列。 FPGA就是一个可以通过编程来改变内部结构的芯片,FPGA常年来被用作专用芯片(ASIC)的小批量替代品, 同时也…

PMP考试流程是怎么样的?

别的问题我可能不太了解,但考试流程我绝对是非常清楚了!话不多说,直接放流程给到大家,好歹通过考试了,基本的情况还是能给大家讲解一下的。希望能够给有需要的同学提供点帮助。 先把考试的流程看仔细了,之…

核心乐理---音程名称

定义 音程是连个音之间的距离,是音乐中的距离,可以便于我们描述音符间的距离,便于与他人进行沟通交流。 就好像是厘米,米这些这些物理中的长度单位一样 度 度是音程的单位。 从一个音的名字念到另一个音的名字,一共念…

瑞幸“复制”拼多多

(图片来源于网络,侵删) 来源 | 螳螂观察 文 | 叶小安 在电商界,拼多多杀出阿里京东围剿重围,奠定现今电商行业“猫狗拼”三分天下的格局,这是多少后辈们参考的范本。 在咖啡界,瑞幸凭借低价…

ESP32基于Arduino框架,SD卡+MAX98357模块+MP3播放器

ESP32基于Arduino框架,SD卡MAX98357模块MP3播放器🎬原创作者的制作教程讲解以及源码: 35 ESP32之简单的完整功能SD卡MP3播放器的制作讲解(ESP32-audioI2S库介绍)- 基于Arduino链接:https://pan.baidu.com/s…

黑产系列02-黑产画像

黑产无利不起早,在利益的驱动下黑产几乎是屡禁不止,作为风控从业人员我们需要全方位的了解黑产,了解我们的对手,才能知己知彼,接下来我将结合我多年风控经验以及查阅的相关的资源,全方位介绍下黑产以及他们…

matplot绘制动图

import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation import numpy as np plt.rcParams[axes.unicode_minus] False plt.rcParams[font.sans-serif] SimHei# 准备数据 x np.linspace(0,3*np.pi,100) y1 np.sin(x) y2 np.cos(x)#创建画布和子图 …

Python用yield from 实现异步协程爬虫

文章目录一、什么是yield二、yield于列表的区别三、yield from 实现协程一、什么是yield 如果还没有怎么用过的话,直接把yield看做成一种特殊的return(PS:本质 generator(生成器)) return是返回一个值然后…

Python网络编程中getservbyport和getservbyname函数的用法

在Python的网络编程中,getservbyport()函数和getservbyname()函数是socket模块中的两个函数,因此在使用这两个函数时,需要导入socket模块。1 getservbyname()函数getservbyname()函数的作用是通过指定服务的名称获取该服务对应的端口号。相关…