我们的世界充斥着大量的不确定性和无法预知的事件,黑天鹅现象告知我们通过观察或经验获得的知识具有严重的局限性和脆弱性,仅仅一次的完全不同的发现就足以颠覆根深于人们思想深处的结论。...
分类:
其他好文 时间:
2014-06-05 02:44:24
阅读次数:
306
题目描述 Description
任何一个正整数都可以用2的幂次方表示.
例如:137=2^7+2^3+2^0
同时约定次方用括号来表示,即a^b可表示为a(b)
由此可知,137可表示为:2(7)+2(3)+2(0)
进一步:7=2^2+2+2^0 (2^1用2表示)
3=2+2^0
所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0)
又...
分类:
其他好文 时间:
2014-06-04 22:43:15
阅读次数:
256
一、死锁
所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。
百科百科
当两个以上的运算单元,双方都在等待对方停止运行,以取得系统资源,但是没有一方提前退出时,这种状况,就称为死锁。维基百科
1. 顺序死锁
最少有两个锁,一个线程获取到A锁需要获取B锁才能进行操作,而另外一个线程获取到了B锁,需...
分类:
编程语言 时间:
2014-06-03 03:15:52
阅读次数:
245
一、为什么GUI是单线程化
传统的GUI应用程序通常都是单线程的。
1. 在代码的各个位置都需要调用poll方法来获得输入事件(这种方式将给代码带来极大的混乱)
2. 通过一个“主事件循环(Main Event Loop)”来间接地执行应用程序的所有代码。
如果在主事件循环中调用的代码需要很长时间才能执行完成,那么用户界面就会“冻结”,直到代码执行完成。这是因为只有当执行控制权返回到主事件...
分类:
编程语言 时间:
2014-06-03 01:28:22
阅读次数:
221
看了Linaro提供的开源ARMv8 Linux内核源码,发现ARMv8异常处理与ARMv7及之前的架构有所不同,详细分析之。...
分类:
系统相关 时间:
2014-06-02 23:08:43
阅读次数:
721
我们平常的异常处理是直接在方法中手动捕捉异常,当捕捉到特定异常后,返回特定逻辑视图名。这样的缺点是代码与异常处理耦合太多,一旦要改变异常处理方式,需要修改代码!
struts2提供给了一种更好的方式来处理异常------声明式的方式管理异常处理,我们可以通过再方法里将出现的异常throw出去,抛给struts2框架处理,然后再struts2中默认开启着异常映射功能,该功能在strut...
分类:
其他好文 时间:
2014-05-31 17:46:04
阅读次数:
209