-
- 2014-05-12
- 英语
学习英语第十二周
标签:英语
阅读英文原著
Book Time Progress Harry Potter And The Goblet of Fire 2014.05.05 ~ 2014.05.11 732/734 -
- 2014-05-05
学习英语第十周至第十一周
标签:英语
阅读英文原著
Book Time Progress Harry Potter And The Goblet of Fire 2014.04.21 ~ 2014.05.04 312/734 -
- 2014-05-05
- 英语
学习英语第十周至第十一周
阅读英文原著
Book Time Progress Harry Potter And The Goblet of Fire 2014.04.21 ~ 2014.05.04 312/734 -
- 2014-04-28
- 技术  java  虚拟机
使用JVMTI获取Java多线程程序指令执行次序
在Java多线程程序中,由于线程调度,指令间的次序在每次运行时都可能不相同,有时候,我们需要得到指令次序,用来分析程序的行为。这样细粒度的底层行为用一般方法很难完成,我们需要借助 JVM Tool Interface,即JVMTI,来帮助我们获取Java虚拟机执行时的信息。本文先介绍编写JVMTI程序的基本框架,然后介绍如何使用JVMTI来获取多线程程序中指令之间的次序。
JVMTI简介
JVMTI是用于编写开发与监视工具的编程接口,使用它可以检查并控制运行于Java虚拟机上的程序。使用它可以完成性能分析,调试,监视(monitoring),线程分析,覆盖分析(coverage analysis)等工具。
使用JVMTI可以编写出一个agent。在运行Java程序时,指定这个agent,那么当虚拟机运行程序时,如果agent中指定的一些事件发生,虚拟机就会调用agent中相应的回调函数。JVMTI提供了一系列可以指定的事件,以及获取虚拟机中信息的函数接口。
Read More ... -
- 2014-04-21
- 技术  c语言  计算机系统
对C语言中的static关键字的深入理解
在阅读一些项目源代码时,我发现很多时候,会把函数和变量声明为static,所以,很好奇为什么要这样做,于是有了下面这篇文章。
基本概念
使用static有三种情况:
- 函数内部static变量
- 函数外部static变量
- static函数
函数内部的static变量,关键在于生命周期持久,他的值不会随着函数调用的结束而消失,下一次调用时,static变量的值,还保留着上次调用后的内容。
Read More ...