摘要: Set接口的实现,可以方便地将指定的类型以集合类型保存在一个变量中。Set是一个不包含重复元素的Collection,更确切地讲,Set 不包含满足 e1.equals(e2) 的元素对,并且最多包含一个 null 元素。Set接口的底层存储实现都是依赖Map的实现,也可以说Set中元素的管理就... 阅读全文
posted @ 2014-06-06 17:16 Eric Lan 阅读(934) 评论(0) 推荐(0) 编辑
摘要: Map接口容器存放的是key-value对,由于Map是按key索引的,因此 key 是不可重复的,但 value 允许重复。 下面简单介绍一下Map接口的实现,包括HashMap,LinkedHashMap,WeakHashMap,Hashtable,IdentityHashMap和TreeM... 阅读全文
posted @ 2014-06-06 14:06 Eric Lan 阅读(1295) 评论(0) 推荐(0) 编辑
摘要: List接口是Java中经常用到的接口,如果对具体的List实现类的特性不了解的话,可能会导致程序性能的下降,下面从原理上简单的介绍List的具体实现:可以看到,List继承了Collection接口,而Collection接口继承了Iterable接口。其中还有AbstractCollection... 阅读全文
posted @ 2014-06-05 17:15 Eric Lan 阅读(3605) 评论(0) 推荐(0) 编辑
摘要: 1、多线程基础 线程通信,是指线程之间以何种机制来交换信息。其中通信的机制有两种:内存共享和消息传递。内存共享是指线程之间通过写-读内存中的公共状态隐式进行通讯(Java);消息传递在线程之间没有公共状态,线程之间必须明确通过发送消息来显式进行通讯(Erlang)。 同步是指程序用于控制不同线程... 阅读全文
posted @ 2014-06-04 18:06 Eric Lan 阅读(539) 评论(3) 推荐(1) 编辑
摘要: 1、堆内存(HeapMemory)和非堆内存(Non-heapMemory) Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配,堆内存(HeapMemory)是在Java虚拟机启动时创建,是Java代码可及的内存,留给开发人员使用的;默认空余堆内存小于40%时,JV... 阅读全文
posted @ 2014-06-04 16:19 Eric Lan 阅读(403) 评论(0) 推荐(0) 编辑