11 2022 档案

摘要:java.util.Stack; /** @PROJECT_NAME: DataStruct @DESCRIPTION: @USER: 28416 @DATE: 2022/11/30 14:41 逆波兰表达式 */ public class PolandNotation { public stati 阅读全文
posted @ 2022-11-30 23:34 wiselee/ 阅读(33) 评论(0) 推荐(0) 编辑
摘要:栈实现计算器的操作 使用一个栈完成计算一个表达式的结果 使用两个栈:数栈(存放数) 符号栈(存放运算符) 思路 通过一个index值,来遍历我们的表达式 如果我们发现一个数字,就直接加入到树栈中 如果发现扫描到的是一个符号,就分如下情况来解决, 如果发现当前的符号栈就直接入栈 如果符号栈有操作符,就 阅读全文
posted @ 2022-11-29 17:20 wiselee/ 阅读(32) 评论(0) 推荐(0) 编辑
摘要:单向环形列表 应用场景:约瑟夫环问题 思路: 创建第一个节点,让first指向该节点,并形成环状 后面当我们每创建一个新的节点,就把该节点,加入到已有的环形链表中即可 遍历环形链表 先让一个辅助变量,指向frist节点 然后通过一个while循环遍历该环形链表即可 curBoy.next == fi 阅读全文
posted @ 2022-11-28 23:08 wiselee/ 阅读(20) 评论(0) 推荐(0) 编辑
摘要:单链表的面试题 1.求单链表中的有效节点的个数 /** * * @param heroNode 链表的头结点 * @return 返回的就是有效节点的个数 */ public static int getLength(HeroNode heroNode){ if (heroNode.next == 阅读全文
posted @ 2022-11-28 13:47 wiselee/ 阅读(22) 评论(0) 推荐(0) 编辑
摘要:队列 队列首先是一个有序列表,即可以用数组或是链表来实现 遵循先入先出的原则,即:先存入队列的数据,要先取出,后存入的要后取出 示意图: 数组模拟队列 队列本身就是有序列表,若使用数组的结构来存储队列的数据,则使用maxsize表示该队列的最大容量 因为队列的输出、输入是分别从前后端来处理,因此需要 阅读全文
posted @ 2022-11-27 16:17 wiselee/ 阅读(44) 评论(0) 推荐(0) 编辑
摘要:稀疏数组 当一个数组中大部分元素为0,或者为同一个数值时,可以使用稀疏数组来保存该数组 稀疏数组的处理方法是: ​ 1.记录数组一共有几行几列,有多少不同的值 ​ 2.把具有不同值的元素行列以及值记录在一个小规模的数组中,从而缩小程序的规模 应用实例 棋盘的一个案例 一般稀疏数组的列是固定的三个,分 阅读全文
posted @ 2022-11-27 00:17 wiselee/ 阅读(22) 评论(0) 推荐(0) 编辑
摘要:redis缓存穿透、缓存击穿、缓存雪崩 ​ 在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向 阅读全文
posted @ 2022-11-26 16:16 wiselee/ 阅读(93) 评论(0) 推荐(0) 编辑
摘要:集群 容量不够,redis如何进行扩容? 并发写操作,redis如何分摊?另外?主从模式,薪火相传方式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端口等信息。 之前通过代理主机来解决,但是redis3.0中提供了解决方案,就是无中心化集群配置。 无中心化集群配置 什么是集 阅读全文
posted @ 2022-11-26 10:54 wiselee/ 阅读(21) 评论(0) 推荐(0) 编辑
摘要:哨兵模式 是什么 反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票自动将从库转换为主库 准备 配置一主二仆的环境 创建一个sentinel.con ​ 并且写入:sentinel monitor mymaster 127.0.0.1 6381 |sentinel monitoe 昵称 阅读全文
posted @ 2022-11-23 16:47 wiselee/ 阅读(32) 评论(0) 推荐(0) 编辑
摘要:redis主从复制 是什么 主机数据更新后裔根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,slave以读为主 能干嘛 读写分离,性能扩展 容灾快速恢复 一般为一主多从配置 集群的概念 多个一主多从的服务器集群: 配置主从复制 要求:一主两从 如何进行配置: ​ 阅读全文
posted @ 2022-11-23 15:02 wiselee/ 阅读(21) 评论(0) 推荐(0) 编辑
摘要:redis持久化之AOF ​ 以日志的形式来记录每个写操作(增量保存),将redis执行过的所有指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取改文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作 AOF持 阅读全文
posted @ 2022-11-22 23:27 wiselee/ 阅读(18) 评论(0) 推荐(0) 编辑
摘要:第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖。在这几十年里,无数的技术、产业在这片江湖里沉浮 阅读全文
posted @ 2022-11-22 00:28 wiselee/ 阅读(34) 评论(0) 推荐(0) 编辑
摘要:第02章_MySQL环境搭建 讲师:尚硅谷 宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. MySQL的卸载 步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务。按键盘上的“Ctrl + Alt + Delete”组合键,打开“任务管理器”对话 阅读全文
posted @ 2022-11-22 00:06 wiselee/ 阅读(46) 评论(0) 推荐(0) 编辑
摘要:第01章_数据库概述 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 为什么要使用数据库 持久化(persistence):- 存到可掉电式存储设备中以供之后使用**。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以” 阅读全文
posted @ 2022-11-21 23:45 wiselee/ 阅读(105) 评论(0) 推荐(0) 编辑
摘要:redis事务 事务一般包括多个操作,不能被打断 Multi、Exec、discard 从输入multi命令开始,输入的命令都是依次进入命令队列中,但不会执行,直到输入exec后,redis会将之前的命令队列的命令队列的命令依次执行 组队的过程中可以通过discard来放弃组队。 举例: 事务中某个 阅读全文
posted @ 2022-11-21 15:03 wiselee/ 阅读(22) 评论(0) 推荐(0) 编辑
摘要:springboot整合redis 1.首先创建springboot工程 2.配置pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi 阅读全文
posted @ 2022-11-20 11:02 wiselee/ 阅读(214) 评论(0) 推荐(0) 编辑
摘要:![avator](https://img2022.cnblogs.com/blog/2752646/202211/2752646-20221119193950175-801842003.jpg) ![qrCode](https://img2022.cnblogs.com/blog/2752646/202211/2752646-20221119194302962-30338564.png) ![w 阅读全文
posted @ 2022-11-19 19:44 wiselee/ 阅读(21) 评论(0) 推荐(0) 编辑
摘要:redis模拟验证码发送 要求:1.输入手机号,点击发送后随即生成6位数字码,2分钟有效 ​ 2.输入验证码,点击验证,返回成功或者失败 ​ 3.每个手机号每天只能输入3次 分析: ​ 验证码2分钟内有效,将验证码存放在redis里面,设置过期时间为120秒 ​ 判断验证码是否一致,从redis里面 阅读全文
posted @ 2022-11-19 17:28 wiselee/ 阅读(535) 评论(0) 推荐(0) 编辑
摘要:jedis使用 1.创建maven项目,引入jar包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version> </dependency> 2.进行连接测 阅读全文
posted @ 2022-11-19 17:27 wiselee/ 阅读(109) 评论(0) 推荐(0) 编辑
摘要:redis 新数据类型 bitmaps 操作Ascii码的数据类型,能够有效的提高内存使用效率和开发效率 setbit:设置初始值 gebit:取值 bitcount: 统计数据被设置为1饿数量 bitmaps和set数据的对比: 很明显,这种情况使用bitmaps能节省很多的内存空间,尤其是随着时 阅读全文
posted @ 2022-11-19 14:12 wiselee/ 阅读(51) 评论(0) 推荐(0) 编辑
摘要:redis配置文件详解 1、开头说明 这里没什么好说的,需要注意的是后面需要使用内存大小时,可以指定单位,通常是以 k,gb,m的形式出现,并且单位不区分大小写。 2、INCLUDES 我们知道Redis只有一个配置文件,如果多个人进行开发维护,那么就需要多个这样的配置文件,这时候多个配置文件就可以 阅读全文
posted @ 2022-11-19 13:49 wiselee/ 阅读(2729) 评论(2) 推荐(0) 编辑
摘要:5.相关介绍和命令 5. redis是单线程+多路io复用技术 多路复用是指使用一个线程来检查多个文件描述符的就绪状态,比如调用select和poll函数,传入多个文件毛舒服,如果有一个文件描述符就绪,则返回,否则阻塞到超时。得到就绪状态后进行真正的操作可以在用一个线程里执行,也可以启动线程执行(比 阅读全文
posted @ 2022-11-18 16:22 wiselee/ 阅读(273) 评论(0) 推荐(0) 编辑
摘要:redis 1 引入NoSql ​ 1.解决功能性的问题:java、jsp、RDBMS、Tomcat、HTML、linux、JDBC、SVN ​ 2.解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatis ​ 3.解决性能的问题:NoSql、Java线程 阅读全文
posted @ 2022-11-17 13:35 wiselee/ 阅读(184) 评论(0) 推荐(0) 编辑
摘要:一.什么是事务 事务(Transaction)是并发控制单位,是用户定义的一个操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。 事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。 事务通常以BEGIN TRANSACTION开始,以COMMIT 阅读全文
posted @ 2022-11-17 09:55 wiselee/ 阅读(281) 评论(0) 推荐(0) 编辑
摘要:html基本语法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- 在网页中的多个空格默认情况下都被浏览器解析为一个空格 <b> 加粗标 阅读全文
posted @ 2022-11-16 15:04 wiselee/ 阅读(26) 评论(0) 推荐(0) 编辑
摘要:java序列化和反序列化 如果我们需要持久化Java对象比如将Java对象保存在文件中,或者在网络传输Java对象,这些场景都需要用到序列化。 序列化: 将数据结构或对象转换成二进制字节流的过程 反序列化:将在序列化过程中所生成的二进制字节流的过程转换成数据结构或者对象的过程 实际开发中有哪些用到序 阅读全文
posted @ 2022-11-13 20:16 wiselee/ 阅读(49) 评论(0) 推荐(0) 编辑
摘要:Java集合分类 数据结构 一:集合框架的概述 1.集合、数组都是对多个数据进行存储的结构 简称java容器 说明:此时的存储,主要还是内存层面的存储,不涉及持久化存储(数据库、硬盘等等) 2.数组在存储多个数据方面的特点: 》一旦初始化以后,长度就确定了 》指明数组的数据类型 例如:string[ 阅读全文
posted @ 2022-11-13 20:00 wiselee/ 阅读(21) 评论(0) 推荐(0) 编辑
摘要:窗口滑动算法 简介 滑动窗口算法思想是非常重要的一种思想,可以用来解决数组,字符串的子元素问题。它可以将嵌套循环的问题,转换为单层循环问题,降低时间复杂度,提高效率。 滑动窗口的思想非常简单,它将子数组(子字符串)理解成一个滑动的窗口,然后将这个窗口在数组上滑动,在窗口滑动的过程中,左边会出一个元素 阅读全文
posted @ 2022-11-12 16:36 wiselee/ 阅读(144) 评论(0) 推荐(0) 编辑
摘要:项目连接地址:http://110.40.209.162:8080/ 阅读全文
posted @ 2022-11-10 18:36 wiselee/ 阅读(46) 评论(0) 推荐(0) 编辑
摘要:##订单系统 ###1.持久层 1.将数据插入到订单表中 insert into t_order(oid除外所有的字段) values (字段的值) 2.将数据还要插入订单项的表中 insert into t_order_item(oid除外所有的字段) values (字段的值) ####2.接口 阅读全文
posted @ 2022-11-10 18:36 wiselee/ 阅读(108) 评论(0) 推荐(0) 编辑
摘要:##显示勾选的购物车数据 ###1.持久层 ####1.规划sql语句 用户在购物车列表页面通过随机勾选相关的商品,在点击结算俺就后,跳转到结算页面,在这个页面需要展示用户在上个页面说勾选的购物车对应的数据。列表的展示,而展示的内容还是在购物车里 SELECT cid, uid, pid, t_ca 阅读全文
posted @ 2022-11-10 11:12 wiselee/ 阅读(83) 评论(0) 推荐(0) 编辑
摘要:##增加or减少购物车商品数量 ###持久层 ####1.sql规划 1.增加之前先判断是否存在这个数据 select * from t_cart where cid = #{cid} 增加购物车数量,就是update操作 update t_cart set num=#{num},modified_ 阅读全文
posted @ 2022-11-09 13:51 wiselee/ 阅读(189) 评论(0) 推荐(0) 编辑
摘要:##展示购物车列表 ###1.持久层 ####1.规划sql语句 #多表查询如果字段不重复则不需要要声明字段属于那种表 select cid,uid,pid,t_cart.price,t_cart.num,t_product.title,t_product.imgae,t_product.price 阅读全文
posted @ 2022-11-09 13:50 wiselee/ 阅读(93) 评论(0) 推荐(0) 编辑
摘要:##购物车模块 ##加入购物车 ###持久层 ####1.规划持久层的语句 1.向购物车表中插入数据 insert into t_cart (aid除外) values (值列表) 2.当当前的商品已经在购物车中存在,则直接更新 number的数量即可 update t_cart set numbe 阅读全文
posted @ 2022-11-09 13:49 wiselee/ 阅读(539) 评论(0) 推荐(0) 编辑
摘要:##商品热销排行 ###持久层 ####1.sql语句 SELECT * FROM t_product WHERE status=1 ORDER BY priority DESC LIMIT 0,4 ####2.接口和方法 /** * 查询热销商品的前四名 * @return 热销商品前四名的集合 阅读全文
posted @ 2022-11-09 13:48 wiselee/ 阅读(82) 评论(0) 推荐(0) 编辑
摘要:##删除收货地址 ###1.持久层 ####1.1规划sql语句 1.在删除之前需要判断该数据是否存在,判断该条数据的归属是否是当前的用户,不需要重复开发 2.执行删除收货地址 delete from t_address where aid =? 3.如果用户删除逇是默认收货地址,将剩下的地址的某一 阅读全文
posted @ 2022-11-09 13:47 wiselee/ 阅读(45) 评论(0) 推荐(0) 编辑
摘要:##设置默认的收货地址 ###持久层 ####1.sql语句的 规划 1.检测当前用户想设置为默认收货地址的这条数据是否存在 select * from t_address where aid = ? 2.在修改用户的收货默认地址之前,先将所有的收货地址设置为非默认 updata t_address 阅读全文
posted @ 2022-11-07 10:38 wiselee/ 阅读(96) 评论(0) 推荐(0) 编辑
摘要:##新增收货地址 ###持久层 1.新增 规划sql语句 insert into t_adress(字段列表) values (值列表) 2.一个用户的收货地址规定最多只能由20条数据对应,在插入用户数据之前先做查询操作。收货地址逻辑控制当面的一个异常(如果一个在添加收货地址的时候已经有20个收货地 阅读全文
posted @ 2022-11-06 14:53 wiselee/ 阅读(145) 评论(0) 推荐(0) 编辑
摘要:##上传头像的功能 ###持久层 ####1.sql语句的规划 avatar varchar(50) str - 字节流 将对象文件保存在操作系统上,然后在把这个文件的路径个记录下来,保存在avatar中,因为相比于字符流会更加的方便,将如果要打开这个文件可以依据这个路径去找到合格文件。在数据中只需 阅读全文
posted @ 2022-11-05 13:47 wiselee/ 阅读(429) 评论(0) 推荐(0) 编辑
摘要:##个人资料 ###1持久层 ####1.1 需要规划sql语句 根据用户信息的sql语句 update t_user set phone =?, email =?,gender=? modified_time=?,modified_user =? where uid = ? 2.根据用户名查询用户 阅读全文
posted @ 2022-11-04 09:14 wiselee/ 阅读(284) 评论(0) 推荐(0) 编辑
摘要:##修改密码功能 需要用户提交原始密码和新密码,在根据当前登录的用户进行信息的修改操作 ###1.持久层 ####1.1 规划需要执行的sql语句 根据用户的uid修改password值 update t_user set password = ?,modeified_user= ?,modeifi 阅读全文
posted @ 2022-11-03 17:38 wiselee/ 阅读(258) 评论(0) 推荐(0) 编辑
摘要:HandlerInterceptor接口给我们提供了3个方法: (1)preHandle: 在执行controller处理之前执行,返回值为boolean ,返回值为true时接着执行postHandle和afterCompletion,如果我们返回false则中断执行 (2)postHandle: 阅读全文
posted @ 2022-11-03 15:52 wiselee/ 阅读(164) 评论(0) 推荐(0) 编辑
摘要:拦截器 在Spring MVC中拦截请求是通过处理器拦截器HandlerInterceptor来实现的,它拦截的目标是请求的地址。在Spring MVC中定义一个拦截器,需要实现HandlerInterceptor接口。 1 HandlerInterceptor 1.1 preHandle()方法 阅读全文
posted @ 2022-11-03 15:49 wiselee/ 阅读(360) 评论(0) 推荐(0) 编辑
摘要:###登录端的业务层 ####1.产生什么异常 1.用户名对应的密码错误,密码匹配失败 PasswordNotMatchException 2.用户名没被找到 UsernameNotFoundException 3.异常的编写: 继承ServiceException基类 使用alt+ insert 阅读全文
posted @ 2022-11-03 13:51 wiselee/ 阅读(489) 评论(0) 推荐(0) 编辑
摘要:工程简介 ##准备工作:项目所用到的html界面以及sql文件链接如下:链接: https://pan.baidu.com/s/18loHJiKRC6FI6XkoANMSJg?pwd=nkz2 提取码: nkz2 复制这段内容后打开百度网盘手机App,操作更方便哦 ##第一步:注册功能的实现 1.1 阅读全文
posted @ 2022-11-02 22:16 wiselee/ 阅读(540) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示