Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:
其他好文 时间:
2015-01-07 20:36:07
阅读次数:
167
11.1.1 重用常见的代码块
一个最好的编程实践,就是避免在多个地方重复相同的代码。如果有两个类似程序,就值得考虑把它们合并成一个;新的程序需要有新的参数,描述代码按照不同于原来的路径。
在函数式编程中,我们有一个强大的武器:函数值作为参数值使用的能力,这使得函数或者方法的参数化更容易。为了演示,假设我们有一个关于城市的信息数据库,我们要用数据生成几份报表。
我们先写一个加载数据的函...
分类:
其他好文 时间:
2015-01-06 15:36:38
阅读次数:
241
目前关于线程安全性没有一个统一的定义,作者自己总结了一个定义,如下:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协调,这个类都能表现出正确的行为,那么就称这个类是线程安全的。在并发编程中,由于不恰当的执行时序而出现不确定的结...
分类:
编程语言 时间:
2014-12-30 11:31:55
阅读次数:
183
介绍 为了提供并发处理效率,把用户的请求连接随机分配到线程池的线程进行处理,hbase也是采用同样的方式处理用户请求的 客户端代码可以参考:基于java.nio.channels的编程实践-I 代码 import?java.io.IOExcepti...
分类:
编程语言 时间:
2014-12-25 11:38:03
阅读次数:
161
对于开发人员来说,正确的编程实践其实非常的重要。这些正确的编程实践决定了你是否能够继续的做正确的事情,以及你是否真的能够懂得什么是软件开发。我相信,并非所有的人都真正的懂得什么是软件开发。即使你就食...
分类:
其他好文 时间:
2014-12-23 00:24:42
阅读次数:
163
服务端代码 import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.chann...
分类:
编程语言 时间:
2014-12-22 11:20:03
阅读次数:
198
看到《js语言精髓与编程实践》中讲解的js语法中运算符的二义性之逗号的二义性,做些笔记 我们先来看看这两个例子: alert(eval('a=(1,2,3);'));//示例1
alert(eval('a=1,2,3;'));//示例2结果是两者都会弹出3,这种用法产生的混乱,是因为逗号“,”既可以...
分类:
Web程序 时间:
2014-12-20 16:47:10
阅读次数:
238
郑海波 2013-07-08问题:有List list1和List list2,两个集合各有上万个元素,怎样查找两个集合中不同的元素呢?问题分析:由于每个list中都有上万个元素,如果用简单的遍历查找算法,那么至少需要10000*10000次判断比较。显然,这样做的效率极低。那么有没有比较好的方案呢...
分类:
其他好文 时间:
2014-12-17 06:43:10
阅读次数:
366
R6对LotusScript有一些改进和增强,自那之后,Notes对象的接口时有补充和更新,但语言本身没有变化。那些改进就包括增加诸如 ArrayGetIndex、ArrayUnique的有用函数。但在编程实践中,还有一些对数组的操作LotusScript没有提供原生的函数,好在 基本上都能自己编写...
分类:
编程语言 时间:
2014-12-16 18:41:04
阅读次数:
257
R6对LotusScript有一些改进和增强,自那之后,Notes对象的接口时有补充和更新,但语言本身没有变化。那些改进就包括增加诸如ArrayGetIndex、ArrayUnique的有用函数。但在编程实践中,还有一些对数组的操作LotusScript没有提供原生的函数,好在基本上都能自己编写。下面的函数中用到的常数都在lsconst.lss或lserr.lss里定义,在脚本前要附加%INCLU...
分类:
编程语言 时间:
2014-12-16 11:45:28
阅读次数:
198