浅谈JVM调优

#1. 前言

Java程序均运行在JVM之上,因此理解JVM是理解高性能Java程序所必须的。

2.大纲

  • 这里是列表文本讲述JVM执行Java代码的机制
  • 内存管理的机制
  • 常用GC算法的介绍
  • 集成环境下JVM配置

3.JVM执行Java代码的机制

3.1 编译:逃逸算法

3.2 加载:类加载机制

3.3 执行:内存分析

3.4 销毁:GC回收机制

4.内存管理的机制

输入图片说明

5.常用GC算法的介绍

6.集成环境下JVM配置

6.1 纯Java环境JVM配置

 java -Xms64m -Xmx256m Advice

对于单独的.class,可以用上述命令对Advice.class文件在运行时的jvm内存进行设置。

6.2 Eclipse环境下JVM配置

  1. 修改eclipse.ini文件
    输入图片说明

  2. eclipse加载JDK是配置JVM参数
    输入图片说明

  3. 运行时在run configurations配置JVM参数
    输入图片说明

6.3 服务器环境下JVM配置

通常是修改应用容器(tomcat、jboss)下的JVM参数完成配置 配置环境变量 变量名:CATALINA_OPTS 变量值:-Xmx128m -Xms64m -Xmn32m -Xss16m

  1. tomcat下JVM配置 修改tomcat bin/catalina.bat文件
    在 set JAVA_OPTS=%JAVA_OPTS%之后加上JVM参数 修改前如下图
    输入图片说明
    修改后如下图
    输入图片说明
  2. jboss下JVM配置 Windows环境下,编辑jboss/bin/standalone.conf
    文件中找到JAVA_OPTS(java配置相关)
    输入图片说明
    在Linux下,同样也是修改jboss/bin/standalone.conf
    输入图片说明

6.4通过Java程序验证JVM参数配置是否生效

Runtime.getRuntime().maxMemory(); //最大可用内存,对应-Xmx,默认值为物理内存的1/4,设值不能高于计算机物理内存;  
Runtime.getRuntime().freeMemory(); //当前JVM空闲内存  
Runtime.getRuntime().totalMemory(); //JVM已使用的内存及freeMemory()的总和  

转载于:https://my.oschina.net/u/3581789/blog/1492286

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值