摘要:
学习过程中不免要搭建环境,如果一步混了就要各种找错,而且搭环境这种体力活实在不想过多重复,最近看到了Docker技术终于可以卸下这重复劳动了 1. 为什么出现Docker 以前我们开发项目有专门的开发环境,做测试时有测试环境,而产品上线就会有生产环境,这个过程经常要迁移项目,不同的环境配置可能导致不 阅读全文
摘要:
验证码功能只需复制粘贴即可,做个记录方便回看 1. 绘制验证码 java @RestController public class VerifyCodeController { @GetMapping("/verifyCode") public void verifyCode(HttpServlet 阅读全文
摘要:
最近要学太多东西了,学得太浅容易忘记,所以决定拿个实际项目练手,近期会整理笔记上传 1. Spring Security 进入Spring官网的Security可以看到下面这样一个简介: Spring Security是一个功能强大且高度可定制的身份认证和访问控制框架,它是用于保护基于Spring的 阅读全文
摘要:
1. 堆 堆是完全二叉树的数组形式,由于堆没有指针指向,所以可以利用下标来模拟指向,假设 i 为父节点,那么 2i+1 为左孩子,2i+2 为右孩子。假设 i 为当前节点,那么 (i 1) / 2 为父节点 根据大小排序可分为小根堆和大根堆,小根堆即元素越小越在上方,大根堆则相反。 这里注意:元素大 阅读全文
摘要:
今天学的内容太南了(主要太菜),为了找回自信去瞅了下吃灰的备忘录,还真发现些内容,下期预定第三方登录 1. SSO 单点登录(Single Sign On),在多个互相信任的Web站点中,只要登录过其中一个,那么其他的站点都可以直接访问而不用登录。举个栗子:淘宝和天猫是两个Web站点,登录淘宝之后就 阅读全文
摘要:
在看数据结构时发现图的这章没怎么看,赶紧瞅瞅,下面以二叉树为例说明 1. 树的结构 为了方便读者查看简洁的DFS和BFS逻辑,这里把树的基本结构统一抽取出来且不讨论树的实现 2. DFS 深度优先搜索,从某个初始点出发,首先访问初始点,然后选择一个与该点相邻且没有访问过的点,接着以该相邻点为初始点, 阅读全文
摘要:
看集合扩容时能经常看到位运算,所以翻出来复习一下 1. 原码,补码,反码 原码:将数值转化成二进制,最高位表示符号位 反码:在原码的基础上,正数不变、负数符号位不变,其余各位取反 补码:在原码的基础上,正数不变、负数符号位不变,其余各位取反再加1(即反码+1) 三者是计算机存储数据的不同形式,计算机 阅读全文
摘要:
没想到把,SpringBoot虽然简化了开发流程,但要学的东西还有很多 1. Spring Boot简介 采用约定大于配置,简化Spring开发步骤与复杂的部署流程 快速创立可独立运行的Spring项目以及集成主流框架 嵌入式Servlet容器,无需打war包 starter自动依赖与版本控制 大量 阅读全文
摘要:
在Redis的缓存穿透中了解到布隆过滤器,不禁想了解其奇妙之处 1. 布隆过滤器的作用 判断传入数据是否已经存在,由这个基本功能可以泛生出: 防止Redis缓存穿透 海量数据去重 垃圾邮件过滤 2. 什么是布隆过滤器 布隆过滤器(Bloom Filter)是1970年由一个叫布隆的人提出的,它本质是 阅读全文
摘要:
学会了Redis的基本操作还不够,再来看看升级部分 1. 数据删除策略 惰性删除+定期删除(默认) 定期删除:默认是每隔 100ms 就轮询各个库随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除。每隔100ms就遍历所有的设置过期时间的 key 的话,是个损耗。 惰性删除:定期删除 阅读全文