Java
还能学
菜枯
展开
-
HashMap中的hash算法
hash算法我们可以看到在hashmap中要找到某个元素,需要根据key的hash值来求得对应数组中的位置。如何计算这个位置就是hash算法。前面说过hashmap的数据结构是数组和链表的结合,所以我们当然希望这个hashmap里面的元素位置尽量的分布均匀些,尽量使得每个位置上的元素数量只有一个,那么当我们用hash算法求得这个位置的时候,马上就可以知道对应位置的元素就是我们要的,而不用再去遍...转载 2019-12-13 22:36:38 · 563 阅读 · 0 评论 -
java泛型(恶心)
一.术语较多泛型类型 (泛型) :List<E>泛型方法 :static <E> List<E> asList(E[] a)原始类型(原生态类型)(raw type): List<E> 对应的原始类...原创 2019-11-28 22:03:15 · 358 阅读 · 0 评论 -
翻译泛型方法
泛型最终会被擦除,擦除后会带来两个问题:①类型擦除与多态的冲突 ②方法签名冲突①类型擦除与多态的冲突:子类重写父类方法,当父类进行类型擦除后,父类方法的类型会被替换为 限定类型或Object 类型。举个栗子:父类(擦除前): void setDate(Date date)父类(擦除后): void setDate(Object date)子类(重写) : voi...原创 2019-11-26 18:57:57 · 355 阅读 · 1 评论 -
java方法重写与重载
方法重写:返回值可以小于等于父类方法的返回值方法重载:在jvm层,方法重载时,只有返回值不同,参数列表相同的,也是可以的。原创 2019-11-26 15:42:32 · 100 阅读 · 0 评论 -
Java集合学习四 Vector
一 Vector继承关系可以看出 Vector类继承了抽象AbstractList类 并且也实现了List接口 , Serializable ,RandomAccess ,Cloneable 接口。那就先看看之前没有详细看过的接口 ,先看下Serializable接口,再看下Cloneable接口。二 Serializable接口引用文章:https://blog.csd...原创 2019-08-22 16:53:21 · 123 阅读 · 0 评论 -
Java集合学习五 ArrayList
一 ArrayList的继承关系从结构上看,ArrayList 和之前看的Vector 很类似,慢慢看。二 内部结构三 内部变量private static final long serialVersionUID = 8683452581122892189L;序列化版本号private static final int DEFAULT_CAPACITY = 10;...原创 2019-08-22 19:51:46 · 146 阅读 · 0 评论 -
Java集合学习八 AbstractSet
一 AbstractSet继承关系二 内部结构三 继承方法public boolean equals(Object o) { if (o == this) //首先判断是否为当前Set本身 return true; if (!(o instanceof Set)) //如果不是Set类型,则返回false ...原创 2019-08-23 14:49:40 · 723 阅读 · 0 评论 -
Java集合学习九 SortedSet
一 继承关系及概述SortedSet是个接口,它里面的(只有TreeSet这一个实现可用)中的元素一定是有序的。保证迭代器按照元素递增顺序遍历的集合,可以按照元素的自然顺序(参见 Comparable)进行排序, 或者按照创建有序集合时提供的 Comparator进行排序。这也是因为 Set 接口是按照 equals 操作定义的,但有序集合使用它的 compareTo(或 comp...原创 2019-08-23 15:04:52 · 746 阅读 · 0 评论 -
Java集合学习七 Set接口
一 Set接口继承关系二 Set接口的概述一个不包含重复元素的 collection。更确切地讲,set 不包含满足e1.equals(e2)的元素对e1和e2,并且最多包含一个 null 元素Set接口是无序的 Set是继承于Collection的接口。它是一个不允许有重复元素的集合。 Set可以存储null值,但是null不能重复 Set的实现类都是基于Map...原创 2019-08-23 13:53:36 · 144 阅读 · 0 评论 -
Java集合学习六 LinkedList
一 LinkedList继承关系首先 ,从继承关系来看,继承了一个抽象的AbstractSequectialList 这个抽象类,还有一个Deque接口。所以在详细看LinkedList之前时,先看下继承关系上层的结构。二AbstractSequectialList从结构来看像是实现了 get set add remove 等等之类的方法。进一步看下。publ...原创 2019-08-23 01:14:46 · 189 阅读 · 0 评论 -
深刻理解ThreadLocal
本文链接:https://blog.csdn.net/lufeng20/article/d...转载 2019-08-27 23:29:29 · 166 阅读 · 0 评论 -
守护线程
本文链接:https://...转载 2019-10-08 20:17:53 · 108 阅读 · 0 评论 -
重理解
原子性:即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原创 2019-10-08 20:34:37 · 117 阅读 · 0 评论 -
Java RMI
一. Java RMI概述 RMI远程方法调用是计算机之间通过网络实现对象调用的一种通讯机制。使用这种机制,一台计算机上的对象可以调用另外一台计算机上的对象来获取远程数据。二.示例 1.先看下示例结构 2. agent:是本地的意思;remote是远程服务端。 3. 先看下远端服务包下的类: ...原创 2019-08-17 22:48:44 · 1152 阅读 · 1 评论 -
JAVA java.util.function包
一 概述nametypedescriptionConsumerConsumer< T >接收T对象,不返回值PredicatePredicate< T >接收T对象并返回booleanFunctionFunction< T, R >接收T对象,返回R对象SupplierSupplier< T ...转载 2019-08-21 23:23:15 · 5974 阅读 · 0 评论 -
Java集合学习十三 SortedMap
一、SortedMap 类结构图二、源码分析a. SortedMap 接口继承自 Map 接口,提供了按照 Key 排序的功能,即 keySet、values、entrySet 结果集有序b. Key 需要实现 Comparable 接口或者能被指定的 Comparator 接收,以便排序c. Map 接口定义中指出...转载 2019-08-25 23:17:49 · 2472 阅读 · 0 评论 -
classpath
转载:https://segmentfault.com/a/1190000015802324java项目中的classpath到底是什么在java项目中,你一定碰到过classpath,通常情况下,我们是用它来指定配置/资源文件的路径。在刚开始学习的时候,自己也糊里糊涂,但是现在,是时候弄清楚它到底是指什么了。顾名思义,classpath就是class的path,也就是类文件(*.cl...转载 2019-06-08 17:06:47 · 192 阅读 · 0 评论 -
了解类加载器
一。类的加载过程:二。类加载器分为三种:注意的是,最顶层的引导类加载器是获取不到的,输出为null。而且我们自己可以自定义自己的类加载器。三。在项目中加载资源文件:第一种方式:当资源文件在类路径下的话,可以使用classloader.getResourceAsStream()方法,参数需要时用点分式的类路径的样式。第二种方式:当资源文件在项目...原创 2019-07-06 13:56:59 · 145 阅读 · 0 评论 -
Java设计模式
1.装饰者模式(参考Java IO编程):开放关闭原则的设计意义。、2.策略模式:3.观察者模式:4.单例模式:5.工厂模式: 1.简单工厂模式2.工厂方法模式。定义了一个创建对象的抽象方法,由子类决定要实例化的类,将对象的实例化推迟到了子类。3.抽象工厂模式:定义了创建对象的抽象工厂接口,由实现该接口的类创建具体的对象。...转载 2019-08-07 19:50:05 · 430 阅读 · 0 评论 -
Java对象设计六大原则
一 组合复用原则 多用组合,少用继承 找到变化部分,抽象,封装变化 区分 “ Has-A ” 与 “ Is-A ”二 依赖倒置原则 依赖:成员变量、方法参数、返回值要依赖于抽象,不要依赖于具体 高层模块不应该依赖低层模块,二者都应该依赖其抽象 抽象不应该依赖具体,具体应该依赖抽象 针对接口编程,不要针对实现编程...原创 2019-08-19 20:56:41 · 193 阅读 · 0 评论 -
Java集合学习十 Map
一 内部架构 及概述Map接口中键和值一一映射. 可以通过键来获取值。二 内部方法结构Entry是项目的意思,这里就是每个键值对的组合元素。它包含一个key-value键值对。V setValue(V value); 设置value//得到key的比较器public static <K extends Comparable<? super ...原创 2019-08-23 21:36:05 · 152 阅读 · 0 评论 -
Java集合学习一 Collection
一 Collection的继承结构二 先看下Iterable是什么?Iterator接口也是Java集合框架的成员,但是他并不是用来存放东西的,而是迭代器,用来遍历容器中的数据的。三 Iterable中的方法参考文章:https://blog.csdn.net/hellomrzheng/article/details/70135884/** * Re...原创 2019-08-20 12:15:14 · 157 阅读 · 0 评论 -
Java集合学习二 List
一 List的继承关系二 List接口的内部方法除去继承自Collection的方法外,主要还是看下自己特有的接口方法。三 方法概述boolean addAll(int index, Collection<? extends E> c);将整个集合作为一个元素放在list集合中的指定位置E get(int index);通过索引获得元素E s...原创 2019-08-20 13:08:13 · 225 阅读 · 0 评论 -
Java集合学习十一 AbstractMap
一 继承关系二 内部结构三 数据结构正如我们之前看Map接口的时候看的key和value的存储方式。transient Set<K> keySet; key 存储在Set中transient Collection<V> values; value 存储在Collection中四 内部实现类1.先来看下SimpleEn...原创 2019-08-23 22:38:14 · 137 阅读 · 0 评论 -
Java fail-fast机制
在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证...转载 2019-08-23 23:42:31 · 183 阅读 · 2 评论 -
Java集合学习十二 HashMap
一 继承关系推荐文章:1.https://blog.csdn.net/fan2012huan/article/details/51087722 2.https://blog.csdn.net/visant/article/details/80045154强烈建议!!!!二 内部结构先看变量:static final int ...原创 2019-08-24 00:08:47 · 133 阅读 · 2 评论 -
Java集合学习三 AbstractList
一 AbstractList类的继承关系可以看到这里有一个类是它本身的类,第二个类和第三个都是他的子类:SubList 和RandomAccessSubList,慢慢看。二 AbstractList类本身的继承结构可以看到它内部实现了除了实现了List接口的方法和继承实现了抽象Collection的方法外,内部还实现了两个迭代器:Itr 和 ListItr。此外他还有一个...原创 2019-08-20 17:22:53 · 162 阅读 · 0 评论 -
java.util包中集合详解
https://www.jianshu.com/p/4bb01e139cda转载 2019-06-12 22:15:27 · 956 阅读 · 0 评论