03 2015 档案
摘要:Publish/SubscribeIn theprevious tutorialwe created a work queue. The assumption behind a work queue is that each task is delivered to exactly one work...
阅读全文
posted @ 2015-03-31 23:16
lintong
摘要:Work QueuesIn thefirst tutorialwe wrote programs to send and receive messages from a named queue. In this one we'll create aWork Queuethat will be use...
阅读全文
posted @ 2015-03-31 23:00
lintong
摘要:IntroductionRabbitMQ is a message broker. The principal idea is pretty simple: it accepts and forwards messages.RabbitMQ, and messaging in general, us...
阅读全文
posted @ 2015-03-31 22:41
lintong
摘要:本文转载自:http://blog.nosqlfan.com/html/955.htmlBitcask是一个日志型的基于hash表结构和key-value存储模型。1.日志型的数据文件何谓日志型?就是append only,所有写操作只追加而不修改老的数据,就像我们的各种服务器日志一样。在Bitca...
阅读全文
posted @ 2015-03-31 22:02
lintong
摘要:本文转载自:http://blog.csdn.net/yuanrxdu/article/details/22474697Merkle Tree是Dynamo中用来同步数据一致性的算法,Merkle Tree是基于数据HASH构建的一个树。它具有以下几个特点:1、数据结构是一个树,可以是二叉树,也可以...
阅读全文
posted @ 2015-03-31 22:00
lintong
摘要:上一章的结尾我们留下了一个问题,就是在上一章所介绍的模型中,恢复管理器必须要通过全篇扫描整个undolog进行日志恢复,这样做显然是没有太大必要的,因为系统中断肯定是在最后几个事务受到影响,前面的事务应该已经完成commit或者rollback了,不会出现abort的情况,那我们如何知道哪些事务受到...
阅读全文
posted @ 2015-03-31 17:32
lintong
摘要:本文转载自:http://www.cnblogs.com/skywang12345/p/3154474.htmlJava引用介绍 Java从1.2版本开始引入了4种引用,这4种引用的级别由高到低依次为: 强引用 > 软引用 > 弱引用 > 虚引用⑴强引用(StrongReference) 强引用是使...
阅读全文
posted @ 2015-03-30 22:59
lintong
摘要:第1部分 HashMap介绍HashMap简介HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。HashMap 的实例有两个参数影响其性能:“初始容量” 和 “加载因子”。容量是哈希表中桶的数量,初始容量 只是...
阅读全文
posted @ 2015-03-30 20:39
lintong
摘要:概要前面,我们已经系统的对List进行了学习。接下来,我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Map架构。如上图:(01) Map 是映射接口,Map中存储的...
阅读全文
posted @ 2015-03-30 20:05
lintong
摘要:概要前面,我们学完了List的全部内容(ArrayList,LinkedList,Vector,Stack)。现在,我们再回头看看总结一下List。内容包括:第1部分 List概括第2部分 List使用场景第4部分 Vector和ArrayList比较转载请注明出处:http://www.cnblo...
阅读全文
posted @ 2015-03-30 19:52
lintong
摘要:Stack很简单,它继承于Vector第1部分 Stack介绍第2部分 Stack源码解析(基于JDK1.6.0_45)第3部分 Vector示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308852.html第1部分 Stack介绍Stack简介...
阅读全文
posted @ 2015-03-30 19:41
lintong
摘要:本文转载自:http://www.cnblogs.com/wanlipeng/archive/2010/10/21/1857791.html 首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维...
阅读全文
posted @ 2015-03-28 15:43
lintong
摘要:学完ArrayList和LinkedList之后,我们接着学习Vector。第1部分 Vector介绍第2部分 Vector数据结构第3部分 Vector源码解析(基于JDK1.6.0_45)第4部分 Vector遍历方式第5部分 Vector示例转载请注明出处:http://www.cnblogs...
阅读全文
posted @ 2015-03-28 15:38
lintong
摘要:概要第1部分 LinkedList介绍第2部分 LinkedList数据结构第3部分 LinkedList源码解析(基于JDK1.6.0_45)第5部分 LinkedList示例转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308807.html第1部...
阅读全文
posted @ 2015-03-28 15:28
lintong
摘要:上一章,我们学习了Collection的架构。这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解ArrayList。先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它。内容包括:...
阅读全文
posted @ 2015-03-28 11:32
lintong
摘要:转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308513.html首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图:Collection是一个接口,它主要的两个分支是:List和Set。List和Set都是...
阅读全文
posted @ 2015-03-28 11:17
lintong
摘要:本文转载自:http://www.cnblogs.com/skywang12345/p/3308498.htmlJava集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)、。大致说明:...
阅读全文
posted @ 2015-03-28 11:11
lintong
摘要:ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用...
阅读全文
posted @ 2015-03-28 10:55
lintong
摘要:前言 在Java并发包中有这样一个包,java.util.concurrent.atomic,该包是对Java部分数据类型的原子封装,在原有数据类型的基础上,提供了原子性的操作方法,保证了线程安全。下面以AtomicInteger为例,来看一下是如何实现的。public final int in...
阅读全文
posted @ 2015-03-28 10:40
lintong
摘要:上一篇讲述了并发包下的Lock,Lock可以更好的解决线程同步问题,使之更面向对象,并且ReadWriteLock在处理同步时更强大,那么同样,线程间仅仅互斥是不够的,还需要通信,本篇的内容是基于上篇之上,使用Lock如何处理线程通信。 那么引入本篇的主角,Condition,Condition...
阅读全文
posted @ 2015-03-28 10:14
lintong
摘要:Lock是java.util.concurrent.locks包下的接口,Lock实现提供了比使用synchronized方法和语句可获得的更广泛的锁定操作,它能以更优雅的方式处理线程同步问题,我们拿Java线程(二)中的一个例子简单的实现一下和sychronized一样的效果,代码如下: 1 pu...
阅读全文
posted @ 2015-03-28 09:59
lintong
摘要:接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。 Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执...
阅读全文
posted @ 2015-03-27 23:09
lintong
摘要:自JDK5之后,Java推出了一个并发包,java.util.concurrent,在Java开发中,我们接触到了好多池的技术,String类的对象池、Integer的共享池、连接数据库的连接池、Struts1.3的对象池等等,池的最终目的都是节约资源,以更小的开销做更多的事情,从而提高性能。 ...
阅读全文
posted @ 2015-03-27 23:02
lintong
摘要:本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17560467,转载请注明。线程中断线程中断涉及到三个方法,如下: interrupt()方法用于中断线程,通常的理解来看,只要某个线程启动后,调用了该方法,则该线程不...
阅读全文
posted @ 2015-03-27 22:50
lintong
摘要:本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/7433673,转载请注明。 上一篇讲述了线程的互斥(同步),但是在很多情况下,仅仅同步是不够的,还需要线程与线程协作(通信),生产者/消费者问题是一个经典的线程同步...
阅读全文
posted @ 2015-03-27 11:59
lintong
摘要:要说明线程同步问题首先要说明Java线程的两个特性,可见性和有序性。多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现。拿上篇博文中的例子来说明,在多个线程之间共享了Count类的一个对象,这个对象是被创建在主内存(堆内存)中,每个线程都有自己的工作内存(线程栈),工...
阅读全文
posted @ 2015-03-27 11:49
lintong
摘要:本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/7421217,转载请注明。 当我们查看JDK API的时候,总会发现一些类说明写着,线程安全或者线程不安全,比如说StringBuilder中,有这么一句,“将String...
阅读全文
posted @ 2015-03-27 11:36
lintong
摘要:本文转载自:http://blog.csdn.net/bboyfeiyu/article/details/24851847Runnable其中Runnable应该是我们最熟悉的接口,它只有一个run()函数,用于将耗时操作写在其中,该函数没有返回值。然后使用某个线程去执行该runnable即可实现多...
阅读全文
posted @ 2015-03-27 11:24
lintong
摘要:本文转载自:http://www.infoq.com/cn/articles/cf-java-genericsJava泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应...
阅读全文
posted @ 2015-03-26 20:32
lintong
摘要:本文转载自:http://www.zhihu.com/question/20794107先来看静态代理模式代码: 1 package test; 2 3 public interface Subject 4 { 5 public void doSomething(); 6 }...
阅读全文
posted @ 2015-03-26 19:25
lintong
摘要:本文转载自:http://c.biancheng.net/cpp/html/1782.htmlPerson p=new Person();这是什么?当然是实例化一个对象了。可是这种实例化对象的方法存在一个问题,那就是必须要知道类名才可以实例化它的对象,这样我们在应用方面就会受到限制。那么有没有这样一...
阅读全文
posted @ 2015-03-26 19:11
lintong
摘要:本文转载自:http://c.biancheng.net/cpp/html/1781.html要理解RTTI在Java中的工作原理,首先必须知道类型信息在运行时是如何表示的,这项工作是由“Class对象”完成的,它包含了与类有关的信息。类是程序的重要组成部分,每个类都有一个Class对象,每当编写并...
阅读全文
posted @ 2015-03-26 18:56
lintong
摘要:本文转载自:http://www.importnew.com/9078.html1. 什么是反射?“反射(Reflection)能够让运行于JVM中的程序检测和修改运行时的行为。”这个概念常常会和内省(Introspection)混淆,以下是这两个术语在Wikipedia中的解释:内省用于在运行时检...
阅读全文
posted @ 2015-03-26 18:34
lintong
摘要:本文转载自:http://www.cnblogs.com/mandroid/archive/2011/07/18/2109829.html一、概念 Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata...
阅读全文
posted @ 2015-03-26 15:43
lintong
摘要:转自:http://blog.csdn.net/rosanu_blog/article/details/9002804Map是java中的接口,Map.Entry是Map的一个内部接口。java.util.Map.Entry接口主要就是在遍历map的时候用到。Map提供了一些常用方法,如keySet...
阅读全文
posted @ 2015-03-25 15:04
lintong
摘要:How to iterate over the entries of a Map?What is the order of iteration- if you are just usingMap, then strictly speaking, there areno ordering guaran...
阅读全文
posted @ 2015-03-25 15:01
lintong
摘要:转载自:http://blog.csdn.net/guijava/article/details/3784658 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。Queue接口与List、Set同一级别,都是继承了Collection接口。Queue使用时要尽量避免...
阅读全文
posted @ 2015-03-25 11:45
lintong
摘要:HashMap和Hashtable的区别HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。HashMap几乎可以等价于Hashtable,除了HashMap是非synchron...
阅读全文
posted @ 2015-03-24 17:44
lintong

浙公网安备 33010602011771号