自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式(三)结构型之代理模式、适配器模式、装饰者模式、桥接模式、外观模式、组合模式、享元模式

目录2 结构型模式2.1 代理模式2.1.1 概述2.1.2 结构2.1.3 静态代理2.1.4 JDK动态代理2.1.5 CGLIB动态代理2.1.6 三种代理的对比2.1.7 优缺点2.1.8 使用场景2.2 适配器模式2.2.1 概述2.2.2 结构2.2.3 类适配器模式2.2.4 对象适配器模式2.2.5 应用场景2.2.6 JDK源码解析2.3 装饰者模式2.3.1 概述2.3.2 结构2.3.3 案例2.3.4 使用场景2.3.5 JDK源码解析2.3.6 代理和装饰者的区别2.4 桥接模式2

2021-02-28 22:23:06 1284

原创 设计模式(二)创建型之工厂模式、原型模式、建造者模式

目录1 创建型模式1.2 工厂模式1.2.1 概述1.2.2 简单工厂模式1.2.3 工厂方法模式1.2.4 抽象工厂模式1.2.5 模式扩展1.2.6 JDK源码解析-Collection.iterator方法1.3 原型模式1.3.1 概述1.3.2 结构1.3.3 实现1.3.4 案例1.3.5 使用场景1.3.6 扩展(深克隆)1.4 建造者模式1.4.1 概述1.4.2 结构1.4.3 实例1.4.4 优缺点1.4.5 使用场景1.4.6 模式扩展1.6 创建型模式对比1.6.1 工厂方法模式VS

2021-02-28 16:04:54 179

原创 设计模式(一)创建型之单例模式

