TreeMap的实现基于红黑树,排列的顺序根据key的大小,或者在创建时提供的比较器,取决于使用哪个构造器。 对于,containsKey,get,put,remove操作,保证时间复杂度为log(n)。 TreeMap…
标签:java源码分析
Java StringBuilder和StringBuffer源码分析
StringBuilder与StringBuffer是两个常用的操作字符串的类。大家都知道,StringBuilder是线程不安全的,而StringBuffer是线程安全的。前者是JDK1.5加入的,后者在JDK1.0就…
Java源码笔记(1) java.lang.Object 之 native分析
包路径:java.lang.*: java.lang.Object: 一、Object类是java类树的根,所有类的超类。 二、方法及成员: private static native void…
[java源码解析]对HashMap源码的分析(二)
上文我们讲了HashMap那骚骚的逻辑结构,这一篇我们来吹吹它的实现思想,也就是算法层面。有兴趣看下或者回顾上一篇HashMap逻辑层面的,可以看下HashMap源码解析(一)。使用了哈希表得“拉链法”. 我打算按这个顺…
Junit源码分析
junit是我们平时开发中天天用到的测试框架,为了了解器内部隐藏的机关,特意分析了一下源码,这里我们用的是Junit3.8版本。 1.包的划分 junit.awtui,这个是juni…
java线程池源码分析
我们在关闭线程池的时候会使用shutdown()和shutdownNow(),那么问题来了: 这两个方法又什么区别呢? 他们背后的原理是什么呢? 线程池中线程超过了coresize后会怎么操作呢? 为了解决这些疑问我…
Java并发编程中线程池源码分析及使用
当Java处理高并发的时候,线程数量特别的多的时候,而且每个线程都是执行很短的时间就结束了,频繁创建线程和销毁线程需要占用很多系统的资源和时间,会降低系统的工作效率。 参考http://www.cnblogs.com/d…
Java并发编程-ReentrantLock源码分析
一、前言 在分析了 AbstractQueuedSynchronier 源码后,接着分析ReentrantLock源码,其实在 AbstractQueuedSynchronizer …
源码分析:Java堆的创建
源码分析:Java堆的创建 虚拟机在内存中申请一片区域,由虚拟机自动管理,用来满足应用程序对象分配的空间需求,即堆空间。 由于程序运行的局部特性,程序创建的大多数对象都具有非常短的生命周期,而…
java并发编程(四) 线程池 & 任务执行、终止源码分析
参考文档 线程池任务执行全过程:https://blog.csdn.net/wojiaolinaaa/article/details/51345789 线程池中断:https://www.cnblogs.com/trus…
LinearLayout属性用法和源码分析
转载自: http://www.jianshu.com/p/650c3fd7e6ab 一、 LinearLayout的属性和用法 LinearLayout对于开发来说,是使用最常用的布局控件之一,但是对于L…
java.util.TreeSet源码分析
public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.i…