一:截图二:快速排序详解快速排序法(QuickSort)是一种非常快的对比排序方法。它也Divide-And-Conquer思想的实现之一。自从其产生以来,快速排序理论得到了极大的改进,然而在实际中却十分难以编程出正确健壮的代码。本文将对快速排序算法的基本理论和编程实践方面做作一个全面的讲解。在本文...
分类:
其他好文 时间:
2014-06-17 21:10:17
阅读次数:
244
http://www.objc.io/站点主要以杂志的形式,深入挖掘在OC中的最佳编程实践和高级技术,每个月探讨一个主题,每个主题都会有几篇相关的文章出炉,2013年7月份的主题是并发编程,今天挑选其中的第2篇文章(Concurrent
Programming: APIs and Challenge...
分类:
编程语言 时间:
2014-06-05 13:28:44
阅读次数:
462
Linux下很多命令用起来真相当方便,尤其是进行批处理操作时。(话说感觉这种程序也不复杂,windows咋一直不搞一个好用的shell呢)这里列出一些常用shell操作的应用,具体命令的用法与解释就不列了,网上有很多很好的教程。###
批量重命名 假如当前目录下有若干.wma文件,我希望把它们批量转...
分类:
系统相关 时间:
2014-05-29 16:24:52
阅读次数:
327
java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说:写道给线程安全下定义比较困难。存在很多种定义,如:“一个类在可以被多个线程安全调用时就是线程安全的”。
静态变量:线程非安全。静态变量即类变量,位于方法区,为所有对...
分类:
编程语言 时间:
2014-05-26 13:30:48
阅读次数:
467
ReentrantReadWriteLock是一个读写锁,它提供了一个读锁和一个写锁,读锁用于只读操作,而写锁用于写入操作,读操作可以并行进行,而写操作则是互斥的。读锁和写锁的分离在一些写少读多的应用中可以带来性能上的提升,例如:一个hashmap在构造之后很少修改,却经常进行查找操作,这样查找操作就可以并发进行从而提高性能。这篇文章首先为你介绍读写锁的基本特性,在具体应用中需要解决的问题,然后介...
分类:
其他好文 时间:
2014-05-21 16:09:03
阅读次数:
304
ReentrantLock是一个可重入的互斥锁,实现了接口Lock,和synchronized相比,它们提供了相同的功能,但ReentrantLock使用更灵活,功能更强大,也更复杂。这篇文章将为你介绍ReentrantLock,以及它的实现机制。
ReentrantLock介绍
通常,ReentrantLock按下面的方式使用:
public class ReentrantLockTest...
分类:
其他好文 时间:
2014-05-14 20:02:26
阅读次数:
397
你是否觉得锁是一种很神奇的东西,在并发编程中,你只需要将你的代码加上锁,就能保证代码是线程安全的(当然现实和感觉有很大差别,代码的线程安全是非常复杂的),那么,这些都是怎么做到的呢?当存在大量线程同时竞争锁时,竞争失败的锁会怎么做呢?锁又是怎么保证这一切高效的执行的呢?这篇文章将为你回答这些问题,首先我将介绍怎样实现一个正确的锁,然后介绍高效的锁应该具备的条件,最后将介绍两种常用的队列锁算法:CL...
分类:
其他好文 时间:
2014-05-12 06:49:30
阅读次数:
394
简介看了深入理解Android网络编程感觉不错,今天对Android网络编程进行了要点记录。内容Android基于网络技术和编程实践 要点 定义 描述 IP协议用于报文交换网络的一种面向数据的协议 TCP协议传输控制协议,传输层通信协议。 UDP协议用户数据报协议,传输层协议。 SMTP协议简单邮件传输协议 SOCKET 套接字应用层与TCP/IP协议族通信的中间...
分类:
移动开发 时间:
2014-05-09 00:58:37
阅读次数:
581
容易发现Cocoa Foundation
中提供了一些可变参数的方法,如:NSLog(NSString *format, ...)
在实际的编程实践中,我们也需要自己实现可变参数的方法。在Objc中,是依靠原生C库来的实现的。请看示例: 1 - (void) doLog:(NSString
*)fo...
分类:
其他好文 时间:
2014-05-07 18:50:16
阅读次数:
312
AbstractQueuedSynchronizer,简称AQS,是java.util.concurrent包的synchronizer的基础框架,其它的synchronizer(包括Lock、Semaphore、CountDownLatch、FutureTask等)都是以它作为基础构建的,这篇文章我将对AQS的框架结构作出介绍,包括它对同步状态的管理,功能流程,等待队列的管理等,并涉及到一些实现...
分类:
其他好文 时间:
2014-04-30 22:12:38
阅读次数:
421