- 博客(5)
- 收藏
- 关注
原创 Java 8 中的ConcurrentHashMap源码分析
在HashMap的分析中,介绍了hashmap不是线程安全的,其在并发环境使用fail-fast策略来抛出由并发错误导致的异常。先来看下Hashtable这个线程安全的容器,其虽然是线程安全的,但是其实现并发安全的手段比较粗暴。从下面的三个方法就能看出来,其只是简单的以自身作为对象锁,将相关方法都声明为synchronized,故每次只有一个线程能调用这些同步方法。//Hash
2015-07-16 14:41:41 7372 6
原创 代理模式、动态代理与AOP
先来说说代理模式(静态代理):其为23种设计模式之一,属于结构型模式,其主要思想是通过一个代理对象来代替真实对象来响应client的调用或请求。静态代理要求代理类与真实类实现一个共同的接口,这样代理对象才能在“型”上代替真实对象。类图如下:一个通过代理模式来代理并增强真实对象的简单示例://定义代理类与真实类的公共接口public interface Subject
2015-07-15 20:34:24 698
原创 Java 8 中HashMap源码分析
HashMap的系统介绍:HashMap实现了Map接口(注意:map类容器都没有实现Collection接口,只有set,list这类的容器才实现Collection),其对一般的基本操作(put,get,contains)能够保证常数时间,当然前提是hash function能让各个key分布的均匀。然而HashMap不能维护其内对的顺序,也不保证其中的顺序是一直不变的。有两个
2015-07-12 20:51:16 701
原创 Java中的泛型
所谓泛型,就是指编程语言中能够编写出更加“通用”、“泛化”的代码。希望能利用泛型,编写出一个能处理各种各样类型对象实例的处理过程代码。首先,考虑下面一段通用代码:public class SimpleHolder { //一个简单的通用的容器 private Object obj; //利用Object来达到通用性 pub
2015-07-07 16:22:50 339
原创 LeetCode | Rotate List
Given a list, rotate the list to the right by k places, where k is non-negative.For example:Given 1->2->3->4->5->NULL and k = 2,return 4->5->1->2->3->NULL./** * Definition for singly-linked
2015-07-01 14:38:40 322
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人