java注解详解

一,基本语法 首先,我们先来定义一个最简单的没有元素的注解,称为标记注解。 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Test { } 它就像一个空接口。定义...

2019-02-24 23:29:28

阅读数 11

评论数 0

java枚举详解

一,基本enum特性 1,values()返回enum实例的数组,而且该数组的元素保持其在enum中声明时的顺序。 2,枚举类型允许添加任意的方法和域,这样就可以为每个枚举实例添加详细描述。为此,我们可以提供一个构造器,专门负责处理这个信息。 注意:如果打算定义自己的方法,那么必须在enum...

2019-02-23 15:21:57

阅读数 12

评论数 0

java异常知识点梳理

本文主要是整理了effective java中关于异常的几点说明 一,异常链 在捕获异常后抛出另一个异常,并且把原始的异常信息保存下来,这被称为异常链。 所有Throwable的子类在构造器中都可以接受一个cause对象作为参数。这个cause就用来表示原始异常,这样通过把原始异常传递给新的异常,...

2019-01-28 22:44:26

阅读数 16

评论数 0

java反射详解

一,反射简介 Class类与java.lang.reflect库一起对反射的概念进行了支持,该类库包含了Field,Method及Constructor。这些类型的对象是由JVM在运行时创建的。这样你就可以使用Constructor创建新的对象,用get()和set()读取和修改与Field对象关...

2019-01-24 23:07:21

阅读数 6

评论数 0

java泛型详解

一,java泛型简介 java泛型避免了运行期错误,在编译时对代码进行了检查。在新代码中我们不应该使用原生态类型,否则就失掉了泛型在安全性和表述性方面的所有优势。 泛型不像数组,可以支持协变。比如Apple是Fruit的子类型。但是List不是List的子类型。这个问题怎么解决,我们将在五六小节详...

2019-01-16 23:03:12

阅读数 56

评论数 0

java设计模式系列七之观察者模式

一,概述 观察者模式定义了一种一对多的依赖关系,一个或多个观察者对象监听一个主题对象,被观察者维护了一个观察者集合,当主题发生变化,观察者对象自动更新。典型应用就是微信的发布订阅模式。 二,UML类图 三,代码实例 观察者接口 public interface Observer { vo...

2019-01-03 10:03:01

阅读数 13

评论数 0

java设计模式系列六之工厂方法模式

一,概述 工厂方法模式克服了简单工厂不符合开闭原则的缺陷,将初始化Bean的工作交给子类去完成。工厂父类只提供子类所需实现的接口即可,(如Spring中的FactoryBean)可扩展性增强,当产品增加时只需扩展子类即可,无需改动原有代码。 二,UML类图 工厂方法模式的主要角色如下。 1,抽象工...

2018-12-31 19:46:59

阅读数 13

评论数 0

java设计模式系列三之适配器模式

一,适配器模式概述 二,适配器模式UML类图 三,适配器模式代码例子 四,适配器模式优缺点

2018-12-27 21:07:36

阅读数 26

评论数 0

java设计模式系列五之模板方法模式

参考博文 https://blog.csdn.net/z69183787/article/details/65628166 一,概述 模板方法概述:父类定义了骨架,某些特定方法由子类实现 好处:代码复用,代码复用,减少重复代码。除了子类要实现的特定方法,其他方法及方法调用顺序都在父类中预先写好了...

2018-12-27 10:05:11

阅读数 22

评论数 0

java设计模式系列四之代理模式

一,概述 代理的设计理念是限制对象的直接访问,即不能通过new直接访问对象,必须通过代理类 二,UML类图 三,静态代理 四,动态代理 五,代理模式与装饰器模式比较 ...

2018-12-26 17:16:55

阅读数 15

评论数 0

java设计模式系列二之装饰器模式

一,装饰器模式概述 二,装饰器模式UML类图 三,装饰器模式代码例子 四,装饰器模式在IO中的应用 五,装饰器模式优缺点

2018-12-20 21:03:41

阅读数 77

评论数 0

java设计模式系列一之策略模式

一,概述 策略模式指:策略模式指将程序中可变部分抽象分离成一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 一般由三部分组成: 1.抽象策略角色:一般是接口或者抽象类 2,具体策略角色:接口实现,包装具体算法实现 3,环境角色:持有策略引...

2018-12-19 09:55:47

阅读数 19

评论数 0

java容器系列五(LinkedHashMap详解)

参考博文:https://blog.csdn.net/future234/article/details/80704005 一,LinkedHashMap概述 1,允许key为null,允许value为null 2,与HashMap最大区别:默认情况下,遍历顺序就是元素插入顺序。 LinkedHa...

2018-12-16 16:56:50

阅读数 23

评论数 0

java容器系列四(HashMap和HashSet详解)

一,HashMap数据结构 java8中,HashMap是基于数组加链表加红黑树实现的。 二,HashMap源码详解 1,put方法插入元素源码如下 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, ...

2018-12-14 14:43:55

阅读数 40

评论数 0

java容器系列三(TreeMap和TreeSet详解)

一,TreeMap详解 参考博文 http://www.cnblogs.com/CarpenterLee/p/5503882.html 1,红黑树详解 红黑树是满足如下条件的二叉查找树 (1)每个节点要么是黑色,要么是红色 (2)根节点必须是黑色 (3)红色节点不能连续(即红色节点的父节点和字节...

2018-12-12 21:35:05

阅读数 109

评论数 0

java容器系列二(ArrayList和LinkedList源码梳理)

一,ArrayList 参考博文: http://www.cnblogs.com/zhangyinhua/p/7687377.html## 标题 1,数组 在讲ArrayList之前我们首先讲一下数据结构中的数组。毕竟ArrayList是基于数组实现的List。 数组概述:数组中所有的元素都存储在...

2018-12-11 18:26:20

阅读数 35

评论数 0

java容器系列一(java容器Collection概述)

一,Collection容器继承关系图 java容器可谓是学习java必不可少的一部分。日常开发天天用。说起来特别惭愧,原来为了面试囫囵吞枣的看源码,但一直没有理清java容器。特此写这篇博客梳理常用java容器源码。另外,自己最近学习的时候有点小心得,学习java要慢慢来,学某一方面就要耐下心...

2018-12-09 22:19:22

阅读数 38

评论数 0

java并发系列六(线程池详解)

参考博文:https://www.cnblogs.com/dongguacai/p/6030187.html 一,线程池优点 1,减少创建和销毁线程的次数,使得线程可以重复使用 2,可以根据系统承受能力,调整线程池中线程的数量,防止因消耗过多内存而导致服务器崩溃。 二,线程池的创建 public ...

2018-12-08 15:38:10

阅读数 31

评论数 0

java并发系列五(并发集合,原子类)

1,并发集合 一,concurrentHashMap!!!(超重点) 这里对concurrentHashMap的讲解分为jdk7和jdk8。 两个版本有了很大的变化 java7中着重讲解分段锁,java8中concurrentHashMap是基于数组加链表加红黑树实现的 1,java7中concu...

2018-12-07 12:25:41

阅读数 95

评论数 0

java并发系列四(ReentranLock,并发工具类)

一,ReentranLock详解 二,并发工具类详解 三,并发集合详解

2018-12-03 21:22:40

阅读数 78

评论数 0

提示
确定要删除当前文章?
取消 删除