摘要:本文主要向大家介绍了JAVA从入门到精通之JVM调优基础教程,通过具体的内容向大家展示,希望对大家学习JAVA从入门到精通有所帮助。
本文主要向大家介绍了JAVA从入门到精通之JVM调优基础教程,通过具体的内容向大家展示,希望对大家学习JAVA从入门到精通有所帮助。
1.Java中数据组成
Java中,数据类型可以分为两类:基本类型和引用类型。
基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值即某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。
基本类型包括:byte,short,int,long,char,float,double,boolean
引用类型包括:类类型,接口类型和数组
2.堆与栈
栈是运行时的单位,而堆是存储的单位,栈代表了处理逻辑,而堆代表了数据,栈中存的是基本数据类型和堆中对象的引用,堆中存的是对象,堆中数据可以被栈共享,这正体现了分而治之的思想。
基本数据的类型的大小是固定的,而非基本类型的Java对象,其大小却不固定。
在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:
Object ob = new Object();
这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4byte+8byte。4byte是上面部分所说的Java栈中保存引用的所需要的空间(栈空间)。而那8byte则是Java堆中对象的信息(堆信息)。因为所有的Java非基本类型的对象都需要默认继承Object对象,因此不论什么样的Java对象,其大小都必须是大于8byte。
对象大小的计算如下:
Class NewObject {
int count;
boolean flag;
Object ob;
}
其大小为:空对象大小(8byte)+int大小(4byte)+Boolean大小(1byte)+空Object引用的大小(4byte)=17byte。但是因为Java在对对象内存分配时都是以8的整数倍来分,因此大于17byte的最接近8的整
倍的是24,因此此对象的大小为24byte。
3.JVM 以下给出1G内存环境下java jvm 的参数设置参考
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64m -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true"
具体环境可以根据服务器不同适当配置。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号