- 博客(5)
- 资源 (5)
- 收藏
- 关注
转载 理解ThreadLocal
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为T
2013-05-19 21:00:56 341
原创 C语言清除输入缓存方法记录
fflush()函数是标准的作法。setbuf(stdin,NULL)是GCC下可用的一种方法。scanf("%*[^\n]%*c")是用扫描集将缓冲区中的字符全部读取来实现清除缓冲区的动作。我最近在ubuntu下写一个程序,涉及到了这方面的问题。用fflush()和setbuf(stdin,NULL)都没有解决掉缓存的问题。 (奇怪的错误,DT地不想调试。)后来,搜到有
2013-04-25 14:29:54 1792
原创 java回调函数
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个
2013-04-25 14:24:25 308
原创 C可变参数
所谓“可变参数列表”就是指函数的形参的数目和类型是不确定的。printf函数就是一个可变参数的函数,第一个参数是格式化字符串,后面可以跟任意数目的参数。而我们平时使用的函数,其参数的数目和类型都是固定的,一旦声明,无法改变。1. 先看一个问题 计算一系列值的平均值,注意:这些值不是保存在数组中的,而是在参数中显示的传递。常见的实现方式可能如下:[c++
2013-04-25 14:19:36 421
转载 java内存分析
java程序内存主要分为了2个部分,包括 stack segment(栈内存区)、heap segment(堆内存区)。 在分析Java程序内存分配情况时,我们从下面这个经常被使用的例子开始吧。 下面程序将打印什么呢? String s1 = new String("abc"); String s2 = new String("abc");
2013-04-25 11:36:46 486
Programming Language Pragmatics, Third Edition
2015-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人