JVM学习系列学习一

作者: 凯哥Java | 来源:发表于2019-06-29 23:02 被阅读0次

本文主要内容:

一:为什么要对JVM进行优化?

我们在自己电脑上进开发的时候,几乎很少考虑对JVM进行优化。但是,我们写的代码,放到生成环境会出现入下各种情况:

1:运行的应用越来越“卡”了、日志不输出、页面点击没反应了

2:为什么服务器CPU使用率突然飙升上来了

3:在多线程应用下,如何分配线程数量?

……

怎么解决?重启吗?万能的重启服务吗?生成环境能随随便便就重启吗 ?

通过本系列教程,我们将对JVM有更深入的学习。目的:我们不仅仅让程序能跑起来,而且是要跑的更快!可以分析解决在生产环境中所遇到的各种“棘手”的问题。

注:本套课程使用的JDK版本为1.8.所以,建议学习的朋友也用1.8的。

二:JVM的运行参数

在JVM中有很多的参数是可以进行设置的。这样做的目的是可以让JVM在各种环境中都能够高效的运行。绝大部分的参数保持默认的即可。

2.1:JVM三种参数类型

标准参数

-help

-version

标准参数,一般都是很稳定的,既是在未来的JVM版本中也不会被去掉或者改变的。可以使用java -help查看所有的标准参数。

还记得我们JDK刚安装完成后,查看JDK版本的命令吗?

Java -version 就是标准的参数。

-X参数(非标准参数)

-Xint

-Xcomp

-X参数是非标准的参数,在不同的版本中,参数可能会有所不同,可以通过Java -X命令来查看:

-XX参数(使用频率较高的)

-XX:newSize

-XX:+UseSerialGC

-XX参数也是非标准参数,主要用于JVM的调优和debug操作。

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

Boolean类型的

格式:-XX:[+-]<name>

作用:标识启用或禁用<name>属性

如:-XX:+DisableExplicitGC。表示禁用手动调用GC操作,也就是说调用SysTem.gc()无效的。

非Boolean类型:

格式:-XX:<name>=<value>

作用:表示<name>属性的值为<value>

如:-XX:NewRatio=1。表示新生代和老年代的比值。

-Xms与-Xmx参数:

-Xms与-Xmx分别是设置JVM的堆内存的初始值大小和最大大小。

-Xmx2048m:等价于-XX:maxHeapSize,设置JVM最大堆内存为2048M

-Xms512m:等价于-XX:InitialHeapSize,设置JVM初始堆内存为512M

适当的调整JVM的内存大小,可以充分雷勇服务器资源,让程序跑的更快。

本系列教程首发:

凯哥公众号:凯哥Java(kaigejava)

凯哥个人博客:www.kaigejava.com

本文地址:http://www.kaigejava.com/article/detail/459

相关文章

  • JVM学习系列学习一

    本文主要内容: ​ 一:为什么要对JVM进行优化? 我们在自己电脑上进开发的时候,几乎很少考虑对JVM进行优化。但...

  • JVM系列学习随笔(一)

    虚拟机 JVM:JVM全称Java Virtual Machine(Java虚拟机),是一个虚构出来的计算机,作用...

  • JVM学习系列学习五

    我们接着上一篇文章讲解: 4.2:查看内存中对象数量及大小 查看所有对象,包括活跃及非活跃的。使用命令: Jmap...

  • JVM学习系列学习六

    本文是《JVM学习系列》教程中第六篇文章。不是单篇的。 我们接着上一篇讲解: 4.5:通过MAT工具对dump文件...

  • JVM学习系列学习七

    5:实战:内存溢出的定位与分析 内存溢出在日常工作中,这个错误很容易遇到。遇到内存溢出,首先我们需要快速定位内存溢...

  • JVM学习系列学习四

    我们接着上一篇讲解: 使用命令查看对内存使用情况 使用到的命令:jstat Jstat:此命令可以查看对内存各个部...

  • JVM学习系列学习二

    查看JVM的运行参数 在有些时候我们需要查看JVM的运行参数,这个需求可能有以下两种情况: 1:运行Java命令时...

  • JVM学习系列学习三

    我们接着上一篇文章讲解: 堆、栈、永久区比较 Heap(堆内存): 在Java中,创建的所有引用对象类型,都在堆内...

  • 科学计算系列学习 02:Pandas

    科学计算系列学习 01:Numpy科学计算系列学习 02:Pandas科学计算系列学习 03:Matplotlib...

  • 经济金融系列学习(完整版)

    目录 我们为什么要学习金融?经济金融系列学习:为什么我们要学习金融? 创业者眼中的新世界经济金融系列学习:创业者眼...

网友评论

    本文标题:JVM学习系列学习一

    本文链接:https://www.haomeiwen.com/subject/qovmcctx.html