2012年10月11日
摘要: 回顾下,LinkedBlockingQueue和ArrayBlockingQueue在实现上不同点有: 1、ArrayBlockingQueue使用数组存储数据,LinkedBlockingQueue使用单向链表存储数据; 2、ArrayBlockingQueue使用一个可重入锁和这个锁生成的两个条 阅读全文
posted @ 2012-10-11 15:57 duanxz 阅读(1838) 评论(0) 推荐(0)
  2012年10月10日
摘要: 一、CopyOnWriteArraySet简介 1. CopyOnWriteArraySet继承于AbstractSet,这就意味着它是一个集合。 2. CopyOnWriteArraySet包含CopyOnWriteArrayList对象,它是通过CopyOnWriteArrayList实现的。而 阅读全文
posted @ 2012-10-10 15:53 duanxz 阅读(775) 评论(0) 推荐(0)
摘要: 一、CopyOnWriteArrayList简介 为了维护对象的一致性快照,要依靠不可变性(immutability)来消除在协调读取不同的但是相关的属性时需要的同步。对于集合,这意味着如果有大量的读(即get() ) 和迭代,不必同步操作以照顾偶尔的写(即 add() )调用。对于新的 CopyO 阅读全文
posted @ 2012-10-10 11:36 duanxz 阅读(832) 评论(0) 推荐(0)
摘要: Druid.io(以下简称Druid)是2013年底开源出来的, 主要解决的是对实时数据以及较近时间的历史数据的多维查询提供高并发(多用户),低延时,高可靠性的问题。 Druid简介: Druid是一个为在大数据集之上做实时统计分析而设计的开源数据存储。这个系统集合了一个面向列存储的层,一个分布式、 阅读全文
posted @ 2012-10-10 09:08 duanxz 阅读(1463) 评论(0) 推荐(0)
  2012年10月9日
摘要: 1.基础 1.1 时序数据的定义 什么是时间序列数据(Time Series Data,TSD,以下简称时序)从定义上来说,就是一串按时间维度索引的数据。用描述性的语言来解释什么是时序数据,简单的说,就是这类数据描述了某个被测量的主体在一个时间范围内的每个时间点上的测量值。它普遍存在于IT基础设施、 阅读全文
posted @ 2012-10-09 09:59 duanxz 阅读(3851) 评论(0) 推荐(0)
摘要: 一、ConcurrentHashMap简介 HashTable容器在竞争激烈的并发环境下表现出效率低下的原因,是因为所有访问HashTable的线程都必须竞争同一把锁,那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有 阅读全文
posted @ 2012-10-09 09:57 duanxz 阅读(569) 评论(0) 推荐(1)
  2012年10月8日
摘要: 一、ConcurrentHashMap简介 二、ConcurrentHashMap源码分析 2.1、类图结构 2.2、数据结构 1.8中放弃了Segment臃肿的设计,取而代之的是采用Node + CAS + Synchronized来保证并发安全进行实现,结构如下: 只有在执行第一次put方法时才 阅读全文
posted @ 2012-10-08 11:11 duanxz 阅读(1631) 评论(0) 推荐(0)
摘要: 红黑树 红黑树是一种特殊的二叉树,主要用它存储有序的数据,提供高效的数据检索,时间复杂度为O(lgn),每个节点都有一个标识位表示颜色,红色或黑色,有如下5种特性:1、每个节点要么红色,要么是黑色;2、根节点一定是黑色的;3、每个空叶子节点必须是黑色的;4、如果一个节点是红色的,那么它的子节点必须是 阅读全文
posted @ 2012-10-08 10:41 duanxz 阅读(1110) 评论(0) 推荐(0)
  2012年9月28日
摘要: 近来不少朋友发现这样一个问题:C盘中出现pagefile.sys这样一个文件,并且占用的空间也挺大。 pagefile.sys是个什么文件,pagefile.sys可以删除吗。请看下文分析。pagefile.sys是什么文件:pagefile.sys就是虚拟内存(简称为系统分页文件)。是属于系统文件而且还是受保护的系统文件,它在系统中的作用就是当系统的内存不足时系统把需要的预读文件的数据先放在硬盘上保存。pagefile.sys可以删除吗:pagefile.sys文件一般在取消糸统隐藏文件后可见,一般情况下是不能删除的不过也不是没有办法删的pagefile.sys删除方法一:开始(关机的地方) 阅读全文
posted @ 2012-09-28 16:08 duanxz 阅读(27816) 评论(0) 推荐(1)
  2012年9月27日
