自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis学习

集合成员是唯一的,这就意味着集合中不能出现重复的数据,集合对象的编码可以是intset或者hashtable。更新缓存:每次更新数据库都要更新缓存,100个更新操作就要更新100次缓存,可能其中99个中间的数据版本没有一点作用,无效写的操作太多了。不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。:更新数据库时让缓存失效,查询时再更新缓存,这样子的效果较好,这种方案写的频率会更低,有效更新会更多。实现的,所以添加,删除,查找的复杂度都是O(1)。

2024-01-08 21:32:00 910

原创 12.10总结

1.修改订单模块,之前是一个订单能够有来自不同商家的商品,没有根据商家进行拆分,导致我后面写评论的时候难以实现,然后我就改成了如果一个订单中有来自不同商家的商品,就根据不同的商家进行拆分,将其拆分成不同的子订单。2.评论:评论的时候,要保证一个订单的所有商品都进行了评论才能够提交评论。3.搜索:没有进行优化。

2023-12-11 00:35:20 439

原创 11.12总结

这一周主要写了个人中心的几个功能,资料修改,收货地址的创建和修改删除,还有主页界面和商品界面。

2023-11-13 00:18:56 121

原创 函数与递归

库函数虽然已经十分强大,能够完成很多业务功能,但是仍然无法满足复杂的问题,所以自定义函数是十分重要的,毕竟如果库函数能干所有的事情,那还要程序员干什么?函数名称返回值类型函数参数函数体(功能实现)函数的定义就是交代这个函数的具体实现步骤或功能,但要注意的是函数不能嵌套定义,就是在一个函数里面不能再定义另一个函数a1 : b1;a2 : b2;a1 : b1;a2 : b2;递归是程序直接或间接调用自身的编程技巧。

2023-10-29 01:37:24 371

原创 Vue学习

可以用 defineOptions 定义任意的选项,props,emits,expose,slots 除外(因为这些可以使用 defineXXX 来做到)它也是响应式的,即所有对.value的操作都将被追踪,并且写操作会触发与之相关的副作用。默认机制:通过watch监听的ref对象时浅层侦听的,直接修改嵌套的对象属性不会触发回调执行,需要开启deep选项。接收一个内部值,返回一个响应式的,可以更改的 ref 对象,次对象只有一个指向其内部值的属性.value。显示的暴露组件内部的属性和方法。

2023-10-22 21:51:39 150

原创 SpringBoot学习日记

REST,表现形式状态转化传统风格资源描述形式:id=1REST风格描述形式。

2023-10-16 09:39:28 52

原创 学习总结1

使用SpringBoot的优点:1. 基于Spring 4,2. 简化编码,3. 简化配置,4. 简化部署,5. 简化监控但是由于我之前没有学习过Spring,所以有很多注解只晓得要用,不晓得到底有什么用,这是后面还要进行学习的地方。条件语句( v-if ),循环语句( v-for ),组件,计算属性( computed ),监听属性( watch ),样式绑定,绑定事件,表单( v-model ),自定义指令,路由( router ),axios。路由中的多级路由配置:一级路由和多级路由,使用。

2023-10-08 22:31:59 248

原创 大二上学期学习计划

了解MyBatis Plus的基本用法和高级特性,学习如何与数据库交互和进行数据持久化。通过官方文档、教程和实践项目来学习和掌握MyBatis Plus的使用。了解框架的基本概念和特性,通过官方文档、教程和实践项目来学习和掌握Spring Boot的使用。1.学习Vue前端框架。通过官方文档、教程和视频来学习和掌握Vue的使用。第五周以后还未有太明确的规划,每周的规划要尽量完成,不能完成的要利用周六的时间进行补充,反正就是,这学期好好加油!3.掌握Redis的主从复制和哨兵模式,以实现高可用性和容错性。

2023-09-16 02:25:15 2262 4

原创 Redis

