从这篇博文起,不再是流水式的学习记录了,稍微改进下风格。

运行时获得当前JVM 设置大小

首先,-Xmx100000000指定最大的内存分配。

public static void main(String[] args) {
       Runtime run = Runtime.getRuntime();

       long max = run.maxMemory();
       long total = run.totalMemory();
       long free = run.freeMemory();

       System.out.println(max);
       System.out.println(total);
       System.out.println(free);
   }

结果:

97320960
16252928
15536696

看到基本是100M的样子。

-Xms 设置JVM 初始化最小值

97320960
96731136
95661464

我们可以看到初始值基本马上就分配了大概100M 的样子。

服务器端上建议-Xms 和-Xmx 设为同样的大小,这样就不用老是伸缩大小了。

GC 的分代模型

在JVM 的章节中我们介绍了GC 的分代回收的策略。

这里的某个JVM 实现划分为 young, old, permanet.

young 代

据说这一代的对象采用的复制收集算法。

old 代

young 代活过几轮就可以进入到old 代。

具体熬过几代可以进入到这里,是有参数可以设置的。

这里的对象采用标记清理算法。

permanet 代

这里的一般不GC, 里面是一些Class 信息。

Note:

因为没有遇到过实际的问题,希望将来能够有碰到类似的问题并尝试解决的机会。

-Xss

-Xmn

Java Hour 64 JVM 最大内存设置的更多相关文章

  1. 【转】JVM 堆内存设置原理

    堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...

  2. 解决JVM最大内存设置问题

    这里和大家讨论一下如何获得JVM最大内存,在命令行下用java-XmxXXXXM-version命令来进行测试,然后逐渐的增大XXXX的值,如果执行正常就表示指定的内存大小可用,否则会打印错误信息. ...

  3. [转]JVM 堆内存设置原理

    堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...

  4. JVM 堆内存设置原理

    堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...

  5. JVM 堆内存设置原理(转)

    堆内存设置 原理 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定 ...

  6. JVM堆内存设置

    今天碰到了一个题目,讲的是关于堆内存的问题,题目如下   下面哪种情况会导致持久区jvm堆内存溢出? A.循环上万次的字符串处理 B.在一段代码内申请上百M甚至上G的内存 C.使用CGLib技术直接操 ...

  7. Java中的JVM的内存结构

    Java的虚拟机自身结构图: JVM内存结构主要包括两个子系统和两个组件.两个子系统分别是Classloader子系统和Executionengine(执行引擎)子系统:两个组件分别是Runtimed ...

  8. JVM堆内存设置和测试

    1. Java虚拟机内存结构 划分新生代和老年代,这样只在新生代分配内存,从而简化了新对象的分配.另外新生代和老年代使用不同的GC算法,可以更有效的清除不再需要的对象.从上图可以看出,JVM内存由yo ...

  9. 【JAVA】【JVM】内存结构

    虽然jvm帮我们做了内存管理的工作,但是我们仍需要了解jvm到底做了什么,下面我们就一起去看一看 jvm启动时进行一系列的工作,其中一项就是开辟一块运行时内存.而这一块内存中又分为了五大区域,分别用于 ...

随机推荐

  1. jQuery调用后台方法

    前台: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.as ...

  2. PE355

    似乎我和lyx讨论过这题..? LP可解决..(~0.8s)

  3. Graph Valid Tree

    Given n nodes labeled from 0 to n - 1 and a list of undirected edges (each edge is a pair of nodes), ...

  4. struts2 校验demo

    综合练习: <validators> <field name="username"> <field-validator type="requ ...

  5. 在win7-64bit环境下,boa-constructor 0.6.1 的palette面板中没有控件图标的解决方法

    在win7-64bit环境下,boa-constructor 0.6.1 的palette面板中没有控件图标,空白一片.将面板窗口拉大,发现那些图标在很下面的位置,X轴的排列与正常状态一致. 软件环境 ...

  6. c#excel的操作例子

    class MyData//存储行数据 { public List<string> RowData { get; set; } } static void Main(string[] ar ...

  7. eclipse远程调试Tomcat方法[转]

    转载自:http://blog.csdn.net/afgasdg/article/details/9236877 1.Linux中配置tomcat在catalina.sh中添加如下CATALINA_O ...

  8. HDU 5901 Count primes (1e11内的素数个数) -2016 ICPC沈阳赛区网络赛

    题目链接 题意:求[1,n]有多少个素数,1<=n<=10^11.时限为6000ms. 官方题解:一个模板题, 具体方法参考wiki或者Four Divisors. 题解:给出两种代码. ...

  9. 无限轮播的N+2 策略

    N张照片把contentsSize设置为N+2个图片的宽度,例子如下,两端填充如图,当处于一端时,且即将进入循环状态的时候,如第二张图,从状态1滑动到状态2,在滑动结束的时候,将当前的位置直接转到状态 ...

  10. [网络流24题] 太空飞行计划(cogs 727)

    [问题描述] W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合E={E1,E2,-,Em},和进行这些实验需要使用的全部仪 ...