
个人总结
文章平均质量分 60
天青色 等烟雨
这个作者很懒,什么都没留下…
展开
-
一文解密网络背后的秘密
我们需要先知道一些基础的概念,例如SYN: 请求建立连接ACK: 对请求做出响应SYN_SEND: 等待匹配连接的请求ESTABLISHED:代表一个打开的连接三次握手需要保证客户端和服务端都要保证一发、一收信息,过程如下:一次握手:客户端发送带有 SYN(SEQ=x) 标志的数据包 -> 服务端,然后客户端进入 SYN_SEND 状态,等待服务器的确认;原创 2023-10-22 17:41:25 · 313 阅读 · 0 评论 -
一文搞清楚Java中常见的IO模型
首先,我们要清楚什么是IO,根据冯诺依曼结构,计算机结构分为5部分:运算器、控制器、存储器、输入设备和输出设备。输入设备和输出设备都属于外设,网卡、硬盘这种既可以属于输入设备也可以属于输出设备。输入设备向计算机输入数据,输出设备接收计算机输出的数据。从数据结构的时间来看的话,IO描述了计算机系统与外部设备之间通信的过程。为了保证操作系的稳定性和安全性,一个进程的地址划分为用户空间和内核空间。原创 2023-10-06 16:25:02 · 189 阅读 · 2 评论 -
Java基础知识回顾
浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象.序列化是一种将对象转换为字节流的过程,以便可以将对象保存到磁盘上,将其传输到网络上,或者将其存储在内存中,以后再进行反序列化,将字节流重新转换为对象。序列化在 Java 中是通过接口来实现的,该接口没有任何方法,只是一个标记接口,用于标识类可以被序列化。当你序列化对象时,你把它包装成一个特殊文件,可以保存、传输或存储。原创 2023-09-29 21:47:31 · 497 阅读 · 0 评论 -
布隆过滤器
我们可以把布隆过滤器看作有二进制向量或者说位数组和一系列随即映射函数零部分组成的数据结构。相比于我们平时用到的List、Map、Set等数据结构,它占用的空间更少并且效率更高,但其缺点是返回结果是概率性的,而不是非常准确。理论上添加到集合中的元素越多,误报的可能性也就越大。并且存放在布隆过滤器中的数据不易删除。原创 2023-05-27 11:21:49 · 813 阅读 · 0 评论 -
记录直播功能的实现
这里的直播功能依赖的是腾讯云的云直播接口,我们只负责编写的配置类中自己的参数即可实现,甚至不需要导入额外的依赖。原创 2023-02-28 20:26:02 · 681 阅读 · 0 评论 -
寒假~小结
无论大家选择的方向是南北还是东西,往前走终归是对的。原创 2023-02-07 20:29:30 · 211 阅读 · 0 评论 -
如何实现用拼音查询数据库字段
所以,我就在想这个功能应该怎样去实现,百度到说要用ElasticSearch,折腾了两天,只能查关键字,还是没办法查拼音,后来偶然看到一篇博客。现大多数的网站都实现了利用拼音查询数据库的功能,像腾讯视频。里面采用了自定义函数的方式去实现拼音转文字。需要建立一个表,将汉字和拼音对应起来。原创 2022-11-05 16:01:16 · 719 阅读 · 0 评论 -
集合基础知识
Java集合也叫做容器,由两个接口组成,一个是Collection,主要存放单一元素,另一个是Map,主要存放的是键值对。原创 2022-11-03 09:48:09 · 176 阅读 · 0 评论 -
源码学习day05(LinkedHashMap)
LinkedHashMap是由数组加双向链表加红黑树构成的。原创 2022-10-24 10:54:43 · 314 阅读 · 0 评论 -
源码学习day04 (HashTable)
由无参构造器我们可以看到HashTable的默认数组大小为11,至于为什么是11呢?一会儿再进行解释,我们也可以看到,与HashMap不同的是,数组的初始化是在构造器中完成的。HashTable底层是基于数组加量表实现的,与HashMap相比,少了红黑树,但是HashTable是线程安全的。原创 2022-10-20 20:49:55 · 221 阅读 · 0 评论 -
源码学习day03 (TreeMap)
【代码】源码学习day03 (TreeMap)原创 2022-10-19 20:17:32 · 112 阅读 · 0 评论 -
源码学习day02 (HashMap)
经过这一段时间的源码学习,越发感觉到自己基础知识的不牢靠,看源码感觉很吃力,经常看着看着就变成了天书,只能去百度,但是这也让我学到了很多,在项目跟考核的压力下,感觉这段时间挺充实的,往后继续努力,加油!上个图。原创 2022-10-14 17:20:20 · 581 阅读 · 0 评论 -
有趣的list
今天在写项目时发现一个有趣的东西,list==null,list.isEmpty(),还有list.size()==0,返回的结果是不一样的。list.isEmpty()和list.size()==0 没有区别, isEmpty()判断有没有元素,而size()返回有几个元素,isEmpty() 或者(list.size() == 0)用于判断List内容是否为空,即表里一个元素也没有,但是使用isEmpty()和size()的前提是,list是一个空集合,而不是null,所以为了避免异常,原创 2022-09-23 09:38:56 · 286 阅读 · 0 评论 -
解析位运算
位运算能够高效率的完成数值的计算,因为机器本身就是基于二进制的存储和计算,所有的数值或者对象最终都要转化为二进制,对象的话,可能需要一些编解码的动作,位运算主要是针对数据运算的,把人们熟悉的数字转化为机器熟悉的数字,其中又牵扯到原码,反码和补码,补码的出现是为了减低机器运算的复杂度,把减法转变为加法,可以这么说机器运算只有加法和移位,乘法最终是通过加法和移位操作完成的,而除法首先转变为乘法。输入: nums = [1,1,2,3,3,4,4,8,8]输入: a = 1, b = 1。原创 2022-09-14 08:54:13 · 928 阅读 · 0 评论 -
使用tika判断文件类型中遇到的问题
在web项目中,我们通常会上传文件到服务器,这时就会对上传文件的类型进行判断,最简单的就是对文件的后缀名进行判断,但是,但某些用户恶意修改文件后缀时,这种方法就无法对其进行拦截。所以我们应该使用tika来对文件的类型进行判断,tika是判断文件的魔术字节来对文件类型进行判断的。第二个就是tika会把xlsx与docx mine type解析为zip的mine type类型,这个的原因看了大佬的博客理解了一点。第三就是对于空的doc文件,跟有内容的doc文件,mine type类型竟然是不一样的。原创 2022-09-10 11:20:55 · 1134 阅读 · 0 评论 -
sql语句学习
如果employee_id对2取余的结果等于1就进行第二次判断,否则返回0,第二个判断用到了截取字符left(),即截取左边开始的第一个字符,如果结果为真就返回salary,否则返回0.datediff()会返回两个日期之间的差值,语法为datediff(day1,day2)在写项目时,我们会发现,日期的比较时必不可少的,那么,如何进行日期的比较呢?IF 语句允许我们根据表达式的某个条件或值结果来执行一组 SQL 语句。如果a1的值为true, 那么就返回a2否则就返回a3。可以将多个字符串拼接在一起。原创 2022-09-10 08:13:20 · 371 阅读 · 0 评论 -
队列(Java)
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。采用链表实现的队列,没有个数限制。插入元素时直接接在链表的尾部,取出元素时直接从链表的头部取出即可。采用数组实现的队列,通常是循环数组,受限于数组的大小,存在天然的个数上限。插入和取出元素时,必须采用队列头部指针和队列尾部指针进行队列满和队列空的判断。LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。队列的简单使用。......原创 2022-08-13 12:31:51 · 159 阅读 · 0 评论 -
旋转数组最小数字
例如,数组[3,4,5,1,2]为[1,2,3,4,5]的一次旋转,该数组的最小值为1。,a[n-1]]旋转一次的结果为数组[a[n-1],a[0],a[1],a[2],…,a[n-2]]。出现这种情况的array类似[2,2,3,4,5,6,6],此时最小数字一定就是array[mid]或者在mid的左边。出现这种情况的array类似[1,0,1,1,1]或者[1,1,1,0,1],此时最小数字不好判断在mid左边还是右边,只好一个一个试。...原创 2022-07-24 07:11:08 · 241 阅读 · 0 评论 -
理解递归与迭代
理解递归与迭代什么是递归,迭代怎样上手递归,迭代相关题目什么是递归,迭代怎样上手递归,迭代相关题目原创 2022-07-16 17:15:46 · 278 阅读 · 0 评论 -
Redis的简单了解
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。那么我们为什么要使用redis,redis的读写速度很快,方便扩展,且数据类型多样。1.stringstring是最常用的数据类型,只需要set 名称 内容即可。2.listredis中的lists在底层实现上并不是数组,而是链表,插入的速度很快,但是定位比较慢。3.setset和Java中的set一样,都不能存在重复元素,且元素没有先后顺序,集合相关的操作也很丰富,如添加新元素、删除已有元原创 2022-06-11 17:32:33 · 300 阅读 · 0 评论 -
springboot目录结构
springboot目录结构简介结构总结简介经过上次考核的洗礼,越发认识到项目目录结构的重要性,所以这次在学习springboot时便首先了解了springboot的目录结构,经过我不懈努力,终于得到了一个清晰的答案。结构1.src/main/java 这个是必不可少的java代码存放的地方2.src/main/resource 这个就很重要,这儿不仅仅是存放各种配置文件的地方了,还被用来存放前端的html页面,css,js等静态资源resource中首先要存放的就是application.p原创 2022-05-11 15:01:01 · 8778 阅读 · 0 评论 -
浅谈ssm框架中的请求转发和重定向
浅谈ssm框架中的请求转发和重定向ssm究竟是什么controller到底该怎么去写理解重定向与请求转发总结ssm究竟是什么ssm框架由spring、springmvc、mybatis构成,spring的作用就是减少各层之间的耦合度,将对象交给ioc容器进行管理。。springmvc则是将各层的作用清晰的凸显出来,controller就是负责视图渲染,service层则是进行逻辑处理。mybatis则是让对数据库的操作变得更加清晰,并且我们可以利用动态sql语句来实现各种灵活的功能。controlle原创 2022-05-09 23:57:38 · 1137 阅读 · 0 评论 -
食谱项目总结
食谱项目总结其实一开始对于接手一个相对于大佬来说小菜一碟的项目,我还是有点小激动的,尤其是当我知道了我们组救我一个后端的时候,这既是一个缺点,但是我觉得这也是一个优点,优点就是,我一个后端,自己的java代码绝对不可能有冲突,而且因为所有的接口都是自己写的,应对前端小伙伴的问题也可以非常快速,清晰的解决,其次就是,我觉得这样更加锻炼了一种能力,独立思考一种问题如何解决,一项功能到底该如何实现,怎样才能做到最简单。当遇到实在无法解决的问题,就去疯狂百度,B站的弹幕也很有用,一堆大佬,再不懂就回去找其他后端的原创 2022-05-08 07:59:13 · 153 阅读 · 0 评论 -
基于springmvc实现支付宝沙箱模型
基于springmvc实现支付宝沙箱模型引入依赖以及支付宝官网注册支付宝的配置类最后Controller层总结引入依赖以及支付宝官网注册最新依赖<dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.22.49.ALL&原创 2022-04-30 15:28:00 · 746 阅读 · 0 评论 -
ssm框架下如何统计某个页面的浏览量
ssm框架下如何统计某个页面的浏览量介绍相关代码介绍这是我自己觉得这样写思路可简单,但是代码可多,我们只需要在建表是加一个字段来统计数量默认值设为零,然后每次访问网页时,先获取当前的点击量,然后更新点击量即可相关代码mapper中 <!-- 菜谱点击量 --> <update id="recipeQuick"> update recipe set quick = #{arg0} where id = #{arg原创 2022-04-23 21:28:44 · 577 阅读 · 0 评论 -
解析上传文件所遇到的问题
解析上传文件所遇到的问题一、数据库应该放些什么二、如何上传文件三、总结一、数据库应该放些什么数据库中不应该存放音频、图片、视频等大型文件,而是应该储存他们的存放地址,存放这些的东西的时候,应该把他们的地址放到数据库中,再从数据库服务器中得到他们存放的地址(路径),然后返回给浏览器,浏览器再利用此地址访问该视频。二、如何上传文件首先,要在web工程下建一个与WEB-INF同级的文件夹,用来储存资源文件,接下来就要交给代码啦。1)jsp页面填写表单信息,提交给服务器<%@ taglib p原创 2022-03-07 08:30:00 · 225 阅读 · 0 评论 -
伪元素before,after的简单了解
伪元素before,after的应用1.content属性2.做出图形3.与hover结合1.content属性2.做出图形3.与hover结合原创 2021-12-13 20:53:10 · 965 阅读 · 0 评论 -
《盒子模型》
前一阶段我们学习了Java的基础部分,最近开始进行HTML的组学习,相比于Java,HTML简单了一大截。原创 2021-12-05 15:46:01 · 274 阅读 · 1 评论 -
前端学习第一周
这是接触前端的第五天了,相比于之前学习的Java,前端简单了好多,自己学起来也比学习Java自信了好多,html虽然容易理解,但是我觉得里面有好多内容是需要自己去记的,就像各种表签的作用和相对应的字母,这几天已经记住了一些基础的表签,在这基础也一直在尝试如何利用这些表签去美化自己做出来的东西,(虽然它还是那么不堪入目),在这过程中又发现了自己很多问题,比如经常在标签里套用一些无用的标签,再比如经常会忘记怎么将<div>中的内容调整位置(现在已经知道了就比如用margin来确定位置或者用p...原创 2021-11-28 15:37:28 · 498 阅读 · 4 评论