通过help [command] 可以查看一个命令的具体用法。

2023-08-17 01:58:59 365

原创 项目8.9总结

这两天写了评论和用户之间的关注,然后就是歌曲的上传,歌曲的上传很简陋,并且还有点问题。

2023-08-10 03:04:32 123

原创 JavaSE第二次考试复盘

非静态方法是不含有static修饰的普通方法,又称为实例方法,成员方法。静态方法是使用static关键字修饰的方法,又叫类方法。float在定义时要加个f。

2023-07-30 01:55:24 259

原创 8.2总结

1.ArrayList是最常用的List实现类,内部是通过数组来实现的,它允许对元素进行快速随机访问,数组的缺点是每个元素之前不能有间隔,当数组的大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中,当从ArrayList的中间位置插入或者删除元素的时候,需要对数组进行复制,移动,代价比较高。4.Vector是线程(Thread)同步(Synchronized)的,所以它也是线程安全的,而Arraylist是线程异步(ASynchronized)的,是不安全的。

2023-07-27 00:36:31 116

原创 双token验证

/ 从HTTP请求头部获取名为"Authorization"的令牌(token)//402,这个前端接收到了表示要重发请求,但是这次要发的是long_token。//401,代表长token没有过期,这时候就要刷新短token了。@WebFilter("/hallServlet") // 指定过滤器拦截的URL路径模式为以"/Ly"开头的所有URL。// 如果order值为1,表示短token过期,长token未知;/*长token没有过期,直接保存新的短token*/

2023-07-20 03:07:08 149

原创 刷题总结1

该题就是将含4的数字全部跳过,不难发现,这就导致每位数都要少一个树,这就和9进制十分像,我们只要将该数字转化为9进制,然后将该9进制树的每位大于等于4的树加一就行了;

2023-07-16 02:49:43 253

原创 项目学习总结

三者都是应用在web中对http无状态协议的补充,达到状态保持的目的:cookie中的信息是以键值对的形式储存在中,而且在浏览器中可以直接看到数据。:session存储在中,然后发送一个cookie存储在浏览器中,cookie中存储的是session_id,之后每次请求服务器通过session_id可以获取对应的session信息:JWT存储在中。由服务器产生加密的json数据包括:header,payload和signature三部分组成。header中通常来说由token的生成算法和类型组成;

2023-07-13 00:16:52 150

原创 JavaWeb学习

