12-反转链表算法 反转链表的基本思路是:从头结点开始遍历链表,每次将当前节点的 next 指针指向前一个节点,然后将前一个节点设置为当前节点,最后将当前节点设置为原来的下一个节点。当遍历完成时,链表的头节点即为原来的尾节点,整个链表也就被反转了过来。 123456789101112131415161718192021222324public class ListNode { int val; 2017-06-28 03_数据结构 > 04_算法 #算法题
01-JavaSE简单总结 01-abstract 与 interface 据说是常见面试题。 1. 语法区别 构造方法:抽象类可以有构造方法,接口中不能有构造方法 成员变量:抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。 普通成员变量:抽象类中可以有普通成员变量, 2017-06-28 20_面试问题 > 01_技术问题 #面试题
01-Redis 环境搭建 官网教程:https://www.redis.net.cn/tutorial/3501.html 菜鸟教程:https://www.runoob.com/redis/redis-tutorial.html 1. Redis 简介关系型数据库 与 noSQL 数据库(键值对存储) 从性能上而言,nosql数据库要优于关系型数据库,从安全性上而言关系型数据库要优于nosql数据库,所以在实际开发中一 2017-06-20 05_数据库 > 03_Redis #配置 #Redis
02-Redis 数据存储类型 官网教程:https://www.redis.net.cn/tutorial/3505.html 菜鸟教程:https://www.runoob.com/redis/redis-tutorial.html 1. Redis 数据类型Redis 常用 5 种存储数据的结构: String:一个 key 对应一个值 Hash:一个 key 对应一个 Map List:一个 key 对应一个列表 S 2017-06-20 05_数据库 > 03_Redis #命令 #Redis
03-Redis Java+Jedis 官网教程:https://www.redis.net.cn/tutorial/3525.html 1. Jedis 使用1.1 修改 redis.conf 配置修改 /usr/local/redis-5.0.4/bin 目录下的 redis.conf 配置文件,然后启动 redis 服务端。 启动命令:[root@localhost /usr& 2017-06-20 05_数据库 > 03_Redis #Redis #Jedis
04-Redis 事务+持久化+订阅 官网教程:https://www.redis.net.cn/tutorial/3515.html 1. Redis 事务Redis 中的事务和 MySQL 中的事务有本质的区别,Redis中的事务是一个单独的隔离操作,事务中所有的命令都会序列化,按照顺序执行,事务在执行的过程中,不会被其他客户端发来的命令所打断,因为Redis服务端是个单线程的架构,不同的 Client 虽然看似可以同时保持连接 2017-06-20 05_数据库 > 03_Redis #事务 #Redis
05-Redis 主从复制+哨兵模式 官网教程:https://www.redis.net.cn/tutorial/3515.html 1. Redis 主从复制主从复制是指将一台 Redis 服务器的数据,复制到其它的 Redis 服务器。 前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 默认情况下,每台 Redis 服务器都是主节点,且一个主节点可以有多个从节点(或没有从 2017-06-20 05_数据库 > 03_Redis #Redis #哨兵
07-Redis 穿透,击穿,雪崩,倾斜,淘汰,删除 1. 缓存穿透 概念 查不到,缓存层+持久层都压力增大 当用户去查询数据的时候,发现 redis 内存数据库中没有,于是向持久层数据库查询,发现也没有,于是查询失败,当用户过多时,缓存都没有查到,于是都去查持久层数据库,这会给持久层数据库造成很大的压力,此时相当于出现了缓存穿透。 解决方案 × 2 布隆过滤器(★):是一种数据结构,将所有可能存在的数据哈希到一个足够大的 bitmap 2017-06-20 05_数据库 > 03_Redis #Redis #穿透 #击穿 #雪崩 #倾斜 #淘汰
08-Redis SortedSet 排行榜 官网教程:https://www.redis.net.cn/tutorial/3505.html 菜鸟教程:https://www.runoob.com/redis/redis-tutorial.html 场景: 实现汽车热度排行榜 现有 Api 消费者服务、CarServer 提供者服务、Cache Redis缓存服务 1. 基本逻辑数据预热: 第一次从 Api 进行访问请求 CarSe 2017-06-20 05_数据库 > 03_Redis #Redis #排行榜
08-MyBatis 逆向工程 【躲坑】: 注意数据库中字段名(列名)要与实体类中的字段名(属性名)完全一致 解决办法:在逆向工程生成 pojo 后,手动将 实体类的属性名+Mapper.xml的属性名 修改为完全一致,避免 N 多映射问题。 即:数据库字段名、实体类字段名、前端页面标签中的 name 属性值,三者必须完全一致。 原因: 数据库中使用小驼峰命名时,如 className,逆向工程生成 pojo 实体类属 2017-06-19 05_数据库 > 02_MyBatis #MyBatis