【JDK】JDK源码分析-Vector】的更多相关文章

JDK List源码分析 List接口定义了有序集合(序列).在Collection的基础上,增加了可以通过下标索引访问,以及线性查找等功能. 整体类结构 1.AbstractList   该类作为List的通用骨架实现,和AbstractCollection一样,也是为了减少实现该接口的工作量.为了实现一个只读的List,仅仅只需要实现get和size方法即可.而对于读写的List,则需要额外覆写set,add和remove.   该类基于get(int),set(int, Object)等方…
@(JDK)[AtomicInteger] JDK AtomicInteger 源码分析 Unsafe 实例化 Unsafe在创建实例的时候,不能仅仅通过new Unsafe()或者Unsafe.getUnsafe()来获取,因为Java会进行安全校验,只有信任的代码,才能够获取实例. @CallerSensitive public static Unsafe getUnsafe() { Class var0 = Reflection.getCallerClass(); if(var0.getC…
概述 上文「JDK源码分析-ArrayList」主要分析了 ArrayList 的实现原理.本文分析 List 接口的另一个实现类:Vector. Vector 的内部实现与 ArrayList 类似,也可以理解为一个「可变数组」.其继承结构如下(省略部分接口): PS: 由于 Vector 目前使用较少,且官方也推荐在无线程安全的需求时使用 ArrayList 代替 Vector,这里仅研究其实现原理. stackoverflow 也有相关的讨论: https://stackoverflow.…
1 天气预报项目需求,具体要求如下: 1) 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方). 2) 需要设计开放型 API,便于其他第三方也能接入气象站获取数据. 3) 提供温度.气压和湿度的接口 4) 测量数据更新时,要能实时的通知给第三方 2 天气预报设计方案 1-普通方案 WeatherData 类 传统的设计方案 代码实现 package com.lin.observer; /** * 显示当前天气情况(可以理解为气象站的网站) * @D…
@(JDK)[Queue] JDK Queue Queue:队列接口,对于数据的存取,提供了两种方式,一种失败会抛出异常,另一种则返回null或者false.   抛出异常的接口:add,remove,element,分别对应:offer,poll,peek. 整体类结构 PriorityQueue 优先级队列,采用堆来实现,在容量不足,添加元素的时候会自动扩展,对于元素的比较,则实现了两种方式,一种是通过Comparator比较器,另一种是要求对象实现Comparable接口.即如果没有提供C…
JDK Collection   JDK Collection作为一个最顶层的接口(root interface),JDK并不提供该接口的直接实现,而是通过更加具体的子接口(sub interface)的实现.该接口存在是因为有时候需要更加通用的Collection来对元素进行操作,比如一个方法,接收一个Collection,那么就可以不考虑其具体到底是List还是Set之类的.   其子接口的实现可以提供两种构造方法,一个是空构造方法,另一个是参数为Collection,这样可以实现将任意一个…
转自:http://blog.csdn.net/qq_14975217/article/details/51524042 Blob:4个维度 n x c x h x w: bottom[0] .bottom[1]代表该层有几个输入. bottom[0]->count(): 输入中,元素的总维数(个数) bottom[0]->nums(): 输入中,块(block)的个数,该参数还对应batch_size,即同时输入了几张图片 c:是卷积核(filter)的个数,每个卷积核产生一个通道的输出:在…
Blob:4个维度 n x c x h x w: bottom[0] .bottom[1]代表该层有几个输入. bottom[0]->count(): 输入中,元素的总维数(个数) bottom[0]->nums(): 输入中,块(block)的个数,该参数还对应batch_size,即同时输入了几张图片 c:是卷积核(filter)的个数,每个卷积核产生一个通道的输出:在输入层,c直接就是图像的通道数: 还有一个变量,dim;:每个块的维度(元素个数) 形象化: | xxxxx | xxxx…
http://note.youdao.com/noteshare?id=55dc651a7489f1413b3a3169401dcf94…
概述 Vector与ArrayLIst类似, 内部同样维护一个数组, Vector是线程安全的. 方法与ArrayList大体一致, 只是加上 synchronized 关键字, 保证线程安全, 下面就不具体分析源码了, 具体可以查看ArrayList中的源码分析. Vector源码分析 1.主要字段 2.构造函数 3.增删改查 其他方法大部分类似, 不再赘述, 下面看下扩容机制的函数: Vector与ArrayList的区别 Vector是线程安全的, ArrayList不是线程安全的, 这是…