var 对象名 = {属性名1: 属性值1,属性名2: 属性值2,属性名3: 属性值3,//对象中的函数函数名称: function(形参列表){}//调用格式对象名.属性名;对象名.函数名;

2023-06-14 23:12:20 270

原创 刷题日记2

思路:这题就是遍历s的四个点,如果是 . 就进行dfs遍历搜索,如果能够达到起点,就说明满足题意,就输出Yes;思路: 这题起点是0,然后终点是1;然后每次都询问起点和终点的一半,如果是1,就继续查前半段,是0就查后半段;

2023-06-12 00:07:45 50

原创 MySQL学习

重要的是要知道视图仅仅是用来查看存储在别处的数据的一种设施。视图本身不包含数据,因此它们返回的数据是从其他表中检索出来的。在添加或者更改这些表中的数据时,视图将返回改变过的数据;可以对视图执行SELECT操作,过滤和排序数据,将视图联结到其他视图或者表,甚至能够添加和更新数据;这个例子是一次性在demo1表中插入两条数据,用一个逗号分隔开要插入的数据;,并且由id,age,name,sex,chunkuan,五个字段,通过。下面是关于视图创建和使用的一些最常见的规则和限制。语句非常简单,基本的。

2023-06-04 22:34:03 609

原创 MySQL学习(联结,组合查询,全文本搜索)

对于结果集,不存在用一种方式排序一部分,而又用另一种方式排序宁一部分的情况,因此不允许使用多条ORDER BY语句;上面的例子中的组合查询使用的均是demo1表,但是UNION可以用于组合查询不同的表;

2023-06-01 22:00:05 551 1

原创 mysql学习

学习了聚集函数,我们就可以计算指定数据的行数,最大值,最小值等,但是每次只能计算一组,比如说我想知道每个群聊的群聊人数,不使用分组数据的话,就只能使用where来一个群聊一个群聊的查询,但是使用了分组数据之后, 我们就能够一次性查询到所有群聊的人数啥的,大大减少代码量和提高速度;数值处理函数仅用于处理数值数据,这些函数一般主要用于代数,三角或者几何运算,因此没有串或者日期-时间处理函数的使用那么频繁,但是具有讽刺意义的是,在主要的DBMS的函数中,数值函数是最一致最同意的函数。后面还会学习有关的方法;

2023-05-31 14:32:55 1096

原创 5.22~5.23总结

这题要对数据进行排序,然后计算相邻的值的差值,然后从小到大依次寻找长度为k的区间,找出最小值,思路很简单,但是我交了发,然后这题我尝试开始使用c++来写题,之前全是使用c语言,导致写题速度很慢,然后现在慢慢的学习c++里面的数据结构;思路:我刚开始就是想将n转换成k进制的数,结果就是(k*位数-1+最高位的数),但是我没有想到一种情况,就是最高位的数替换其他位的数,比如9 换成 2进制,是1001,比1111小,所以要在上面的情况下减一就行了;看了mysql必知必会第一章,后面要加快进度;

2023-05-24 00:31:16 54

原创 5.15~5.16总结

离答辩还有两天的时间,这两天一定要将群聊的聊天写完,是比较有难度的,但是因为私聊的聊天都写过了,群聊应该比较顺吧,希望如此,要为最终答辩做好准备;2.创建群聊基本结束,群资料编辑基本结束;3.对项目的结构进行了优化;1.群聊的页面基本结束;

2023-05-17 00:59:41 57

原创 5.12~5.14总结

1.表情包的细节方面已经写完,之前是没有想到服务端那边也要将表情包存者,然后如果我发送的那个人不在线的话就会出错,现在已经解决了这个问题;暂时将文件放一放,先将群聊写了,感觉群聊要写的东西很多很多,不是简单的将私聊的代码复用的问题;2.图片的发送,图片的发送已经写完了,和包情包的类似;3.群聊的界面基本结束,可以开始全力写群聊了;

2023-05-15 00:14:28 64 1

原创 5.10~5.11总结

这两天实现了私聊和删除好友,私聊还存在一些bug,就是发送太长的消息listview会显示出错,已经找到了解决办法,然后还有删除好友,自己界面是直接将该好友删除,然后好友那边也是直接删除,这是非常不好的,我是想要好友那边是能够看见对方将自己删除的,暂时没时间写这个了;明天准备解决聊天数据显示错误的问题,还有了解表情包的发送,还有群聊,我是想先将私聊的表情包,图片和文件等些完成后再写群聊,但是不知道时间够不够,我至少给自己留三天的时间来写群聊,还是得加快进度;

2023-05-12 00:34:50 41

原创 5.8~5.9总结

项目进展

2023-05-10 00:43:01 44

原创 刘洋项目构思

2.添加好友:在登录时在数据库中查询该用户的好友和好友申请,分别用不同的集合存起来,然后再初始化listview,将传递过来的数据打印在listview上面,然后当点击添加好友的按钮后在数据库中添加一条信息,然后再再服务端判断你添加的用户是否在线,如果在线就将该条好友申请发送过去,对其进行操作,不在线就只进行数据在数据库的添加,用户同意和拒绝与发送申请类似;还有就是注册的时候要通过雪花算法进行账号的生成,还有MD5对密码进行加密;3.删除好友:直接在好友关系表里面将该条好友关系删除,然后将页面刷新;

2023-05-08 23:37:27 74 3

原创 5.6~5.7总结

3.明后两天准备开始写聊天了,聊天还是要注意listview的事情,要注意listview的刷新,我是将那些用户数据全部存在相对应的列表之中的,如果发生了改变,我就将列表中的数据进行改变,然后先清空list view中的数据,再添加一遍,达到刷新的效果。2.添加好友功能:没有新开一个好友申请表,我是直接用的好友关系表来记录的,state为1就表示是好友,state为2就表示该条请求被拒绝了,为3就表示未处理,添加好友我感觉后端不是很难写,关键是前端的listview的处理,真的很麻烦;

2023-05-08 09:48:43 47

原创 5.4~5.5总结

我的想法是登录成功之前一直是短连接,然后登录成功后就将该用户所发来的线程传到那个线程里面,然后进行长连接,但是发现登录进去后socket就断开连接了,然后问了涂学姐和陈翔学长知道了可能是客户端在接受从服务端传来的数据时没有开线程导致线程阻塞的原因,然后我就发现了我的代码可能要大改了,申请要写个泛型类,今天花了很长的时间在修改代码之前,没什么进度,但是我知道这是不能急的,一定要搞好这些才能继续写下去;

2023-05-05 01:00:21 43

原创 5.2总结

然后是终于将listview实现好友列表的功能实现了,当用户登录成功后就将该用户的所有好友数据传递过来,储存在一个集合中,然后将其数据添加进listview中;五一节回去吃了三天酒,题目没刷完,现在项目的进展也是比较慢的了;过来后将好友列表建立好了,在数据库中,以关系表的形式建立;但是其点击事件我还没写,我想的是点击就进入聊天界面;暂时就写了这么一点,最近准备加下班,提升下效率;最后的state是表示两者是否为好友,;

2023-05-03 00:13:52 69 1

原创 4.26~4.27总结

null) { // 判断用户是否选择了文件 // 如果选择了合法的头像文件,就执行上传和更换头像的操作 // ... }这题刚开始我感觉就是一个暴力的题目,然后发现暴力的话时间复杂度是n*n*m,时间超限了,然后我发现可以直接将列进行排序,然后再进行计算,这样的话可以根据前缀和来缩短时间;思路:这题其实就是一个暴力的题目,但是我们只需要考虑到L到L+100就行了,因为在100以内就已经包含了09和90这两种情况,所以这题时间是不会超限的;9.ChoiceBox实现性别的选择。

2023-04-28 01:00:36 73

原创 4.24~4.25总结

这题其实就是进行一个比对,a[i][j]与a[n-i+1][n-j+1]进行比较,统计不相等的次数,如果k-次数为奇数的话就输出yes,否者输出no;但是,提交了一次后答案错误,然后我去看了有关的博客,才发现,保留最多的字母不一定是最优解,所以其实26种字母都要考虑,找到最优解;这题刚看见的时候以为只是一道简单的贪心题目,找到最多的字母然后找到最长的不包含该字母的字串,然后求logn;但是,当n为奇数时,不用保证两者奇偶相同,因为多出来的可以翻最中间的那个数;3.Tooltip悬浮提示使用及自定义。

2023-04-26 00:47:25 51

原创 4.21~4.23总结

先看邮箱登录,这里很多人都是再写了一个界面,我没有去宁外写一个界面,我是直接对玩家输入的进行判断,如果是账号就是账号登录,如果是邮箱就是邮箱登录,其实就是一个正则判断;这三天实现的功能点实现了邮箱登录,每隔60秒发一次验证码,密码的查看与隐藏,还写了大厅界面,写了查看个人信息;每隔60秒发一次验证码就是开了一个运行60秒的线程,在这60秒内将按钮变为不可点击,就实现了该功能;

2023-04-24 00:25:17 93

原创 4.19~4.20总结

这两天在写项目的时候比较难的一点就是一直在想如何让服务器区分来自客户端不同的请求,相了很久都没有解决,然后想了一个比较笨的方法,就是先传到=递一个标记进行判断,再传递对象过去,进行相对应的处理;这几天写了登录注册,并实现了cs架构,并且完成了用雪花算法生成id和MD5加密保存密码,运用了正则表达式对输入进行了判断,利用多线程实现了验证码的时效性,但是每隔60才能发一次的功能还未实现;这里要注意的是将该线程设置为守护线程;

2023-04-21 00:55:16 64

原创 4.17~4.18总结

这是服务端的示例,ServerSocket对象的accept方法可以接受到客户端发来的socket对象并且返回一个socket对象;这是客户端的示例,客户端创建socket对象时要传递一个host这个host一般都填127.0.0.1;Java的学习告一段落,感觉表示很扎实,后面肯定要缝缝补补,反复复习;后面的端口号shi自己输入的端口号,尽量不使用6000以下的端口号;我们这个聊天室项目基本上只用到了TCP协议;三要素:IP,端口号,协议。

2023-04-19 00:44:22 66

原创 4.14~4.16总结

注意:很多个线程是模拟出来的,真正的多线程指的是有多个CPU,即多核,如服务器。如果是模拟出来的多线程,即在一个CPU的情况下,在同一个时间点,CPU只能执行一个代码,因为切换的很快,所有就有同时执行的错觉;

2023-04-17 00:29:39 46

原创 4.12~4.13总结

IO流:用于读写文件中的数据(可以读写文件,或网络中的数据...);File:表示系统中的文件或者文件夹的路径;:读;:写;:像流水一样传输数据;IO流按照流向可以分为:输入流:读取输出流:写出IO流按照操作文件的类型可以分为:字节流:可以操作所有类型的文件字符流:只能操作纯文本文件纯文本文件:windows自带的记事本打开能读懂;

2023-04-14 00:26:40 36

原创 4.10~4.11总结

其实是官方(sun公司)订义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包,我们可以使用这套(JDBC)接口编程,真正执行的代码时驱动jar包中的实现类;DDL语句是操作数据库对象的语句,包括创建(create),删除(drop)和修改(alter)数据库对象;该方法相当于在建表的时候将user表复制给了haha表,它们两个的表结构和表中的数据都是一样的;细节:distinct并不会将表中的数据删除,只是在显示的时候将重复的隐藏起来;# 可以有多个列定义;

2023-04-11 22:43:02 36

原创 4.7~4.9总结

代表系统级别的(属于严重问题)我们不用管这个错误;:叫做异常,代表程序可能出现的问题。我们通常会使用以及来封装程序出现的问题。RuntimeException及其子类,编译阶段不会出现异常提醒。运行时出现的异常(如:数组索引越界异常):编译阶段就会出现异常提醒的。(如:日期解析异常)如果不用异常处理的话,调用者是不知道自己输入的值是有问题的;使用了异常处理后就能让调用者知道自己输入的值是非法的。

2023-04-09 22:36:40 43

原创 4.5~4.6总结

1.集合的概念:集合是Java中提供的一种容器,用来储存多个数据;注意,用集合来存储数据的时候 存储不同类型的数据很不安全,于是我们可以使用泛型来实现集合中只能存储相同类型的数据;集合基本分为两类:1.Collection:单列集合,添加数据时,每次只能添加一个元素;2.Map:双列集合,添加数据时,每次添加一对元素;

2023-04-07 00:04:07 29

原创 4.3~4.4总结

1.集合的概念:集合是Java中提供的一种容器,用来储存多个数据;注意,用集合来存储数据的时候 存储不同类型的数据很不安全,于是我们可以使用泛型来实现集合中只能存储相同类型的数据;集合基本分为两类:1.Collection:单列集合,添加数据时,每次只能添加一个元素;2.Map:双列集合,添加数据时,每次添加一队元素;

2023-04-04 23:26:07 28

空空如也

空空如也

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

TA关注的人

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