假设你要观察JVM进程消耗的堆内存,通过命令工具jmap或可视化工具jvisualvm.exe。JVM这些参数的默认启动值。假设你想知道JVM内存分配策略,最开始手动设置这些参数。通过JDK统计结果,进行对照,就比較easy理解这些内存分配的理论知识。执行环境是win7 32位操作系统,JDK1.7...
分类:
其他好文 时间:
2015-07-12 20:19:37
阅读次数:
314
记录下常用的linux下 jmeter jvm参数修改,打开jmeter安装目录/bin/jmeter(非jmeter.sh) 1. 修改默认堆内存大小 #默认的 HEAP="-Xms512m -Xmx512m" ,#修改后HEAP="-Xms1024m -Xmx1024m"2. 增加jmx...
分类:
其他好文 时间:
2015-07-10 14:55:00
阅读次数:
442
什么时候使用静态?
要从两方面下手:
因为静态修饰的内容要有成员变量和函数。
什么时候定义静态变量(类变量)呢?
当对象中出现共享数据时,该数据被静态所修饰。
对象中的特有数据要定义成非静态存在于堆内存中。
什么时候定义静态函数呢?
当功能内部没有访问到非静态数据(对象特有数据),那么该功能就可以定义成静态的;
例如:
class Person
{
String...
分类:
其他好文 时间:
2015-07-09 18:10:26
阅读次数:
133
1.我们都知道对于基本数据类型可以通过“==”进行内容的比较 例如 :int x=10; int y=10; System.out.println("x==y------->"+x==y) /-----------> true;2.对于引用类型(即对象),它的值是堆内存中的地址...
分类:
其他好文 时间:
2015-07-08 22:05:45
阅读次数:
111
Java堆内存(heap memory)的十个要点:1. Java堆内存是操作系统分配给JVM的内存的一部分。2. 当我们创建对象时,它们存储在Java堆内存中。3. 为了便于垃圾回收,Java堆空间分成三个区域,分别叫作New Generation, Old Generation或叫作Tenure...
分类:
编程语言 时间:
2015-07-07 16:11:08
阅读次数:
121
Java-初始化过程
一 对象的初始化过程
1,JVM将class加载内存
2,静态代码块会执行(没有就跳过),给该类初始化
3,开辟堆内存空间,分配内存地址
4,私有成员变量先默认初始化,
5,对对象进行显示初始化
6,然后构造代码块初始化(没有就跳过)
7,构造函数初始化
8,将内存地址赋值给栈内存中的p(对象)变量
二 对象调用成员
1,对象在堆内存
2,类变量在栈...
分类:
编程语言 时间:
2015-07-06 18:06:17
阅读次数:
168
先看一下JVM的内存模型: ? ? 从大的方面来讲,JVM的内存模型分为两大块: ? 永久区内存(?Permanent space?)和堆内存(heap space)。 ? 栈内存(stack space)一般都不归在JVM内存模型中,因为栈内存属于...
分类:
其他好文 时间:
2015-07-06 12:36:37
阅读次数:
105
如今,试验组的同事寻找新能源我看到一个奇怪的现象。一个tomcat应用,内只有一个简单的jsp页面,和这个jsp无论是什么页java代码(我想用这个jsp在她的网页测试server一对tomcat的最大QPS)。可是用loadrunner压測了几分钟之后。分配了1024M堆内存的tomcat竟然.....
分类:
Web程序 时间:
2015-07-05 21:15:00
阅读次数:
199
在C++的学习中,采用模板类,而采用虚函数实现多态性,达到通用的目的。结点类数据域被改造为指针,而把数据放在一个抽象类中,由指针与之建立联系。
采用虚函数实现多态性,达到通用的目的。堆内存的分配与释放,关键不是创建,而是释放!
要特别仔细揣摩堆内存的分配与释放,删除一个结点时系统自动调用结点类析构函数释放结点占用的动态内存,而结点释放时系统自动调用数据域类析构函...
分类:
编程语言 时间:
2015-07-05 18:37:01
阅读次数:
185
1,堆是什么? 堆的逻辑结构是一颗完全二叉树,但物理结构是顺序表(一维数组)。同时,此处的堆不要与JAVA内存分配中的堆内存混淆。这里讨论的是数据结构中的堆。 参考:计算机中的堆是什么? 2,数组实现堆的优势及特点 由于堆从逻辑上看是一颗完全二叉树,因此可以按照层序遍历的顺序将元素放入一维数组中。注...
分类:
其他好文 时间:
2015-07-05 18:32:32
阅读次数:
125