这里写自定义目录标题1 创建型模式1.1 单例设计模式1.1.1 单例模式的结构1.1.2 单例模式的实现1.1.3 存在的问题1.1.3.1 问题演示1.1.3.2 问题的解决1.1.4 JDK源码解析-Runtime类1 创建型模式创建型模式的主要关注点是“怎样创建对象?”,它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。创建型模式分为:单例模式工厂方法模式抽象工厂模式原型模式建造者模式1.1 单例设计模式单例模式(Singl

2021-02-28 13:32:05 420 2

原创 JVM(二)JVM面试

JVM(二)1、JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots(1)哪些对象可以作为GC Roots对象2、如何盘点查看JVM系统默认值(1)JVM参数类型(2)查看参数3、你平时工作用过的JVM常用基本配置参数有哪些4、强引用、软引用、弱引用、虚引用作用分别是什么4.1 强引用 Reference4.2 软引用 SoftReference4.3 弱引用 WeakReference4.4 虚引用PhantomReference4.4.1 引用队列Reference4.5 适用场景5、请你

2021-02-21 00:45:16 162

原创 JVM(一)基础知识

JVM(一)JVM一、JVM组成结构谈谈二、JVM体系结构概览三、栈(Stak)3.1 栈存储什么3.2 栈运行原理3.3 判断JVM优化是哪里3.4 三种JVM四、堆(Heap)4.1 堆内存示意图4.2 新生区4.3 养老区4.4 永久区4.5 小总结五、JVM垃圾收集(Java Garbage Collection)5.1 堆内存调优简介七、GC三大算法7.1 GC算法总体概述7.2 复制算法:MinorGC(普通GC)7.2.1 原理7.2.2 解释7.3.3 劣势7.3 标记清除/标记整理算法:F

2021-02-20 23:25:39 1037 2

原创 JUC(三)阻塞队列、线程池、死锁

JUC(三)七、阻塞队列1、队列和阻塞队列2、为什么用?有什么好处?3、BlockingQueue的核心方法4、架构梳理+种类分析5、用在哪里6、synchronized和lock有什么区别?用新的lock有什么好处?请举例八、线程池用过吗?ThreadPoolExecutor谈谈你的理解1、Callable接口的使用2、为什么使用线程池3、线程池如何使用4、线程池的几个重要参数介绍5、线程池的底层工作原理九、线程池用过吗?生产上你如何设置合理参数1、线程池的拒绝策略2、你在工作中单一的/固定数的/可变的三

2021-02-20 23:06:27 629

原创 JUC(二)CopyOnWriteArrayList、锁、CountDownLatch/CyclicBarrier/Semaphore

JUC(二)四、我们知道ArrayList是线程不安全的,请编写一个不安全的案例并给出解决方案1、线程不安全2、导致原因3、解决方法:CopyOnWriteArrayList五、公平锁、非公平锁、可重入锁、递归锁、自旋锁?手写自旋锁1、公平锁、非公平锁2、可重入所(递归锁)3、独占锁(写锁)/共享锁(读锁)/互斥锁4、自旋锁六、CountDownLatch/CyclicBarrier/Semaphore使用过吗1、CountDownLatch(火箭发射倒计时)2、CyclicBarrier(集齐七颗龙珠召唤

2021-02-20 22:47:03 443 2

原创 JUC(一)volatile、CAS、ABA、原子类

JUC(一)一、请你谈谈对volatile的理解1、volatile是java虚拟机提供的轻量级的同步机制2、JMM(java内存模型)3、你在哪些地方用过volatile二、CAS你知道吗1、compareAndSet----比较并交换2、CAS底层原理?对Unsafe的理解3、CAS缺点三、原子类AtomicInteger的ABA问题?原子更新引用?1、ABA如何产生2、如何解决?原子引用3、时间戳的原子引用一、请你谈谈对volatile的理解​ Package java.util.concurre

2021-02-20 22:15:13 461 1

原创 SpringBoot

文章目录1. SpringBoot的核心功能2. SpringBoot原理分析2.1 起步依赖原理分析2.1.1 分析spring-boot-starter-parent2.1.2 分析spring-boot-starter-web2.2 自动配置原理解析1. SpringBoot的核心功能起步依赖起步依赖本质上是一个Maven项目对象模型(Project Object Model,POM),定义了对其他库的传递依赖,这些东西加在一起即支持某项功能。简单的说,起步依赖就是将具备某种功能的坐标打包

2021-02-11 23:54:51 182

原创 Mybatis

文章目录1.MyBatis映射文件深入1.1 动态sql语句1.1.1动态 SQL 之<**if>**1.1.2 动态 SQL 之<**foreach>**1.2 SQL片段抽取2.Mybatis的注解开发2.1 MyBatis的常用注解2.2 MyBatis的增删改查3. Mybatis 延迟加载策略3.1 延迟加载3.2 实现需求3.3 使用assocation实现延迟加载3.4 使用Collection实现延迟加载第 2 章 Mybatis 缓存2.1 Mybatis一级缓

2021-02-11 22:00:04 229 1

原创 SpringMVC(二)拦截器、异常处理机制

文章目录01-拦截器的作用(理解)02-interceptor和filter区别(理解,记忆)03-快速入门(应用)04-快速入门详解(应用)05-SpringMVC异常处理机制1.1 异常处理的思路1.2 异常处理两种方式1.3 简单异常处理器SimpleMappingExceptionResolver1.4 自定义异常处理步骤01-拦截器的作用(理解)Spring MVC 的拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。将拦截器按一定的顺序联结成一条

2021-02-11 14:23:27 270 1

原创 SpringMVC(一)组件、请求与响应

目录1 SpringMVC流程图示2. SpringMVC的组件解析2.1 SpringMVC的执行流程2.2 SpringMVC组件解析2.3 SpringMVC注解解析2.4 SpringMVC的XML配置解析2.5 知识要点1 SpringMVC流程图示2. SpringMVC的组件解析2.1 SpringMVC的执行流程①用户发送请求至前端控制器DispatcherServlet。②DispatcherServlet收到请求调用HandlerMapping处理器映射器。③处理器映射器

2021-02-11 14:10:29 1534

原创 spring(四)声明式事务控制

文章目录声明式事务控制1. 编程式事务控制相关对象1.1 PlatformTransactionManager1.2 TransactionDefinition1. 事务隔离级别2. 事务传播行为1.3 TransactionStatus1.4 知识要点2 基于 XML 的声明式事务控制2.1 什么是声明式事务控制2.2 声明式事务控制的实现2.3 切点方法的事务参数的配置2.4 知识要点3 基于注解的声明式事务控制3.1 使用注解配置声明式事务控制3.2 注解配置声明式事务控制解析3.3 知识要点声明式

2021-02-10 21:50:15 196

原创 spring(三)SpringAOP

文章目录1.SpringAOP1.1 什么是 AOP1.2 AOP 的作用及其优势1.3 AOP 的底层实现1.4 AOP 的动态代理技术1.5 JDK 的动态代理1.6 cglib 的动态代理1.7 AOP 相关概念1.8 AOP 开发明确的事项1.9 知识要点2. 基于 XML 的 AOP 开发2.1 快速入门2.2 XML 配置 AOP 详解1) 切点表达式的写法2) 通知的类型3) 切点表达式的抽取2.3 知识要点3.基于注解的 AOP 开发3.1 快速入门3.2 注解配置 AOP 详解1) 注解通

