文档章节

Java虚拟机jvm学习二:常用JVM配置参数

silence88
 silence88
发布于 2017/02/26 20:15
字数 338
阅读 12
收藏 2

一、Trace跟踪参数

二、堆的分配参数

-Xmx –Xms

指定最大堆和最小堆

例如我设置:-Xmx1024m -Xms512m。

1、

	public static void main(String[] args) throws InterruptedException {

		System.out.println("堆最大空间:"+Runtime.getRuntime().maxMemory()/1024/1024+"M");
		System.out.println("堆可用空间:"+Runtime.getRuntime().freeMemory()/1024/1024+"M");
		System.out.println("堆总的空间:"+Runtime.getRuntime().totalMemory()/1024/1024+"M");
	}

运行的结果为:

堆最大空间:910M
堆可用空间:488M
堆总的空间:490M

2、

	public static void main(String[] args) throws InterruptedException {
		
		byte[] b = new byte[1024*1024*600];//600m
		System.out.println("堆最大空间:"+Runtime.getRuntime().maxMemory()/1024/1024+"M");
		System.out.println("堆可用空间:"+Runtime.getRuntime().freeMemory()/1024/1024+"M");
		System.out.println("堆总的空间:"+Runtime.getRuntime().totalMemory()/1024/1024+"M");
	}

运行结果为:

堆最大空间:910M
堆可用空间:229M
堆总的空间:832M

说明:从上面实例可以看出jvm会维持在最小堆的空间上。如果超出了最小堆空间,则相应会增加堆总的空间。

三、栈的分配参数

Xss:

  • 通常只有几百K
  • 决定了函数调用的深度(如果栈空间分配过小,则导致函数调用的深度会不够,因为函数每调用一次就相当于一个栈帧)
  • 每个线程都有独立的栈空间(如果栈空间分配过大,则导致能运行的线程数量会少)
  • 局部变量、参数 分配在栈上

© 著作权归作者所有

共有 人打赏支持
silence88
粉丝 7
博文 71
码字总数 72855
作品 0
深圳
程序员
Android JNI学习(三)——Java与Native相互调用

本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Native相互调用 Android JNI学习(四)——JNI的常用方法...

隔壁老李头
05/09
0
0
JDK的命令行工具系列 (二) javap、jinfo、jmap

javap: 反编译工具, 可用来查看java编译器生成的字节码 参数摘要: -help 帮助 -l 输出行和变量的表 -public 只输出public方法和域 -protected 只输出public和protected类和成员 -package 只输...

qingshanli
07/16
0
0
My java——JVM(内存)二

续 My java——JVM(java 虚拟机)一 http://my.oschina.net/mynote/blog/113572 这里继续对java做深入的理解。 从(一)中说明了JVM就等同于操作系统,我们在学习操作系统的时候就会理解内存...

tngou
2013/03/14
0
0
JVM学习总结五——性能监控及故障处理工具

之前扯了四篇理论,这一篇终于可以动动手了。本篇我们将介绍JVM常用的一些工具,这些工具将是我们监控JVM状态、处理故障和调优分析的利器。 不过在开始之前,我还是要先车扯两句:工具终归只...

oO脾气不坏Oo
2014/03/16
0
0
[Java学习探讨]为什么学Java虚拟机的Java程序员更值钱?

[Java学习探讨]为什么学Java虚拟机的Java程序员更值钱? 曾经的我经常害怕处理与JVM相关的异常,对JVM的配置参数也一无所知,那时候我天真地认为,JVM的出现本身就是想让程序员屏蔽实现细节,...

原创小博客
07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

DeepMind 开源图神经网络的代码

用于支持论文《Relational inductive biases, deep learning, and graph networks》。 github A graph network takes a graph as input and returns a graph as output. The input graph has......

shengjuntu
9分钟前
0
0
python2编码详解、一

以前使用python3没觉的什么,跟着公司使用python2后被编码问题折磨的痛不欲生,好好研究了一下编码问题,参考了很多博文,加入自己的理解,这里只是对编码的介绍,下一篇是python2中编码问题...

hc321
18分钟前
0
0
基于OpenSSL的一些常用加密签名算法

目前包括:MD5、SHA512、DES、RSA加解密、RSA+MD5签名验证算法,在openssl基础上再进行封装,使用简单,头文件需要包含openssl库,可以使用vcpkg自动管理,省去繁琐的配置工程的过程。 该RSA...

LoSingSang
26分钟前
0
0
spring Data JPA

什么是JPA? 全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。 为我们提供了: 1)ORM映射元数据:JPA支持XML和注解两种元...

狼王黄师傅
31分钟前
0
0
微信小程序 - 使用七牛云 API 截取第 n 秒图像为封面图

前面分享过七牛的上传操作,在这里说下使用七牛 api 对视频在页面的处理,比如你的视频上传之后获取七牛视频链接,这时候你怎么展示它呢? 在页面可以使用小程序提供的原生组件 video ,可以...

几个栗子
34分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部