JVM ----运行参数 系统参数 -xx参数 -x参数

前言

首先聊一下什么是JVM, 我们为什么要去学习JVM

  • JVM Java虚拟机它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的,
    引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
  • 对于一个程序员来说学习JVM就是为了让程序跑的更快、更稳定

参数类型

标准参数, 也就是系统参数

例如: java -help java -version
这里说一下 -server 和 -client 的区别

  • Server VM的初始堆空间会大一些,默认使用的是并行垃圾回收器,启 动慢运行快。
  • Client VM相对来讲会保守一些,初始堆空间会小一些,使用串行的垃圾回收器,它的目标是为了让JVM的启动速度更快,但运行速度会比Serverm模式慢些。
  • 32 位操作系统. 默认采用Client类型的JVM
  • 64 位操作系统, 只有Server类型 不支持Client类型

-X参数

可通过 java ‐X 来查看所有的-X 参数
这里说一下的区别 -Xint、-Xcomp、-Xmixed

  • -Xint 解释模式 ,-Xint标记会强制JVM执行所有的字节码,当然这
    会降低运行速度,通常低10倍或更多。
  • -Xcomp 编译模式, 与它(-Xint)正好相反,JVM在第一次使用时会把所有的字节码编译成本地代码,从而带来最大程度的优化. 然而,很多应用在使用 -Xcomp也会有一些性能损失,当然这比使用-Xint损失的少,原因是-xcomp没有让JVM启用JIT编译器的全部功能。JIT编译器可以对是否需要编译做判断,如果所有代码都进行编译的话,对于一些只执行一次的代码就没有意义了。
  • -Xmixed 混合模式, 将解释模式与编译模式进行混合使用,由jvm自己决定,这是jvm默认的模式,也是推荐使用的模式。

-XX参数

-XX参数的使用有2种方式,一种是boolean类型,一种是非boolean类型

  • -boolean类型 -XX[+] 表示true -XX[-] 表示false 例如: -XX:+DisableExplicitGC 表示禁用手动调用gc操作, 也就是说程序员调用System.gc()无效
  • 非boolean类型 -XX:NewRatio=2 表示新生代和老年代比值为 1:2

-Xms与-Xmx参数

  • -Xms与-Xmx分别是设置jvm的堆内存的初始大小和最大大小。
  • -Xmx2048m:等价于-XX:MaxHeapSize,设置JVM最大堆内存为2048M。
  • -Xms512m:等价于-XX:InitialHeapSize,设置JVM初始堆内存为512M。
  • 适当的调整jvm的内存大小,可以充分利用服务器资源,让程序跑的更快。

总结

JVM常用的运行参数先介绍这些, 也算是一个基础的入门, 后继还会介绍JVM的内存模型和如何调优

举头望明月,低头写总结! 没错

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章