动态内存分配堆内存分配与释放C/C++定义了四个内存区间:代码区,全局变量与静态变量区,局部变量区(栈区),动态内存区(堆区)通常定义变量(或对象),编译器在编译时都可以根据该变量(或对象)的类型知道所需内存空间的大小,从而系统在适当的时候为他们分配确定的存储空间。这种内存分配称为静态存储分配。有些...
分类:
其他好文 时间:
2014-06-29 15:33:25
阅读次数:
246
1.线程 也称为轻量级进程,每个线程有自己的堆栈、程序计数器、局部变量。与进程相比,进程中的线程之间隔离程度要小2.Java实现①implements
Runnable②extends Thread一般推荐①3.sleep()、yield()sleep()方法对当前线程操作,指定以毫秒为单位的线程最...
分类:
编程语言 时间:
2014-05-30 12:38:41
阅读次数:
285
一、寄存器的英文全称AH&AL=AX(accumulator):累加寄存器
BH&BL=BX(base):基址寄存器 CH&CL=CX(count):计数寄存器 DH&DL=DX(data):数据寄存器
SP(Stack Pointer):堆栈指针寄存器 BP(Base Pointer):基址指针寄...
分类:
其他好文 时间:
2014-05-28 19:09:52
阅读次数:
300
1 // 这段代码显示,在C语言修改函数的返回地址 2 int test1() 3 { 4
return 0; 5 } 6 7 int test2(int a) 8 { 9 *(&a-1) = (int)test1; //
将返回地址修改为test1 10 retu...
分类:
编程语言 时间:
2014-05-28 15:25:28
阅读次数:
320
A Stack is a data-structure that You can only add
an element to the top of the Stack, andYou can only read or remove an element
also from the top.Plea...
分类:
编程语言 时间:
2014-05-26 17:10:21
阅读次数:
540
进程
1 进程的含义:
1.1 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。
1.2 另一个是地址空间,它包含所有可执行模块或DL L 模块的代码和数据。它还包含动态内存分配的空间。如线程堆栈和堆分配空间。
2 操作系统启动应用程序的步骤
2.1 调用C/c++运行时的启动函数
启动函数总共4种,WinMainC...
function prompt() {
var answer = prompt("What is your name","")
if (answer) {
alert("Hello, " + answer + "!");
}
}
提示堆栈溢出。我就纳闷了。
反复测试之后,发现...
分类:
Web程序 时间:
2014-05-25 21:58:48
阅读次数:
268
现在有一个c程序:打印了abcdefgh这8个字母的十六进制。现在试试赋给output
全26个字母(超了26-8=18个)看看:只打印了前8个字母,并有错误信息。查看详细错误信息:Offset:706f6e6d代表的是溢出的ponm这几个字母的十六进制数。为什么会这样呢?先明确两个概念:中断、堆栈...
分类:
其他好文 时间:
2014-05-25 18:43:16
阅读次数:
262
jvm性能调优的目地:1)控制jvm的堆栈大小。比如当你的程序年轻代对象在某个时间段产生的比较多的时候,就需要控制年轻代的堆大小。同时还要控制总的JVM大小避免内存溢出2)控制GC的行为。GC是一个后台处理,但是它也是会消耗系统性能的,因此要根据运行程序的特点来更改GC行为。3)控制jvm线程的内存分配。如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的。堆大小设置-Xms 初始堆...
分类:
其他好文 时间:
2014-05-25 18:22:43
阅读次数:
272
进程结构
Linux0.12中的每个进程都有如下的结构:
在gdt中占有两项,一项是tss段描述符,一项是ldt段描述符。
在task数组中占有一项,指向一页物理内存,该物理内存低端是进程控制块task_struct(里面包括tss段和ldt段),其余部分是进程的内核态堆栈。
在页目录表和页表中设置有相关项。
Linux0.12中,最多只有64个进...
分类:
系统相关 时间:
2014-05-25 18:19:08
阅读次数:
329