摘要: guavacache源码阅读笔记 官方文档: https://github.com/google/guava/wiki/CachesExplained 中文版: https://www.jianshu.com/p/88ec858cc021?from=singlemessage 参考文档: 美团技术团 阅读全文
posted @ 2021-06-18 17:29 张天赐的博客 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 一.手写mvc前基础知识 1.mvc是什么? MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我 阅读全文
posted @ 2020-08-12 16:56 张天赐的博客 阅读(701) 评论(0) 推荐(1) 编辑
摘要: 一.手写Aop前基础知识 1.aop是什么? 面向切面编程(AOP):是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP)。 在进行OOP开发时,都是基于对组件(比如类)进行开发,然后对组件进行组合,OOP最大问题就是无法解耦组件进行开发,而AOP就是为了克服这个问题而出现的 阅读全文
posted @ 2020-08-12 15:12 张天赐的博客 阅读(2391) 评论(1) 推荐(5) 编辑
摘要: 1.静态代理模式 代理模式上,基本上有Subject角色,RealSubject角色,Proxy角色。其中:Subject角色负责定义RealSubject和Proxy角色应该实现的接口;RealSubject角色用来真正完成业务服务功能;Proxy角色负责将自身的Request请求,调用reals 阅读全文
posted @ 2020-08-11 11:48 张天赐的博客 阅读(1137) 评论(0) 推荐(1) 编辑
摘要: 一.手写ioc前基础知识 1.什么是IOC(Inversion of Control 控制反转)? IoC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了Io 阅读全文
posted @ 2020-08-08 17:55 张天赐的博客 阅读(1526) 评论(0) 推荐(4) 编辑
摘要: package com.tc.javabase.collection; package com.tc.javabase.collection; import java.util.ArrayDeque; import java.util.LinkedList; import java.util.Que 阅读全文
posted @ 2020-08-06 01:07 张天赐的博客 阅读(354) 评论(0) 推荐(1) 编辑
摘要: 一.优先队列基础 普通队列:先进先出/ 优先队列:出队顺序和入队顺序无关;和优先级相关 1.为什么使用优先队列? 动态选择优先级最高的任务 如操作系统任务管理。 二.手写基于最大堆的优先队列及复杂度分析 package com.tc.javabase.datastructure.tree.prior 阅读全文
posted @ 2020-08-06 01:01 张天赐的博客 阅读(194) 评论(0) 推荐(1) 编辑
摘要: 1.堆基础 二叉堆的定义: 1.二叉堆是一个完全二叉树结构。完全二叉树不一定是一个满二叉树。完全二叉树左节点必须是满的,右节点为可以为空。把元素一层一层的从左往右依次排列。 2.当满足该节点的左右孩子节点都小于该节点时,称为最大堆。反之,当该节点的左右孩子节点大于该节点时,称为最小堆。 2.手动实现 阅读全文
posted @ 2020-08-06 00:48 张天赐的博客 阅读(236) 评论(0) 推荐(1) 编辑
摘要: 1.二分搜索树基础 1.为什么要有树结构? 将数据使用树结构存储后,出奇的高效。 常见的树结构:二分搜索树/平衡二叉树(AVL 红黑树)/堆/优先队列..等 2.二叉树特点 二叉树具有唯一根节点 二叉树每个节点最多有两个孩子,每个节点最多有一个父亲 二叉树具有天然的递归结构 二叉树不一定是满的 一个 阅读全文
posted @ 2020-08-06 00:34 张天赐的博客 阅读(134) 评论(0) 推荐(1) 编辑
摘要: 1.基于链表的队列基础 结构特性:先进先出 实现原理:采用双指针,多维护一个指针指向队尾,向尾部进行添加操作时间复杂度会变为O(1)。 2.手写基于链表的队列及复杂度分析(和基于动态数组的循环队列对比) package com.tc.javabase.datastructure.linklist.q 阅读全文
posted @ 2020-08-06 00:18 张天赐的博客 阅读(169) 评论(0) 推荐(0) 编辑