2021-02-10 21:22:32 537 4

原创 spring(二)Spring注解

文章目录1. Spring注解开发1.1 Spring原始注解1.2 Spring新注解1. Spring注解开发1.1 Spring原始注解Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。Spring原始注解主要是替代的配置注解说明@Component使用在类上用于实例化Bean@Controller使用在web层类上用于实例化Bean@Service使用在servic

2021-02-10 20:18:07 287

原创 spring(一)SpringIoC&DI

文章目录1. Spring配置文件1.1 Bean标签基本配置1.2 Bean标签范围配置1.3 Bean生命周期配置1.4 Bean实例化三种方式1.5 Bean的依赖注入入门1.6 Bean的依赖注入概念1.7 Bean的依赖注入方式1.8 Bean的依赖注入的数据类型1.9 引入其他配置文件(分模块开发)2. spring相关API2.1 ApplicationContext的继承体系2.2 ApplicationContext的实现类2.3 getBean()方法使用1. Spring配置文件1

2021-02-10 19:51:52 257 1

原创 面向对象(二)多态&抽象类&接口

文章目录1.多态1.1多态的概述(记忆)1.2多态中的成员访问特点(记忆)1.3多态的好处和弊端(记忆)1.4多态中的转型(应用)1.5多态的案例(应用)2.抽象类2.1抽象类的概述(理解)2.2抽象类的特点(记忆)2.3抽象类的成员特点(记忆)2.4抽象类的案例(应用)3.接口3.1接口的概述(理解)3.2接口的特点(记忆)3.3接口的成员特点(记忆)3.4接口的案例(应用)3.5类和接口的关系(记忆)3.6抽象类和接口的区别(记忆)4.综合案例4.1案例需求(理解)4.2代码实现(应用)1.多态1.

2021-02-10 17:31:10 252 2

原创 面向对象(一)继承&修饰符

文章目录1. 继承1.1 继承的实现(掌握)1.2 继承的好处和弊端(理解)2. 继承中的成员访问特点2.1 继承中变量的访问特点(掌握)2.2 super(掌握)2.3 继承中构造方法的访问特点(理解)2.4 继承中成员方法的访问特点(掌握)2.5 super内存图(理解)2.6 方法重写(掌握)2.7 方法重写的注意事项(掌握)2.8. Java中继承的注意事项(掌握)3. 修饰符3.1 package(了解)3.2 import(理解)3.3 权限修饰符(理解)4.4 final(应用)4.5 fin

2021-02-08 16:51:05 266 2

原创 JDK新特性(二)函数式接口、Stream流

文章目录1.函数式接口1.1函数式接口概述【理解】1.2函数式接口作为方法的参数【应用】1.3函数式接口作为方法的返回值【应用】1.4常用函数式接口之Supplier【应用】1.5Supplier接口练习之获取最大值【应用】1.6常用函数式接口之Consumer【应用】1.7Consumer接口练习之按要求打印信息【应用】1.8常用函数式接口之Predicate【应用】1.9Predicate接口练习之筛选满足条件数据【应用】1.10常用函数式接口之Function【应用】1.11Function接口练习之

2021-02-07 21:17:53 167

原创 JDK新特性(一)Lambda、方法引用

文章目录1.Lambda表达式1.1体验Lambda表达式【理解】1.2Lambda表达式的标准格式【理解】1.3Lambda表达式练习1【应用】1.4Lambda表达式练习2【应用】1.5Lambda表达式练习3【应用】1.6Lambda表达式的省略模式【应用】1.7Lambda表达式的注意事项【理解】1.8Lambda表达式和匿名内部类的区别【理解】2.接口组成更新2.1接口组成更新概述【理解】2.2接口中默认方法【应用】2.3接口中静态方法【应用】2.4接口中私有方法【应用】3.方法引用3.1体验方法

