摘要:1. 什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行... 阅读全文
JDK里的设计模式
2014-07-24 11:35 by Loull, 459 阅读, 0 推荐, 收藏, 编辑
摘要:一、Creational patterns创建模式Abstract factory(recognizeable by creational methods returning the factory itself which in turn can be used to create another... 阅读全文
LinkedHashMap 和 LRU算法实现
2014-07-19 23:42 by Loull, 467 阅读, 0 推荐, 收藏, 编辑
摘要:个人觉得LinkedHashMap 存在的意义就是为了实现 LRU 算法。public class LinkedHashMap extends HashMap implements Map{ public LinkedHashMap(int initialCapacity, ... 阅读全文
XMPP协议介绍
2014-07-08 16:56 by Loull, 741 阅读, 0 推荐, 收藏, 编辑
摘要:一、xmpp协议工作原理二、XMPP地址模式三、xmpp消息格式xmpp xml包括三个元素,message,presence,iq,也翻译做三种节。在'jabber:client'和'jabber:server'名字空间中定义了三种 XML 节: , , 和 . 另外, 这三种节有五种通用的属性.... 阅读全文
【转】线程、Thread类和线程终止
2014-07-04 19:57 by Loull, 2286 阅读, 0 推荐, 收藏, 编辑
摘要:一、线程Thread启动0. Thread类实现了java.lang.Runnable接口,即实现了run方法。虽然在Sun JDK中,start()调用了start0()方法,start0()方法又是native的,但实际上新的线程就是调用了Thread的run()方法,当然这native的实现中... 阅读全文
java.util.concurrent包
2014-07-04 19:34 by Loull, 497 阅读, 0 推荐, 收藏, 编辑
摘要:在JavaSE5中,JUC(java.util.concurrent)包出现了在java.util.concurrent包及其子包中,有了很多好玩的新东西:1、执行器的概念和线程池的实现。Executor、ExecutorService框架 从Executor接口开始,到ExecutorServi... 阅读全文
长连接和心跳包
2014-07-01 19:33 by Loull, 1281 阅读, 0 推荐, 收藏, 编辑
摘要:第一种设置:通过设置socket的keepalive属性#include "/usr/include/linux/tcp.h"#include "/usr/include/linux/socket.h"////KeepAlive实现,单位秒//下面代码要求有ACE,如果没有包含ACE,则请把用到的A... 阅读全文
Android Push Notification实现信息推送使用
2014-06-23 18:53 by Loull, 240 阅读, 0 推荐, 收藏, 编辑
摘要:本贴在http://www.cnblogs.com/hanyonglu/archive/2012/03/16/2399655.html下略为改动。Apndroid Push Notification的特点:快速集成:提供一种比C2DM更加快捷的使用方式,避免各种限制. 无需架设服务器:通过使用"云服... 阅读全文
线段树 Interval Tree
2014-06-12 18:55 by Loull, 730 阅读, 0 推荐, 收藏, 编辑
摘要:一、线段树线段树既是线段也是树,并且是一棵二叉树,每个结点是一条线段,每条线段的左右儿子线段分别是该线段的左半和右半区间,递归定义之后就是一棵线段树。例题:给定N条线段,{[2, 5], [4, 6], [0, 7]}, M个点{2, 4, 7},判断每个点分别在几条线段出现过?1、构建线段树2、处... 阅读全文
树状数组
2014-06-12 14:58 by Loull, 940 阅读, 0 推荐, 收藏, 编辑
摘要:一、树状数组树状数组是一个优美小巧的数据结构,在很多时候可以代替线段树。一句话概括就是,凡是树状数组可以解决的问题,线段树都可以解决,反过来线段树可以解决的问题,树状数组不一定能解决。树状数组英文名称为Binary Index Tree,直译过来就是二进制索引树,我觉得二进制索引树更能说明其本质。树... 阅读全文
LCA和RMQ
2014-06-12 10:35 by Loull, 505 阅读, 0 推荐, 收藏, 编辑
摘要:下面写提供几个学习LCA和RMQ的博客,都很通熟易懂http://dongxicheng.org/structure/lca-rmq/这个应该是讲得最好的,且博主还有很多其他文章,可以读读,感觉认真读了这篇,都不太需要看别的资料了,百度和谷歌搜索的第一位都是他,好东西大家一起学习http://sct... 阅读全文
RMQ (Range Minimal Query) 问题 ,稀疏表 ST
2014-06-10 21:43 by Loull, 786 阅读, 0 推荐, 收藏, 编辑
摘要:RMQ ( 范围最小值查询 ) 问题是一种动态查询问题,它不需要修改元素,但要及时回答出数组 A 在区间 [l, r] 中最小的元素值。RMQ(Range Minimum/Maximum Query):对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j= n) break; //如... 阅读全文
winner tree 胜者树
2014-06-10 19:01 by Loull, 1260 阅读, 0 推荐, 收藏, 编辑
摘要:在树形选择排序中,利用锦标赛思想建立的树称为胜者树。1、每个非终端节点存储的是左右孩子节点中的优胜者。2、通过减少比较次数,提高效率。3、胜者树就是一颗特殊的线段树。一、构建树Procedure buildmint; 复杂度 O(n)var i,j,k:longint;begin i:=N; j... 阅读全文
Java CAS 和ABA问题
2014-06-03 23:42 by Loull, 54050 阅读, 3 推荐, 收藏, 编辑
摘要:独占锁:是一种悲观锁,synchronized就是一种独占锁,会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。乐观锁:每次不加锁,假设没有冲突去完成某项操作,如果因为冲突失败就重试,直到成功为止。一、CAS 操作乐观锁用到的机制就是CAS,Compare and Swap。CAS有3个操作数... 阅读全文