简介 Retrofit 是 Square 推出的 HTTP 框架,主要用于 Android 和 Java。Retrofit 将网络请求变成方法的调用,使用起来非常简洁方便。本文先简要介绍一下 Retrofit 的用法,然…
分类:java集合源码分析
java-通过 HashMap、HashSet 的源码分析其 Hash 存储机制
通过 HashMap、HashSet 的源码分析其 Hash 存储机制 集合和引用 就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并非真正的把 Java 对象放入数组中。仅仅是把对象的引用放入数组中,每一…
Android4.2.2 Gallery2源码分析(5)——GLCanvasImpl.java
GLCanvasImpl.java是接口GLCanvas的唯一实现类,也就是说二者在功能上完全等同。代码中调用GLCanvas对象函数的地方,等效于调用GLCanvasImpl中的该函数,GLCanvasImpl对该函数…
【图灵学院10】高并发之java线程池源码分析
1. 提纲 1)线程池的模块结构 2)示例&原理解析 2. 问题 1)线程池包含哪些东西 2)线程池的运作原理 3)调度线程池的运作原理 4)线程池怎么实现FixRate,FixDelay,他们之间…
Java中HashMap底层实现原理(JDK1.8)源码分析
在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现。每个桶对应不同的hash值,根据key计算得到的hash值,将键值对存放到对应位置。但是,很可能出现不同的key,计算出的hash值相同,这…
java 1.8 动态代理源码分析
JDK8动态代理源码分析 动态代理的基本使用就不详细介绍了: 例子: class proxyed implements pro{ @Override public void text() { System.err.pri…
关于java集合的toString方法源码分析
在java中,大多数输出一个实例对象,就会输出它在堆空间的地址值. 但是集合输出的是字符串,以下是探究: Collection<String> c = new ArrayList<String>(…
java非并发容器ArrayList 和 LinkedList 优缺点比较及其实现源码分析
ArrayList顾名思义,arraylist内部实现为维护一个数组其优点为:随机存取元素的效率为o(1) 缺点:由于内存必须是连续的,所以插入一个元素的效率较低,删除一个非结尾的元素效率较低 其具体Arraylist插…
【Java集合类】ArrayList源码分析(jdk1.8)
ArrayList就是一个以动态数组形式实现的集合类。所以优势是随机访问元素,但是在list中间插入和移动元素时较慢。特别是插入效率。 由于要维护数组的size,即动态数组的实现就是扩容时将原数组的元素复制到更大数组中。…
聊聊 JDK 阻塞队列源码(ReentrantLock实现)
项目中用到了一个叫做 Disruptor 的队列,今天楼主并不是要介绍 Disruptor 而是想巩固一下基础扒一下 JDK 中的阻塞队列,听到队列相信大家对其并不陌生,在我们现实生活中队列随处可见,最经典的就是去银行办…
Java集合源码分析→LinkedList
LinkedList简介 LinkedList是基于双向循环链表实现的,除了可以当链表来操作外,还可以当作栈、队列和双向队列来使用 LinkedList同样是非线程安全的,只在单线程下适用;LinkedList实现了Se…
JAVA集合源码分析系列:HashSet源码分析
HashSet 分析 HashSet是一个没有重复元素的集合。 它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素。 HashSet的父类和实现的接口 public class Ha…