堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。...
分类:
编程语言 时间:
2014-09-07 10:59:24
阅读次数:
323
Level2:firecracker(30分)bufbomb中存在一个bang函数,intglobal_value=0;
voidbang(intval)
{
if(global_value==cookie){
printf("Bang!:Yousetglobal_valueto0x%x\n",global_value);
validate(2);
}else
printf("Misfire:global_value=0x%x\n",global_value);
exit(0);
}与..
分类:
移动开发 时间:
2014-09-07 03:23:15
阅读次数:
381
Reverse Integer 解题总结
1.把integer转为String,利用StringBuilder有reverse方法;
2.构造函数StringBuilder如果是int参数代表是capacity而非想象中的那样;
3.难点是判断溢出问题(虽然不判断可以AC通过),简单的方法是利用long来保留翻转之后的结果,而后和 Integer.MIN_VALUE, Integer.M...
分类:
其他好文 时间:
2014-09-06 21:20:14
阅读次数:
227
判断一个 int 是否为回文的有一点要注意的是:int x;int _x = abs(x);对 x 取绝对值的时候,会发生溢出。比如 x = INT_MIN 即 -2147483648 而 INT_MAX 为2147483647其实,负数不是回文数
分类:
其他好文 时间:
2014-09-06 21:08:53
阅读次数:
163
题目说明:开启漏洞之旅,从基础做起。近日,下载了CMU为《深入理解计算机系统》(CSAPP)一书教学配合的缓冲区溢出实验BufferBomb,重温了栈溢出的原理。题目提供了一个有漏洞溢出的程序bufbomb,包括五个Level,在每个Level中要求返回指定的函数、修改全局变量、执行Shellcod..
分类:
移动开发 时间:
2014-09-06 18:47:44
阅读次数:
435
缓存(Cache)就是一块用来存放数据的内存空间。主要作用是暂存数据处理结果,并提供下次访问使用。
缓存的使用非常普遍,比如,浏览器都会在本地缓存页面,从而减少HTTP 的访问次数。又如服务器系统开发时,设计人员为一些核心的 API 加上缓存,从而提高系统的缓存时间。
最简单的缓存实现可以使用 HashMap 。当然,这样做会有很多问题,如何时清理无效的数据;如何防止缓存数据过多而导致内存溢出等。一个稍好的方案是使用 WeakHashMap,使用弱引用维护一张哈希表,而且可以...
分类:
其他好文 时间:
2014-09-06 18:45:14
阅读次数:
314
在编程的学习过程中,愈发感觉到了女性思维在这方面的局限性。背景介绍: 为了学习JNI中C++对Java的调用,在阅读《JNI技术手册》的同时加以练习。但根据示例代码编写过程中总出现各种奇怪的问题(一度后悔自己装了win7 64位系统,而电脑之前是预装win8 32位的...)。由于Java部分的代....
分类:
编程语言 时间:
2014-09-06 10:55:53
阅读次数:
428
模拟发现,每个元素求和时,元素的系数是二项式系数,于是ans=sum(C(n-1,i)*a[i]/2^(n-1)),但是n太大,直接求会溢出,其实double的范围还是挺大的,所以可以将组合数转化成对数:e^(lnC(n-1, k)*A[k]/(2^n-1) ) ==> e^( ln C(n-1,k...
分类:
其他好文 时间:
2014-09-05 19:54:11
阅读次数:
196
在Java中,它的内存管理包括两方面:内存分配(创建Java对象的时候)和内存回收,这两方面工作都是由JVM自动完成的,降低了Java程序员的学习难度,避免了像C/C++直接操作内存的危险。但是,也正因为内存管理完全由JVM负责,所以也使Java很多程序员不再关心内存分配,导致很多程序低效,耗内存。...
分类:
编程语言 时间:
2014-09-05 17:49:21
阅读次数:
251