JVM的内存区域划分
学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?
由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分...
分类:
其他好文 时间:
2014-06-04 21:44:47
阅读次数:
325
6 调用栈实例分析 本节通过代码实例分析函数调用过程中栈帧的布局、形成和消亡。6.1 栈帧的布局
示例代码如下: 1 //StackReg.c 2 #include 3 4 //获取函数运行时寄存器%ebp和%esp的值 5 #define
FETCH_SREG(_ebp, _esp) ...
分类:
编程语言 时间:
2014-06-04 19:30:54
阅读次数:
420
1、block引用局部变量的时候,该变量会作为常量编码到block中,在block中不能被修改。2、使用
__block修饰的局部变量,不会作为常量被编码到block中,故而在block中可以被修改。3、在block中引用一个局部的Objective-C对象的时候,该对象会被retain。4、如果不...
分类:
其他好文 时间:
2014-06-04 19:01:45
阅读次数:
224
议题:快速排序实现之五(非递归实现,短序列优先处理,减少递归栈大小)分析:算法原理:此算法实现适用于系统栈空间不足够快速排序递归调用的需求,从而使用非递归实现快速排序算法;使用显示下推栈存储快速排序中的每一次划分结果
(将left和right都压入堆栈),并且首先处理划分序列较短的子序列(也就是在得...
分类:
其他好文 时间:
2014-06-03 08:23:29
阅读次数:
367
这个问题一般在做.net开发网站时候会遇到,我就是在那个时候遇到的 访问 IIS 元数据库失败
解决方法 现象如下:访问 IIS 元数据库失败。 说明: 执行当前 Web
请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息: System...
分类:
数据库 时间:
2014-06-03 08:00:44
阅读次数:
216
Off by One根据 Halvar Flake 在“Third Generation
Exploitation”中的描述,漏洞利用技术依攻击难度从小到大分为三类:1. 基础的栈溢出利用,可以利用返回地址轻松劫持进程,植入 shellcode,如对
strcpy、strcat 等函数的攻击。2. ...
分类:
编程语言 时间:
2014-05-30 22:16:39
阅读次数:
399
首先堆栈和堆(托管堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB)堆栈stack1、堆栈中存储值类型2、堆栈实际上是向下填充,即由高内存地址指向低内存地址填充3、堆栈的工作方式是先分配内存的变量后释放(先进后出原则)4、堆栈中的变量是从下向上释放,这样就保证了堆栈中先进后出的...
分类:
Web程序 时间:
2014-05-30 00:28:12
阅读次数:
540
递归函数具有很好的可读性和可维护性,但是大部分情况下程序效率不如非递归函数,所以在程序设计中一般喜欢先用递归解决问题,在保证方法正确的前提下再转换为非递归函数以提高效率。函数调用时,需要在栈中分配新的帧,将返回地址,调用参数和局部变量入栈。所以递归调用越深,占用的栈空间越多。如果层数过深,肯定会导致...
分类:
其他好文 时间:
2014-05-29 23:14:47
阅读次数:
420
MINA学习汇总Apache Mina Server
是一个网络通信应用框架,用于开发高性能和高可用性的网络应用程序。它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA
对象的序列化服务、虚拟机管道通信服务等),Mina 提供了事件驱动、异步(Mina 的异步IO 默认...
分类:
其他好文 时间:
2014-05-29 16:56:37
阅读次数:
334
同步服务为每个请求创建单一线程,由此线程完成请求任务:接收消息,处理消息,返回数据;这种情况下服务器资源对所有入栈请求开放,服务器资源被所有入栈请求竞争使用,如果入栈请求过多就会导致服务器资源耗尽宕机,或者导致竞争加剧,资源调度频繁,服务器资源利用效率降低。异步服务则可以分别设置两个线程队列,一个专...
分类:
其他好文 时间:
2014-05-29 16:55:36
阅读次数:
293