JVM基础学习
public class TestJVM { // 运行时数据区【方法区、堆、程序计数器、虚拟机栈、本地方法栈】
private static int _1M = 1024 * 1024; public static void main(String[] args) {
byte[] alloc1, alloc2, alloc3, alloc4, alloc5, alloc6, alloc7, alloc8;
alloc1 = new byte[1 * _1M];
alloc2 = new byte[2 * _1M];
alloc3 = new byte[3 * _1M];
alloc4 = new byte[4 * _1M];
alloc5 = new byte[5 * _1M];
alloc6 = new byte[6 * _1M]; alloc2 = null;
alloc7 = new byte[7 * _1M]; } // 命令1:
// -verbose:gc -Xms30M -Xmx30M -Xmn10M -XX:+PrintGCDetails
// -XX:SurvivorRatio=8 -XX:+HeapDumpOnOutOfMemoryError // 命令2:
// -verbose:gc -Xms30M -Xmx30M -XX:+PrintGCDetails
// -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:+HeapDumpOnOutOfMemoryError // -verbose:gc 打印垃圾收集器的执行日志
// -Xms30M 最小堆的大小
// -Xmx30M 最大堆的大小
// -Xmn10M 年轻代大小
// -XX:NewRatio=2 JVM堆中的新生代与老年代的大小比例为1:2
// -XX:SurvivorRatio=8 设置Eden与Survivor的大小比例,默认8:1 // 根据以上参数得知改程序的虚拟机堆大小为30M,年轻代为10M,老年代为20M,
// 其中年轻代中Eden=8M,From Survivor=To Survivor=1M // 备注:
// 运行时内存与垃圾回收介绍:http://www.cnblogs.com/God-froest/p/jvm_1_3.html
// 参数介绍:http://blog.csdn.net/shenzhen_liubin/article/details/7207236
// OOM的样例:http://blog.csdn.net/cutesource/article/details/8244250
}
参考资料:
《深入理解Java虚拟机》笔记
JVM基础学习的更多相关文章
- JVM基础学习(一):JVM内存模型
在Java进阶知识的学习中,JVM都是避不过去的一关,我个人对于JVM的理解其实就是相当于在操作系统的外层再加了一层中间层,从来屏蔽了具体硬件之间的不同实现,使得Java实现了最重要的特性:一次编译, ...
- JVM基础学习(二):内存分配策略与垃圾收集技术
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来 垃圾收集概述 Java内存模型中的堆和方法区是垃圾收集技术所需要关注的终点,因为其他的区域会跟 ...
- JVM基础学习之类的加载、链接和初始化
本文我们一起讨论Java类的加载.链接和初始化. Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是 java.lang.Class类 的对象.一个Java类从字 ...
- JVM基础学习之基本概念、可见性与同步
开发高性能并发应用不是一件容易的事情.这类应用的例子包括高性能Web服务器.游戏服务器和搜索引擎爬虫等.这样的应用可能需要同时处理成千上万个请求.对于这样的应用,一般采用多线程或事件驱动的 架构 .对 ...
- JVM基础:深入学习JVM堆与JVM栈
转自:http://developer.51cto.com/art/201009/227812.htm JVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题, ...
- JVM快速学习
最近开始了全面的JAVA生态环境学习,因此,JVM的学习是必不可少的一个环节.和.NET的CLR一样,一起的JAVA应用均跑在JVM虚拟机上,不过相对我们只能干看看的CLR,JVM有很大的灵活性,可以 ...
- JVM 基础知识
JVM 基础知识(GC) 2013-12-10 00:16 3190人阅读 评论(1) 收藏 举报 分类: Java(49) 目录(?)[+] 几年前写过一篇关于JVM调优的文章,前段时间拿出来看了看 ...
- java 笔记(1)-—— JVM基础,内存数据,内存释放,垃圾回收,即时编译技术JIT,高精度类型
1.java中5个存放数据的地方: (1).寄存器(Registers):位于CPU内部,是速度最快的存储区,但是数量和容量有限.在java中不能直接操作寄存器. (2).栈(Stack):栈位于通用 ...
- JVM基础系列第14讲:JVM参数之GC日志配置
说到 Java 虚拟机,不得不提的就是 Java 虚拟机的 GC(Garbage Collection)日志.而对于 GC 日志,我们不仅要学会看懂,而且要学会如何设置对应的 GC 日志参数.今天就让 ...
随机推荐
- ASP.NET MVC 2 验证
来源:http://www.cnblogs.com/jhxk/articles/2612885.html 只为把自己觉的好的存起来 对用户输入的验证以及强制业务规则/逻辑是大多数web应用的核心需求 ...
- 更改windows服务的配置文件app.config
/// <summary> /// 获取每次处理记录数 /// </summary> /// <returns></returns> private s ...
- Configuration python CGI in XAMPP in win-7
1.After install XAMPP,we need add the path of the Mysql just find the path and add it to your sys-pa ...
- Linux简史
原著:Ragib HasanDepartment of Computer ScienceUniversity of Illinois at Urbana-Champaign 翻译:王晓林 混沌初开 那 ...
- cordova ios
使用Cordova进行iOS开发 (环境配置及基本用法) 字数1426 阅读3044 评论0 喜欢5 安装Cordova CLI 1. cordova的安装: 1.1 安装cordova需要先安装no ...
- python2.7之乱码问题(直接从我的csdn上复制粘贴过来的。。。)
学习python一段时间了,一直没有写过博客.就从今天开始吧! python 3之后当然不存在乱码问题了.python 2的乱码问题有时就有点头疼了.(代码均为在windows下测试) 示例:保存为t ...
- 每日一“酷”之heapq
作用:heapq模块实现一个适用于Python列表的最小堆排序算法 堆(heap)是一个属性数据结构,其中子节点与父节点是一种有序关系.二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全 ...
- C# 文件管理类 Directory
今天简单接触了一下C#的文件管理类,对类的大体功能做了简单的了解; 做项目用于判断文件是否存.在创建文件.删除文件较为常用:今天大体总结文件调取功能: public string GetFile() ...
- Spark Standalone运行过程
以下内容参考http://www.cnblogs.com/luogankun/p/3912956.html 一.集群启动过程--启动Master 二.集群启动过程--启动WorkerWorker运行时 ...
- plateform_driver_register和plateform_device_register区别
设备与驱动的两种绑定方式:在设备注册时进行绑定及在驱动注册时进行绑定. 以一个USB设备为例,有两种情形: (1)先插上USB设备并挂到总线中,然后在安装USB驱动程序过程中从总线上遍历各个设备,看驱 ...