自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 java注解详解

一,基本语法首先,我们先来定义一个最简单的没有元素的注解,称为标记注解。 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Test { }它就像一个空接口。定义注解时会需要一些元注解。@Retention用来定义该注解在哪一个级别可用,在源代码中(SOURCE)...

2019-02-24 23:29:28 151

原创 java枚举详解

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

2019-02-23 15:21:57 169

原创 java异常知识点梳理

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

2019-01-28 22:44:26 456

原创 java反射详解

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

2019-01-24 23:07:21 196

原创 java泛型详解

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

2019-01-16 23:03:12 177

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

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

2019-01-03 10:03:01 102

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

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

2018-12-31 19:46:59 82

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

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

2018-12-27 21:07:36 100

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

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

2018-12-27 10:05:11 97

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

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

2018-12-26 17:16:55 80

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

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

2018-12-20 21:03:41 161

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

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

2018-12-19 09:55:47 100

转载 java容器系列五(LinkedHashMap详解)

参考博文:https://blog.csdn.net/future234/article/details/80704005一,LinkedHashMap概述1,允许key为null,允许value为null2,与HashMap最大区别:默认情况下,遍历顺序就是元素插入顺序。LinkedHashMap的Entrystatic class Entry<K,V> extends H...

2018-12-16 16:56:50 419

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

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

2018-12-14 14:43:55 143

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

一,TreeMap详解参考博文 http://www.cnblogs.com/CarpenterLee/p/5503882.html1,红黑树详解红黑树是满足如下条件的二叉查找树(1)每个节点要么是黑色,要么是红色(2)根节点必须是黑色(3)红色节点不能连续(即红色节点的父节点和字节点必须是黑色)(4)对于每个节点,从该点至null(树尾端)的任何路径,都含有相同个数的黑色节点。...

2018-12-12 21:35:05 365

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

一,ArrayList参考博文:http://www.cnblogs.com/zhangyinhua/p/7687377.html## 标题1,数组在讲ArrayList之前我们首先讲一下数据结构中的数组。毕竟ArrayList是基于数组实现的List。数组概述:数组中所有的元素都存储在操作系统分配的一个内存块中。通过使用特定元素的索引作为下标,可以在常数时间内访问元素。数组优点:访问...

2018-12-11 18:26:20 141

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

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

2018-12-09 22:19:22 231

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

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

2018-12-08 15:38:10 170

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

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

2018-12-07 12:25:41 653

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

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

2018-12-03 21:22:40 438

原创 java并发系列三(深入理解AQS和CAS)

11

2018-11-29 16:24:02 3487 1

原创 java并发系列二(深入!!!理解synchronized,volatile)

一,synchronized详解这个关键字大家想必是相当熟悉了,它是一个比较重量级的锁,主要有两层含义,一个是互斥性,一个是可见性。三种用法:1,修饰普通方法2,修饰静态方法3,修饰代码块这里有一点需要注意,普通方法要拿到当前实例的锁,静态方法要拿到当前class对象的锁。重点来了!!!synchronized实现原理!!!(这块内容晦涩难懂,主要是参考的这篇博文https://blog...

2018-11-25 16:27:06 217 1

原创 java并发系列一(java内存模型)

作为一个半路出家学java的菜菜菜鸟,真的是感觉路漫漫其修远兮,工作间隙看了大约两周的java并发,现在开始慢慢总结。

2018-11-22 23:28:28 128

原创 java中json用法整理

阿里家的json日常开发中遇到各种json,感觉用的比较乱,在这里先着重整理一下阿里家的json用法。Step1:maven配置 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> ...

2018-11-22 14:02:51 630

原创 数据结构之栈和队列

栈的定义栈是一种只能在一端进行插入或删除操作的线性表。其中允许进行插入或删除操作的一端称为栈顶。表的另一端称为栈底,栈底是固定不变的。栈的插入和删除操作一般称为入栈和出栈。特点:先进后出队列的基本概念也是一种操作受限的线性表:在表的一端进行插入,在表的另一端进行删除。可进行插入的一端称为队尾,可进行删除的一端称为队头。特点:先进先出栈和队列的存储结构,算法与应用...

2018-11-04 22:23:13 103

原创 数据结构之线性表

1,线性表的定义线性表是具有相同特性数据元素的一个有限序列。2,线性表的存储结构(相当重要)线性表的存储结构有顺序存储结构和链式存储结构两种。前者称为顺序表,后者成为链表。(1)顺序表顺序表就是把线性表中的所有元素按照其逻辑顺序,依次存储到从指定的存储位置开始的一块连续存储空间中。(2)链表在链表存储中,每个节点不仅包含所存元素的信息,还包含元素间逻辑关系的信息,如单链表中前驱结点包...

2018-11-03 22:05:55 93

原创 effective java第4章 类和接口

第13条 使类和成员的可访问性最小化第一规则:尽可能地使每个类或成员不被外界访问只有当同一个包内的另一个类真正需要访问一个成员的时候,你才应该删除private修饰符。如果方法覆盖了超类中的一个方法,子类中的访问级别就不允许低于超类中的访问级别。这样可确保任何可使用超类实例的地方也可以使用子类的实例。长度非零的数组总是可变的,所以,类具有公有的静态final数组域,或者返回这种域的访问方法...

2018-09-27 11:41:33 160

原创 Thinking in java 第18章 Java I/O系统

1, File类File类既能代表一个特定文件的名称,又能代表目录下的一组文件的名称。如果指的是一个文件集,我们就可以对此集合调用list方法,这个方法会返回一个字符数组。下面是一个例子,如何得到符合条件的File对象。import java.io.File;import java.util.Arrays;public class DirList { public static...

2018-09-22 18:43:27 197 1

原创 Spring实战4 第6章 渲染Web视图

6.1 理解视图解析(一带而过,哈哈)首先Spring视图解析器的工作就是确定用哪一个视图来渲染模型。InternalResourceViewResolver这个视图解析器一般会用来解析JSP视图。6.2 创建JSP视图Spring提供了两种支持JSP视图的方式1,InternalResourceViewResolver将视图名解析为JSP文件。如果在页面中用了JSTL的话,它还能够将视图...

2018-09-17 22:49:07 124

原创 effective java中文版第三章 对于所有对象都通用的方法

第1条:考虑用静态工厂方法替代构造器 如下方法将boolean基本类型值转换为了一个Boolean对象引用public static Boolean valueOf(boolean b){ return b ?Boolean.TRUE:Boolean.FALSE;}静态工厂方法与构造器相比的第一大优势:它们会有名称 ...

2018-09-15 01:28:01 133

原创 Spring实战4 第5章 构建Spring Web应用程序

一,构建Spring Web应用程序1,Spring MVC起步1.1跟踪Spring Mvc请求 *在请求离开浏览器是,带有用户请求的内容信息 第一站是Spring的DispatcherServlet,在Spring MVC中,它就是前端控制器。它的任务是将请求发送给Spring MVC控制器。控制器是一个用于处理请求的Spring组件。DispatcherSer...

2018-09-10 23:55:33 116

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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