2021-02-07 17:07:09 306

原创 反射

这里写自定义目录标题2.反射2.1反射的概述【理解】2.2获取Class类对象的三种方式【应用】2.2.1三种方式分类2.2.2示例代码2.3反射获取构造方法并使用【应用】2.3.1Class类获取构造方法对象的方法2.3.2Constructor类用于创建对象的方法2.4反射获取构造方法并使用练习1【应用】2.5反射获取构造方法并使用练习2【应用】2.6反射获取成员变量并使用【应用】2.6.1Class类获取成员变量对象的方法2.6.2Field类用于给成员变量赋值的方法2.7反射获取成员变量并使用练习【

2021-02-06 19:00:17 333 2

原创 IO流

文章目录IO流1字节流1.1字节流写数据【应用】1.2字节流写数据的三种方式【应用】1.3字节流写数据的两个小问题【应用】1.4字节流写数据加异常处理【应用】1.5字节流读数据(一次读一个字节数据)【应用】1.6字节流读数据(一次读一个字节数组数据)【应用】1.7字节缓冲流3字符流3.1字符串中的编码解码问题【应用】3.2字符流中的编码解码问题【应用】3.3字符流写数据的5种方式【应用】3.4字符流读数据的2种方式【应用】3.5字符缓冲流【应用】3.6字符缓冲流复制Java文件【应用】2.11字符缓冲流特有

2021-02-05 21:32:55 361 4

原创 常用API(二)内部类&API

文章目录1. 参数传递1.1 类名作为形参和返回值(应用)1.2 抽象类作为形参和返回值(理解)1.3 接口名作为形参和返回值(理解)2. 内部类2.1 内部类的基本使用(理解)2.2 成员内部类(理解)2.3 局部内部类(理解)2.4 匿名内部类(应用)2.4 匿名内部类在开发中的使用(应用)3. 常用API3.1 Math(应用)3.2 System(应用)3.3 Object类的toString方法(应用)3.4 Object类的equals方法(应用)3.5 Arrays(应用)1. 参数传递1

2021-02-05 20:44:34 290 2

原创 常用API(一)String与StringBuilder

文章目录1.String类1.1String类概述【理解】1.2String类的特点【理解】1.3String类的构造方法【记忆】1.4创建字符串对象两种方式的区别【理解】1.5字符串的比较1.5.1==号的作用1.5.2equals方法的作用1.6帮助文档查看String常用方法【记忆】2.StringBuilder类2.1StringBuilder类概述【理解】2.2StringBuilder类和String类的区别【理解】2.3StringBuilder类的构造方法【记忆】2.4StringBuild

2021-02-05 20:11:05 308 1

原创 解密JVM(四 )类加载

文章目录1.1类加载阶段1.1.1加载1.1.2链接1.1.3初始化1.2类加载器1.3运行期优化1.1类加载阶段1.1.1加载将类的字节码载入方法区(1.8后为元空间,在本地内存中)中,内部采用 C++ 的 instanceKlass 描述 java 类,它的重要field 有:_java_mirror 即 java 的类镜像,例如对 String 来说,它的镜像类就是 String.class,作用是把 klass 暴露给 java 使用_super 即父类_fields 即成员变量_m

2021-02-04 15:02:09 316 1

原创 解密JVM(三)字节码

这里写自定义目录标题

2021-02-03 14:01:33 377 1

原创 解密JVM(二)垃圾回收

文章目录垃圾回收1 如何判断对象可以回收1.1 引用计数法1.2 可达性分析算法1.3 五种引用2 如何判断对象可以回收2.1 引用计数法2.2 可达性分析算法2.3 五种引用3 如何判断对象可以回收3.1 引用计数法3.2 可达性分析算法3.3 五种引用4 如何判断对象可以回收4.1 引用计数法4.2 可达性分析算法5 如何判断对象可以回收垃圾回收1 如何判断对象可以回收1.1 引用计数法当对象添加一个引用计数器,当有一个地方引用它,计数器加1,当引用失效,计数器减一,任何时刻计数器为0的对象就是

2021-02-01 15:58:00 356 2

空空如也

空空如也

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

TA关注的人

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