摘要: eclipse中如何写一个测试私有方法的junit? 假设类Summer定义如下: public class Summer{ private int methodone(String argsone){ //method code ....... return 4; } } 测试如下: public class SummerTest extends TestCase { public void testMethodone(){ Object rightResult = 4; Summer example = new Summer(); Method m = examp... 阅读全文
posted @ 2012-09-27 09:29 duanxz 阅读(800) 评论(0) 推荐(0)
  2012年9月21日
摘要: 编辑器加载中序号 词汇 相关形式 1 detect 过去式:detected 过去分词:detected 现在分词:detecting 第三人称单数:detects 2 follow 过去式:followed 过去分词:followed 现在分词:following 第三人称单数:follows 3 recognition 复数:recognitions 4 recognize 过去式:recognized 过去分词:recognized 现在分词:recognizing 第三人称单数:recogniz... 阅读全文
posted @ 2012-09-21 17:28 duanxz 阅读(213) 评论(0) 推荐(0)
摘要: public class Char_cn {public static void main(String[] args) {// TODO Auto-generated method stubString haha = "我叫兜兜abcd";int true_num = String_length(haha);System.out.println("true" + true_num);int false_num = haha.length();System.out.print("flase" + false_num);}public 阅读全文
posted @ 2012-09-21 11:21 duanxz 阅读(2432) 评论(0) 推荐(0)
  2012年9月20日
摘要: Eclipse中10个最有用的快捷键组合一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。2. ctrl+o:快速outline 如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找功能的话,就用ctrl+o吧。它可以列出 阅读全文
posted @ 2012-09-20 17:19 duanxz 阅读(492) 评论(0) 推荐(0)
  2012年9月12日
摘要: 前言你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。注:你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉得Win 阅读全文
posted @ 2012-09-12 14:40 duanxz 阅读(498) 评论(0) 推荐(0)
摘要: “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。下面就按照各本书的推荐数排列。1. 《代码大全》史蒂夫·迈克康奈尔推荐数:1684“优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码 阅读全文
posted @ 2012-09-12 14:33 duanxz 阅读(401) 评论(0) 推荐(0)
摘要: 除多年编程经验之外,还有什么能区分一个程序员是“老手”还是“新手”?编程技巧当然是一部分,但它绝非是全部。聪明的程序员可能比他们的同行拥有更出众的编程技巧,但那不足以说明他们就是“老手”。同样,仅仅因为拥有10年编程经验也并不意味着他们就是高手。在工作岗位上,拥有多年编程经验也不能说明问题。即便没被炒鱿鱼,那也不能提升你的价值。下面列举的事情是大多数高级程序员都会做的。1.不止掌握一门编程语言我相信有些优秀的程序员只懂(并精通)一门编程语言,但在某种程度上而言,这其实会限制一个人的思维。就像当你手拿一把锤子时,任何东西看起来都像钉子。我认为,知道并成功使用至少一门编程语言,这是程序员从新手走向 阅读全文
posted @ 2012-09-12 14:28 duanxz 阅读(387) 评论(0) 推荐(0)
摘要: 如何激励程序员?关于这个问题,有个内在的矛盾。我想下面这两幅漫画就完美地表达出来了。这是个普遍现象,我也在自己身上发现这个问题了。如果其他程序员告诉你,因为你的代码比较烂,他们正在重写。没有什么比这更激励程序员了。戴夫·托马斯多年前已在他的经典专业发展演讲中说到此问题,引述如下:非常有趣的是,我的一位朋友(他是一家医院的质量控制经理)经常就有关医生方面有着相同的言论:礼貌的请求和胁迫等方法,都毫无用处,(这些方法)常常是有害的。同行的压力和竞争才是关键。Don't try to race sheep,Don't try to herd race horses的确,虽然 阅读全文
posted @ 2012-09-12 14:16 duanxz 阅读(490) 评论(0) 推荐(0)
  2012年9月11日
摘要: 数组对象的push与pop方法分别在数组的尾部添加与删除元素。push方法有一个参数,也就是要添加到数组尾部的元素,而pop方法则没有参数,而是返回从数组尾部删除的元素。见下面的JS代码。JavaScript代码<script type="text/javascript"> var arr = ["HTML","CSS","JavaScript","DOM"]; var arr2 = [1,2,3,4]; arr.push("PHP"); var popped = 阅读全文
posted @ 2012-09-11 09:12 duanxz 阅读(1445) 评论(0) 推荐(0)
摘要: 我们经常会用到这个一样逻辑,判断一个字符串或者数字是否在数组内,很多程序语言都有这样一样专门的函数,比如PHP的in_array()。那么JS有木有呢,很遗憾,JS木有这样的函数,于是想到伟大的JQ是否封装了这个函数,找到了API,JQ的确封装了这个函数jQuery.inArray( value, array ) 搜索数组中指定值并返回它的索引(如果没有找到则返回-1)。value要搜索的值。array一个数组,通过它来搜索。当然,处于学习,自己也去写了这样的函数,有2种代码可以实现,第一种:view plaincopy to clipboardprint?functioninArray1(n 阅读全文
posted @ 2012-09-11 08:47 duanxz 阅读(5991) 评论(0) 推荐(0)
  2012年9月7日
摘要: PPI,英文全称:pixels per inch,即像素每英寸,也叫像素密度,它是描述在水平的和垂直的方向上,每英寸距离的图像包含的像素(pixel)数目。因此PPI数值越高,即代表显示屏能够以越高的密度显示图像。当然,显示的密度越高,拟真度就越高。 PPI是图像分辨率的单位,图像ppi值越高,画面的细节就越丰富,因为单位面积的像素数量更多。PPI也叫图像的采样率(在图像中,每英寸所包含的像素数目)。 第一次接触到PPI,还是看到iPhone4的参数才得知的,所以这里不得提及iPhone4的屏幕以帮助理解。 苹果新款iPhone 4将使用一种名为Retina(视网膜)屏幕的显示技术。苹果... 阅读全文
posted @ 2012-09-07 09:22 duanxz 阅读(7342) 评论(1) 推荐(0)
  2012年9月5日
摘要: 前言 这篇博文,我们基于Spring+JMS+ActiveMQ+Tomcat,做一个Spring4.1.0和ActiveMQ5.11.1整合实例,实现了Point-To-Point的异步队列消息和PUB/SUB(发布/订阅)模型,简单实例,不包含任何业务。 环境准备 工具 JDK1.6或1.7 Sp 阅读全文
posted @ 2012-09-05 08:43 duanxz 阅读(814) 评论(0) 推荐(0)
  2012年9月4日
摘要: 主要设计上的变化有以下几点: 不采用segment而采用node,锁住node来实现减小锁粒度。 设计了MOVED状态 当resize的中过程中 线程2还在put数据,线程2会帮助resize。 使用3个CAS操作来确保node的一些操作的原子性,这种方式代替了锁。 sizeCtl的不同值来代表不同 阅读全文
posted @ 2012-09-04 14:02 duanxz 阅读(383) 评论(0) 推荐(0)
摘要: javascript 替换函数全部替换方法<script language="javascript">var strM = "javascript is a good script language";//在此我想将字母a替换成字母Aalert(strM.replace("a","A"));</script>只能替换第一个“a”字母<script language="javascript">var strM = "javascript is a go 阅读全文
posted @ 2012-09-04 10:06 duanxz 阅读(2892) 评论(0) 推荐(0)
  2012年9月3日
摘要: 很不错的CSS透明效果,本实例是用CSS控制外层DIV不透明,而内层DIV透明,这样实现的效果是意想不到的,还不错吧,其实代码也是很简单的,也很好理解,主要是用了CSS的滤镜。<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>半透明div</title><style> 阅读全文
posted @ 2012-09-03 16:50 duanxz 阅读(476) 评论(0) 推荐(0)
摘要: 前言 任何相对完整的应用服务都不可能是由单一的程序来完成支持,计划使用 Docker 来部署的服务更是如此。大型服务需要进行拆分,形成微服务集群方能增强其稳定性和可维护性。本篇随笔将对 Docker Compose 和 Docker Swarm 的原理和配置做整理归纳,并分享其使用经验。 1. YA 阅读全文
posted @ 2012-09-03 16:43 duanxz 阅读(503) 评论(0) 推荐(0)