Java常用命令

jps    查看java进程的PID

java -XX:+PrintFlagsInitial    显示所有可设置参数及默认值

java -XX:+PrintFlagsFinal    获取到所有可设置参数及值(手动设置之后的值)

java -XX:+PrintCommandLineFlags    显示出JVM初始化完毕后所有跟最初的默认值不同的参数及它们的值

jmap -histo [pid]    查看java堆上的对象分布情况

java用法: java [-options] class [args...](执行类)或 java [-options] -jar jarfile [args...](执行 jar 文件)

譬如:java -cp . -Xmx3G -Xmn2G -server -XX:-TieredCompilation AppMain

[-options]

-d32 使用 32 位数据模型 (如果可用)

-d64 使用 64 位数据模型 (如果可用)

-server 选择 "server" VM,默认 VM 是 server

-cp <目录和 zip/jar 文件的类搜索路径>

-classpath <目录和 zip/jar 文件的类搜索路径>,用 : 分隔的目录, JAR和 ZIP列表, 用于搜索类文件。

-D<名称>=<值> 设置系统属性

-verbose:[class|gc|jni] 启用详细输出

-version 输出产品版本并退出

-showversion 输出产品版本并继续

-Xdiag 显示附加诊断消息

-Xnoclassgc 禁用类垃圾收集

-Xincgc 启用增量垃圾收集

-Xloggc:<file> 将 GC 状态记录在文件中 (带时间戳)

-Xbatch 禁用后台编译

-Xms<size> 设置初始 Java 堆大小

-Xmx<size> 设置最大 Java 堆大小

-Xss<size> 设置 Java 线程堆栈大小

-Xprof 输出 cpu 配置文件数据

-XshowSettings 显示所有设置并继续

-XshowSettings:all 显示所有设置并继续

-XshowSettings:vm 显示所有与 vm 相关的设置并继续

-XshowSettings:properties 显示所有属性设置并继续

-XshowSettings:locale 显示所有与区域设置相关的设置并继续

-XX:-UseBiasedLocking    关闭偏向锁默认会进入轻量级锁状态

-XX:-DoEscapeAnalysis 关闭逃逸分析

-XX:-TieredCompilation 关闭分层编译

-XX:-BackgroundCompilation 关闭异步编译

-XX:CompileThreshold 方法调用次数或循环次数达到这个阈值就会触发标准编译(client:1500,server:10000)

ps:

触发OSR编译的阈值计算(OSR编译就是只编译该循环代码不编译类的其他方法)
-XX:CompileThreshold = 10000
-XX:OnStackReplacePercentage = 140
-XX:InterpreterProfilePercentage = 33
OSR trigger = (CompileThreshold * (OnStackReplacePercentage - InterpreterProfilePercentage)) / 100 = 10700
JIT编译在默认情况是异步进行的,当触发某方法或某代码块的优化时,先将其放入编译队列,然后由编译线程进行编译,编译之后的代码放在CodeCache中,CodeCache的大小也是有限的,CompileThreshold设置的太低,JIT会将一大堆执行不那么频繁的代码进行编译,并放入CodeCache,导致之后真正执行频繁的代码没有足够的空间存放。

时间: 2024-11-08 20:32:16

Java常用命令的相关文章

java 常用命令介绍

1) javac:java编译器,将java代码转换成字节码: 2) java: java解释器,从java的类文件(字节码文件 ***.class)执行应用程序: 3) jdb:  java调试器: 4) javadoc: 根据java源代码生成对应的HTML文档: 5) appletviewer: 小程序浏览器,用于执行HTML文件上的Apple的浏览器: 6) javap: java反汇编器,显示编译文件中可访问的数据和功能,同时显示字节代码含义: 7) javah: java语言c头文件

Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法

Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类  的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正常运行,而java命令有时可以正常运行,有时却不可以,不可以的症状就是显示“找不到或无法加载主类”. 在网上找了各种资料,最终发现是因为代码里含有package语句,所以无法在cmd下运行java命令解释.class文件.而那些可以运行的文件就是因为没有使用package语句. 我这种问题的解决方法

自学总结redis第二部分(redis常用命令、高级命令特性以及与java代码的结合)

六.redis多数据类型介绍(常用命令) 6.1前提操作 #如果前面的redis环境没搭好,那么可以先暂时在 "http://try.redis.io/"中实践redis命令部分.   #为了测试方便,把redis登录密码暂时撤销   #redis一共分为五种基本数据类型:String,Hash,List,Set,ZSet #所有命令都可以到"http://www.redis.cn/commands.html"  去搜索到. #首先由于redis是一个基于key-v

java cmd常用命令

熟悉Java的常用命令 面试例题11:使用jar命令. 请使用jar命令,将test文件夹压缩成.jar文件,并简述其压缩包的结构. 考点:对于Java程序员来说,更多情况下是使用集成Java开发工具,例如JBuilder.Eclipse等,而对于最基本的Java编译和常见的命令行工具往往都不熟悉,这个面试例题主要考查求职者对于Java命令行基本工具的使用,从而了解求职者对Java编程的熟悉程度. 出现频率:★★★ 解析 熟练的Java开发者应该掌握常用的Java命令行工具.求职者应该熟练掌握j

maven3常用命令、java项目搭建、web项目搭建

------------------------------maven3常用命令--------------------------- 1.常用命令 1)创建一个Project mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -Dinteractive

【java开发】ubuntu常用命令及环境搭建

学习第一天,今天内容相对简单,主要就是ubuntu一些常用命令及常规操作,后续涉及到环境的搭建,也会在本文再更. ubuntu环境搭建 第一种 也是最简单最方便的 通过vm虚拟机软件,下载iso镜像进行如next式安装,此处不再赘述.涉及到的软件,Oracle virtual box虚拟机,ubuntu任意发行版ISO. 第二种 把iso镜像写入u盘 然后单独在电脑上分区 进行安装 使用easyBCD等软件写入 为电脑进行单独分区,需注意:win下只能从临近盘符进行空间瘦身合并 安装ubuntu

用xshell操作linux系统的常用命令

(1)命令ls——列出文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l *.doc 给出当前目录下以.doc结尾的所有文件 (2)命令cp——复制文件 cp afile afile.bak 把文件复制为新文件afile.bak cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下 cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目

分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sorted Set. Redis数据类型内存结构分析 Redis内部使用一个redisObject对象来表示所有的key和value.redisObject主要的信息包括数据类型(type).编码方式(encoding).数据指针(ptr).虚拟内存(vm)等.type代表一个value对象具体是何种数

Linux常用命令学习

补充: 管道符号:   | 含义: 命令1 的正确输出作为命令2的输出对象. 格式: 命令1   |  命令2 举例: ls -ctrl |  more 常用命令: netstat   -an    |  grep    ESTABLISHED         查看正在连接的端口 netstat   -an    |   grep   LISTEN find   .    -name   test.txt    |     cat    -n          在当前目录下找到文件名为test.