依赖包: import?"runtime" 代码: buf?:=?make([]byte,?1?<<?20)?
runtime.Stack(buf,?true)
fmt.Printf("\n%s",?buf)...
分类:
其他好文 时间:
2015-05-10 10:01:20
阅读次数:
1017
栈: 在函数调用时,第一个进栈的是主函数中函数调用后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。注意静态变量是不入栈的。
当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地址,也就是主函数中的下一条指令,程序由该点继续运行。
当发生函数调用的时候,...
分类:
其他好文 时间:
2015-04-26 09:21:05
阅读次数:
205
当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。
下面是一些查看函数调用栈信息的GDB命令:
backtrace
bt
打印当前的函数调用栈的所有信息。如:
(gdb) bt
#0 func (n=250) at tst.c:6
#1 0x080485...
分类:
数据库 时间:
2015-04-25 18:27:15
阅读次数:
212
异常异常可分为两类: 1.检查异常(检查异常通常是用户错误或不能被程序员所能预见的问题.); 2.运行时异常(运行时异常通常是程序运行过程中可能发生,可以被避免的异常类型.)。异常处理 1.捕获异常,不让它沿着调用栈继续向下抛; 2.捕获异常,让它继续向下抛; 3.不捕获它,让他抛给下面的...
分类:
编程语言 时间:
2015-04-19 14:26:14
阅读次数:
151
前言Java Thread Dump 是一个非常有用的应用诊断工具, 通过thread dump出来的信息, 可以定位到你需要了解的线程, 以及这个线程的调用栈. 如果配合linux的top命令, 可以找到你的系统中的最耗CPU的线程代码段, 这样才能有针对性地进行优化.场景和实践 2.1. 后台....
分类:
其他好文 时间:
2015-04-17 13:32:58
阅读次数:
165
servlet必知细节(二)--servlet执行过程
我们知道,servlet没有main函数,那么,servlet是怎么调用的呢?
实际上,servlet 是由tomcat调用的,tomcat调用servlet程序执行。
由调用栈可以看到,当一个请求过来时,Bootstrap类的main方法调用。
当用户在客户端发起url请求 :http://localhost/s...
分类:
其他好文 时间:
2015-04-16 17:41:19
阅读次数:
144
异常(Exception)是程序执行过程中所产生的问题产生原因:用户输入无效数字、找不到需要打开的文件、在通讯中网络连接中断、JVM发生了内存溢出异常的三个种类:检查异常、运行时异常、错误(类似异常、无法控制)异常(Exception)处理:捕获异常不让它沿着调用栈继续向下抛出、 捕获并继续向下抛出...
分类:
其他好文 时间:
2015-04-16 01:18:30
阅读次数:
242
这里代码写的比较随意,直接使用数组下标作为索引,而结点就是用0到n-1来表示。类似于递归调用的思想(感觉就是把递归调用里面的调用栈用简单的栈数组来替代一下)。这里对于栈顶的元素,如果它为白色,则全局时间变量加一,且把它邻接链表里的白色节点全部入栈;而如果栈顶元素已经是灰色,就把它变成黑色,时间全局变...
分类:
其他好文 时间:
2015-04-15 16:22:09
阅读次数:
110
这篇blog试图说明这么一个问题,当一个c函数被调用时,一个栈帧(stack frame)是如何被建立,又如何被消除的。这些细节跟操作系统平台及编译器的实现有关,下面的描述是针对运行在Linux的gcc编译器而言的。c语言的标准并没有描述实现的方式。所以,不同的编译器、不同的操作系统都可能有自己的建...
分类:
其他好文 时间:
2015-04-13 22:36:03
阅读次数:
146
栈:存储基本的数据类型,和类的实例的引用(内存地址)。规则:first in,last out(先存进后取出)。局部变量在调用栈中分配内存,当方法执行完成后,这些变量就被抛弃了。堆:存放动态产生的数据,比如 new出来的对象,而且只保存对象的成员变量。常量池:例:String str = "abc"...
分类:
编程语言 时间:
2015-04-11 13:07:43
阅读次数:
146