方法区用于存放Class的相关信息,如类名、访问修饰符、常量池、字段描述、方法描述等。对于这个区域的测试,基本的思路是运行时产生大量的类去填满方法区,虽然直接使用JavaSEAPI也可以动态产生类(如反射时的GeneratedConstructorAccessor和动态代理等),在本代码中借助CGLib直..
分类:
其他好文 时间:
2014-07-28 16:44:04
阅读次数:
281
DirectMemory容量可通过-XX:MaxDirectMemorySize指定,如果不指定,则默认与Java堆的最大值(-Xmx指定)一样。代码中越过了DirectByteBuffer类,直接通过反射获取Unsafe实例并进行内存分配(Unsafe类的getUnsafe()方法限制了只有引导类加载器才会返回实例,也就是设计者希望只有r..
分类:
其他好文 时间:
2014-07-28 16:43:04
阅读次数:
281
1 桟区(stack):由编译器自动分配和释放,存放函数的参数值,局部变量的值,其操作方式类似于数据结构中的栈。
若申请的内存小于系统所剩内存则成功,否则就会发生栈溢出错误。
栈的增长方向是向下的,通常栈的初始化指针指向内存的最高地址,它是连续的。系统自动分配,因此速度很快。
在函数调用时,第一个进栈的是主函数的下一条指令的地址,然后是各个函数的参数,参数从右向左进栈...
分类:
其他好文 时间:
2014-07-28 16:19:33
阅读次数:
238
数组乘积(15分)输入:一个长度为n的整数数组input输出:一个长度为n的整数数组result,满足result[i] = input数组中除了input[i]之外所有数的乘积(假设不会溢出)。比如输入:input ={2,3,4,5},输出result = {60,40,30,24}程序时间和空...
分类:
移动开发 时间:
2014-07-28 14:35:13
阅读次数:
187
1、返回局部变量地址将引起内存错误
2、临时空间过大:操作系统在加载某个应用程序时,都将为其分配一定大小的栈空间,若申请过大的局部变量,可能会引起栈溢出问题。
3、src 和 dst 内存覆盖:在进行字节内存复制时,常会出现这一问题。因为部分系统库函数并没有提供内存覆盖的检测功能,从而导致错误。
如下即是源内存区和目的内存区覆盖的示例:
#include
#inc...
分类:
其他好文 时间:
2014-07-27 11:26:02
阅读次数:
185
Implement int sqrt(int x).Compute and return the square root of x.线性查找会TLE。用二分查找。注意溢出的处理。全部都改成long long. 1 class Solution { 2 public: 3 int sqrt(i...
分类:
其他好文 时间:
2014-07-27 10:41:02
阅读次数:
181
就是练个手,白皮书的小东西。原题是要写N!/(M!*(N-M)!)他是先写F(n)的N!然后F(N)/(F(M)*F(N-M))但是这样会溢出。改一下,主要是习惯MAIN()外写函数然后调用#includeint f(int n,int m){int i,sum=1;for(i=n-m;i>0;i+...
分类:
其他好文 时间:
2014-07-26 13:48:55
阅读次数:
224
由于在HotSpot虚拟机中并不区分虚拟机栈和本地方法栈,因此对于HotSpot来说,-Xoss参数(设置本地方法栈大小)虽然存在,但实际上是无效的,栈容量只由-Xss参数设定。关于虚拟机栈和本地方法栈,在Java规范中描述了两种异常:如果线程请求的栈深度大于虚拟机所允许的最大深度,将..
分类:
其他好文 时间:
2014-07-26 03:28:27
阅读次数:
179
周氏一族,整理技术文档,给下一代留点教程......采用系统默认最下化安装的同学都知道,基本上home的分区大得要命,可现实中,我们home不需要那么大,我们的大部分数据是放在/目录下,因此需要调整大小,不然在生产环境当中,容易导致硬盘分区溢出,没有写入权限。先来看看我的..
分类:
系统相关 时间:
2014-07-26 03:27:07
阅读次数:
621
今天发现正在做的项目,时不时的会报错:dalvikvm heap out of memory on a 7458832-byte allocation (堆分配的内存溢出)为什么会内存溢出呢?我以前从未遇见这种情况。后来在网上查了查资料,还是挺多的。怎么说呢?因为Android开发基本上是以java...
分类:
移动开发 时间:
2014-07-24 22:32:12
阅读次数:
281