##5.1 Java虚拟机内存模型## Java虚拟机内存模型是Java程序运行的基础。JVM将其内存数据分为程序计数器,虚拟机栈,本地方法栈,Java堆和方法区等部分。 **程序计数器**:用于存放下一条运行的指令; **虚拟机栈和...
分类:
其他好文 时间:
2015-05-09 23:44:50
阅读次数:
288
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】
在此之前我们使用的汇编代码示例都是从第一条指令开始,直到最后最后一条指令程序退出。但实际上和高级语言类似,汇编代码也提供指令来改变程序处理数据方式。
正常情况下,程序要执行要执行的下一条指令是在指令指针寄存器中,指令指针确定程序中...
分类:
系统相关 时间:
2015-05-09 16:32:58
阅读次数:
319
1 #include 2 #include 3 #include 4 #define MAX 100010 /*点数*/ 5 int First[MAX]; /*First[x]:x表示头结点为x,First[x]表示下一条边的编号*/ 6 using namespace std; 7 ...
分类:
其他好文 时间:
2015-04-28 17:48:38
阅读次数:
136
栈: 在函数调用时,第一个进栈的是主函数中函数调用后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。注意静态变量是不入栈的。
当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地址,也就是主函数中的下一条指令,程序由该点继续运行。
当发生函数调用的时候,...
分类:
其他好文 时间:
2015-04-26 09:21:05
阅读次数:
205
JVM的内存空间:1. 寄存器 (Registers):最快的保存区域,位于处理器内部,由编译器分配。主要作用是记录当前线程所执行的字节码的行号。字节码解释器工作时就是通过改变当前线程的程序计数器选取下一条字节码指令来工作。任何分支、循环、方法调用、判断、异常处理、线程等待以及恢复线程、递归等都是通...
分类:
编程语言 时间:
2015-04-20 18:16:15
阅读次数:
204
1.
异常来自于CPU本身,是主动产生的,而中断来自于外部设备,是中断源发起的,CPU是被动的
2.
异常分为3类:错误,陷阱,中止
错误类异常通常可以被纠正,如内存页错误,错误异常处理程序返回时,CPU执行的第一条指令仍是刚才导致异常的那条指令,所以如果导致异常的情况没有消除,会再次产生异常
陷阱类异常会执行紧接关要执行的下一条指令,如INT3
中...
分类:
其他好文 时间:
2015-04-15 13:31:00
阅读次数:
142
B跳转指令:它是个相对跳转指令,其机器码格式如下:[31:28]位是条件码;[27:24]位为“1010”(0xeaffffff)时,表示B跳转指令,为“1011”时,表示BL跳转指令;[23:0]表示偏移地址。使用B或BL跳转时,下一条指令的地址是这样计算的:将指令中24位带符号的补码立即数扩展为...
分类:
其他好文 时间:
2015-04-09 00:56:58
阅读次数:
148
《链接、装载与库》里的一个错误:关于调用栈按照原文中描述做了一个PPT:每次执行push指令时,esp都会减4(因为栈是向低地址增长的),每次pop时esp都会加4。指令:push a指令:push b指令: 1.把main方法当前指令的下一条指定地址(即return address))push.....
分类:
其他好文 时间:
2015-04-06 23:15:40
阅读次数:
231
这句话感觉道出了GC的本质 1.程序计数器(Program Counter Register) 程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改为这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基...
分类:
编程语言 时间:
2015-04-04 12:09:53
阅读次数:
204
线程间通信,fork(),waitpid(),signal,捕捉信号,用c执行shell命令,共享内存,mmap实验要求:1.简单shell: 通过c实现基本的命令行shell操作,实现两个函数,main()和setup().setup读取用户的下一条指令(最多80个字符),然后分解为独立的标记,并...
分类:
编程语言 时间:
2015-04-01 09:25:58
阅读次数:
648