jstack是java虚拟机自带的一种堆栈跟踪工具。jstack位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap
size和垃圾回收状况的监控。
Jstat可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
1、Jstack命令格式
jstack [ option ] pid
2、常用参数
-F当’js...
分类:
Web程序 时间:
2015-01-21 16:34:06
阅读次数:
210
函数参数的传递原理
函数参数在内存中是以栈的形式存取,从右至左入栈。
参数在内存中存放格式:
在进程中,堆栈地址是从高到低分配的。当执行一个函数的时候,将参数列表入栈,压入堆栈的高地址部分,然后入栈函数的返回地址,接着入栈函数的执行代码,这个入栈过程,堆栈地址不断递减。
总之,函数在堆栈中的分布情况是,地址从高到低,依次是:函数参数列表,函数返回地址,函数执...
分类:
编程语言 时间:
2015-01-21 15:13:50
阅读次数:
235
前言
我们在运行xcode工程时,有时候会遇到”libc++abi.dylib: terminate_handler unexpectedly threw an exception”错误,app莫名其妙就crash掉了,在控制台输入bt命令,查看调用堆栈,结果也是一头雾水:
分析
现在唯一的信息点是libc++abi.dylib,这个库到底是做什么的?从后缀看,是一个动态库,那么...
分类:
编程语言 时间:
2015-01-21 11:38:22
阅读次数:
2645
1,LinkedList:
-1,实现了List接口,允许null元素。LinkedList还为链表开头和结尾提供了操作,所以使用LinekedList可以用作堆栈、列队或双端队列。
-2,LinkedList实现Deque接口,提供了基于队列的先进先出序列的实现。
-3,所有的操作都是按照双重链表来实现的。
-4,操作为非线程安全的,如果多个线...
分类:
其他好文 时间:
2015-01-21 10:14:32
阅读次数:
187
[转]coredump简介与coredump原因总结http://blog.sina.com.cn/s/blog_54f82cc201013srb.html什么是coredump?通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储...
分类:
其他好文 时间:
2015-01-20 19:55:57
阅读次数:
121
在写Android程序时,经常碰到在模拟器和调试器中无法捕捉的exception。有时自己运行好好的程序到了其他机器上就出现了问题。虽然GooglePlay有错误堆栈上传功能,但是没有办法把整个运行的过程记录下来。为此我写了一个LogDog类来试图解决这个问题。
importjava.io.Buffere..
分类:
移动开发 时间:
2015-01-20 18:33:23
阅读次数:
227
将一个任务分成若干段,确保每段需要CPU 关照时长小于定时器中断节拍长,这样CPU在处理这些长任务时,就不会影响到其它任务的执行。 Easy51RTOS 正是基于以上程序设计思想,总结完善后提出一种耗费资源特别少并且不使用堆栈的多线程操作系统,这个操作系统以纯C语言实现,无硬件依赖性,需要单片机的资...
分类:
其他好文 时间:
2015-01-20 13:33:00
阅读次数:
464
C++的4种内存分配方式 :堆、栈、自由存储区、全局/静态存储区和常量存储区 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期....
分类:
编程语言 时间:
2015-01-20 13:26:01
阅读次数:
281
JVM简介JVM(Java虚拟机)是一个虚拟的机器,在实际的计算机上通过软件模拟来实现。JVM有自己的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM包括一套字节码指令集、一组寄存器、一个栈、一个堆和一个存储方法域。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的....
分类:
其他好文 时间:
2015-01-19 23:19:10
阅读次数:
249