自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实训-贴吧管理系统

这星期我们在实训,周六要去比赛,实训结束后我又要去集训,所以这星期没学多少东西。不过在实训的时候,因为老师对用框架的同学要求比较严,提了好多附加条件,其中有一个是图形验证码。因为以前写项目我们全都是用的邮箱验证,也没想过去实现一下图形验证码,所以在实训的时候我就去学了一下图形验证码。Graphics 类:是所有图形上下文的抽象基类,允许应用程序在组件(已经在各种设备上实现)以及闭屏图像上进行绘制。不过 这个图形验证码不能在静态的页面测试,要在程序运行之后打开的页面测试。

2023-06-11 10:05:50 215 1

原创 并发-Java并发机制的底层实现原理

它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另一个线程可以读到这个修改的值。volatile比synchronized的使用和执行成本更低,因为它不会引起线程上下文切换和调度。在生成汇编代码时会在volatile变量修饰的共享变量进行写操作的时候会多出Lock前缀的指令。Lock前缀的指令在多核处理器下会引发两件事情:(1)将当前处理器的缓存行的数据写回到系统内存。(2)这个写回内存的操作会使在其他CPU里缓存了该内存地址的数据无效。

2023-06-04 15:17:51 586

原创 MySQL日志

错误日志时MySQL中最重要的日志之一,它记录了mysqld启动和停止时,以及服务器再运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。该日志时默认开启的,默认存放目录/var/log/,默认的日志文件名为mysqld.log。

2023-05-27 20:10:19 1198

原创 MySQL高级(InnoDB引擎)

在执行DML语句时,如果这些数据页在Buffer Pool中没有存在,不会直接操作磁盘,而是将数据变更缓存在Change Buffer,在以后读取数据时,再将数据合并到Buffer Pool中,再将合并后的数据刷新到磁盘中。和聚集索引不同,二级索引时非唯一的,并且以相对随机的顺序插入二级索引。是主内存中的一共区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改查操作时,先操作缓冲池中的数据(若缓冲池中没有数据,则从磁盘加载并缓存),然后再以一定频率刷新到磁盘,从而减少磁盘IO,加快处理速度。

2023-05-21 21:55:48 452

原创 打家劫舍问题

打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,。给定一个代表每个房屋存放金额的非负整数数组,计算你,一夜之内能够偷窃到的最高金额。[1,2,3,1]4偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4。12偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。

2023-05-12 17:50:27 593 3

原创 MySQL高级--锁

锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。MySQL中的锁,按照锁的粒度分,分为以下三类:全局锁:锁定数据库中的所有表。表级锁:每次操作锁住整张表。行级锁:每次操作锁住对应的行数据。

2023-05-07 15:30:32 516

原创 MySQL高级(二)

sql优化,视图,存储器,触发器多次插入每一次insert都要与数据库建立连接。一次插入数据不宜过多,不要超过1000条。主键顺序插入效率高于乱序插入。如果一次性需要插入大批量数据,使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令进行插入。

2023-04-22 22:34:39 609

原创 Mysql高级(一)

存储引擎是存储数据,建立索引,更新/查询数据等技术的实现方式。存储引擎是基于表的,所以存储引擎也可被称为表类型。可以在创建表的时候指定存储引擎,mysql5.5之后默认存储引擎InnoDB。索引(index)帮助mysql高效获取数据的数据结构(有序)。在原始数据之外,数据库还要维护索引这种的数据结构,通过这种数据结构指向数据。

2023-04-16 11:30:59 212 1

原创 和为k的子数组、中位数为k的子数组

这个思路和上面那道题思路差不多,求中位数为k的子序列,可以将大于k的元素都设为1,小于k的元素都设为-1,将等于k的元素都设为t,和为t或者t+1的序列排序后中位数就为key。4、进行比较,如果当前元素下标小于所找的元素下标,证明该元素前面所有子序列没有k出现,直接将前缀和存入map加一就行。利用前缀和的思想,求出每一个元素到第一个元素的和,两个元素前缀和相减就是两个元素之间所有元素的和。解释:中位数等于 4 的子数组有:[4]、[4,5] 和 [1,4,5]。1、遍历数组,找到值为k的元素的下标。

2023-04-06 17:41:02 627 1

原创 商城项目-秒杀功能

这次完善项目的时候加入了秒杀功能。这个功能要考虑的地方挺多的,我在网上找了一些资料,然后把这个功能大致完成了。但是还有很多地方我没考虑到,有些地方实现的不是很好,等以后再回头看对这个功能进行进一步的完善吧。

2023-04-06 17:36:10 648 1

原创 商城项目-客服功能

最近一段时间我们在完善项目,我们在写的项目是一个商城项目。上次考核的时候考虑到进度问题,客服功能只做了一半,这次项目我对它进行了完善。--more-->客服功能因为要实现即时通信,我主要是基于websocket实现的,它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的。因为是第一次去写类似的功能,所以在实现过程中遇到了很多问题。

2023-04-06 17:33:17 515

原创 并发-并发编程的挑战

实际上,系统内只有一个CPU,而使用多线程时,那么真实系统环境下不能并行,只能通过切换时间片的方式交替进行,而成为并发执行任务。可以参考concurrentHashMap锁分段的思想,不同线程处理不同段的数据,这样在多线程竞争条件下,可以减少上下文切换的时间。避免创建不需要的线程,比如任务很少,但是创建了很多的线程,这样会造成大量的线程都处于等待状态。异步调用指的是,调用者不管被调用的方法是否完成,都会继续执行后面的代码,当被调用的方法完成后会通知调用者。不一定,因为线程有创建和上下文切换的开销。

2023-04-02 16:32:19 214

原创 JVM面试题

Survivor的存在意义,就是减少被送到老年代的对象,进而减少Full GC的发生,Survivor的预筛选保证,只有经历16次Minor GC还能在新生代中存活的对象,才会被送到老年代。在这里,先想一下,如果没有双亲委派,那么用户是不是可以自己定义一个java.lang.Object的同名类,java.lang.String的同名类,并把它放到ClassPath中,那么类之间的比较结果及类的唯一性将无法保证,因此,为什么需要双亲委派模型?回收目标主要是常量池的回收和类型的卸载,各线程共享。

2023-04-02 16:30:16 504

原创 JVM-Java内存区域

运行时数据区(程序计数器,java虚拟机栈,本地方法栈,java堆,方法区),对象的创建,对象的内存布局和访问定位。

2023-02-24 14:49:33 386 1

原创 mysql引擎

如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,包含很多更新、删除操作,那么innodb是比较合适的选择。MyISAM:MyISAM是mysql5.5之前的默认引擎。不支持事务,只支持表锁,不支持行锁。如果操作主要以读取和插入为主,修改和删除的操作很少,对数据的并发性和完整性要求并不是很强的情况下可以用该引擎,比如用户日志,评论等。由于受到硬件的问题、或断电问题的影响,只能将这些表作为临时表或缓存使用。suport:是否支持引擎(default是默认引擎)

2022-10-09 14:32:11 314 1

原创 Java基础-反射

使用反射会导致内部暴露,由于反射允许代码执行一些正常情况下不被允许的操作(比如访问私有的属性和方法),所以反射可能会导致一些意料之外的副作用—代码有功能上的错误,降低了可移植性。在性能上,反射包括了一些动态类型,所以JVM无法对这些代码进行优化,因此,反射的效率要比那些非反射的操作低很多,应该避免在经常被执行的代码和对性能要求很高的程序中使用反射。在程序内部逻辑上,程序人员希望在源代码里面看到程序的逻辑,反射等绕过了源代码的技术,因此会带来维护问题,反射代码比相应的直接代码更加复杂。逆向代码,例如反编译。

2022-09-24 21:58:58 363

原创 String,StringBuilder,StringBuffer区别

String,StringBuilder,StringBuffer区别

2022-09-15 22:40:50 189

原创 jvm,jdk,jre

jvm,jdk,jre,为什么说 Java 语言“编译与解释并存”?

2022-09-15 20:02:59 131

原创 分治法(算法)

二分法,归并排序,快速排序,快速幂,汉诺塔

2022-09-10 10:36:14 21684 4

原创 【每周总结】

前一段时间我复习了java基础,在昨天我们进行了考核,感觉自己什么都没复习到,昨天的题有两个我都提前看到过相关的知识点,但是却没有注意,就是大致理解了一下,所以在考核的时候就是想不起来怎么写。Java的序列化和反序列化这个知识点我记得以前有一次考核的时候学长问过我一次,前几天我写题的时候也遇到了,当时看题解的时候感觉有点不太理解,然后就光记得序列化就是把可以看懂的转化为看不懂的,反序列化就是反过来,以前没有重视这个知识点,考核后我才又重新去记了这个知识点,原来序列化是。核心作用是对象状态的保存与重建。

2022-09-04 10:57:14 117

原创 【每周总结】

java实训项目我是先写的页面,再写的接口,最近把页面完成了,但是我又遇到了一个很大的问题,我不会交互······我没想到前端页面和后端接口我都没问题,到最后竟然卡在了不会交互上。突然感觉时间过得好快啊,转眼间我们都快大二了,也要成为学长学姐了,事实上心里面是有点期待学弟学妹们的到来的,嘿嘿嘿~但是我java基础一直不是很好,我还学着忘着,就怕到时候学弟学妹问我问题我也不会,害。我看着他一下子做好几张试卷,就忍不住想起来我以前的时候,写一张试卷我都坐不住(๑Ő௰Ő๑),现在小孩子那么有毅力的嘛。...

2022-08-14 11:22:43 219

原创 对称的二叉树(算法题)

这个问题采用递归的方法,从最上方的根节点向下依次判断,将左节点看做root,右节点看成tree,每次root左移时,tree右移,保证root和tree一直处于对称的位置。判断root和tree是否相等,若不相等,则证明该二叉树是不对称的。如果tree和root有一项为空而另一项不为空,则该二叉树也是不对称的。请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。二叉树 [1,2,2,3,4,4,3] 是对称的。...

2022-08-06 22:28:37 1294 1

原创 【每周总结】

这次项目写得这么差劲我们组每个人都有责任,在考核后我也进行了反思,我写项目的时候和前端的交流比较少,对前端的进度也不清楚。因为我最开始是看着牛客的页面去写的接口,没有顾虑到前端,后来他们用接口的时候我才知道他们一些是按照其他页面写得接口,然后中间会浪费很多时间。还有就是写接口的时候没有做好对接口的测试,在写文件上传的时候我写了对文件类型的校验,但是在写接口的时候中间一个地方不小心写错了,导致这个功能实现不了。总体来讲,这次项目我们完成的很差劲,在我们组的bug表里有足足一百多个bug。......

2022-08-01 01:30:38 126

原创 重建二叉树(算法题)

输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。

2022-07-23 23:01:53 189

原创 【每周总结】

这一段时间也一直在写项目。因为上一次在写项目的时候我没有写关于评论的内容,所以这一次我就准备尝试写这一部分。由于项目开始的时候我先写了用户模块的内容,所以关于帖子的评论我最近才完成。我感觉这一部分理解了之后也不难,在查询的时候用list集合接收子评论的内容,然后在xml文件中把结果集封装好就可以了。这一段时间我的接口也写的差不多了,就剩下登录没有写好。在接下来的时间我准备把重心放在完善接口和回顾基础知识上面。...

2022-07-17 00:20:56 75

原创 【每周总结】

这次项目已经开始写好长时间了,我感觉自己写接口的效率有点低。应该是基本的知识学的不怎么扎实的原因,我在写项目的时候总是遇到好多问题。 这一次我们用了Mybatis-Plus,Mybatis-Plus是一个Mybatis的增强工具。前一段时间我才把用户相关的接口基本上写完,这周写帖子类的时候需要用到联表,Mybatis-Plus好像并没有提供多表操作的方法。原本我想在网上找找有没有办法用Mybatis-Plus实现多表操作,但是找到的我看的不是很懂,后来还是选择用xml文件自己写sql语句。删除

2022-07-09 22:18:20 119

原创 Mybatis-plus常用方法

int insert(entity):插入单条数据,返回值为int删除:int deleteById( id):通过id进行删除int deleteBatchIds(Collection

2022-07-02 21:55:21 1017

原创 redis持久化

RDB是Redis用来进行持久化的一种方式,是把当前内存中的数据集快照写入磁盘,也就是 Snapshot 快照(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。 通过保存数据库中的键值对来记录数据库的状态。 RDB 有两种触发方式,分别是自动触发和手动触发。优点: (1)节省磁盘空间,生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。 (2)恢复速度快。 (3)

2022-06-25 22:20:50 202 1

原创 关于redis的学习

这段学习计划主要是学习redis,因为学习计划才开始的几天有专业课考试,平时我专业课总是划水,学的实在太差劲了,所以我把重心放到了专业课的复习上面,虽然复习之后考的也不太好,但是复习总比不复习好。后来又加上一系列事情,导致这一阶段的学习进度有点慢了。最近也是注意到了这个问题,正在慢慢补救。 感觉每次在接触一个新的软件的时候我总会遇到各种各样的问题,这次也不例外,最开始安装软件遇到了好多问题,不知道该如何下手。后来在网上找了好多教程,才把软件安装好。后来在操作的时候也不知道我不小心弄错什么了,就

2022-06-18 23:11:51 325 1

原创 关于PS的学习

因为一些原因,这学期提前放假了,所以这是在暑假学习的第一周。很明显,在假期的时候我的学习状态比不上在学校的时候,但是和在寒假的时候相比,我现在的学习状态还是比较好的。 这一段时间我们在学习ps,可能是以前我有时候会在手机上绘画,然后对于图层什么的接触的比较多,因此我对于ps一些工具的学习还是比较快的。这一阶段我没有去跟着视频去学习,而是通过做练习去了解和掌握一些工具的运用。在学习计划开始的前两天我就开始去做PS的练习案例,在做练习的时候遇到的最大的问题就是调色,后来还是结合了学长学姐发的材料里

2022-06-11 19:23:41 168

原创 有关Springboot的学习

由于疫情原因,这一周的学习是在宿舍中进行的。说实话我的自制力不是很高,所以这一星期的学习进度有点慢。在上一阶段我们写项目的时候使用的是ssm框架,这一阶段我们要把ssm框架换成SpringBoot框架。SpringBoot提供了全新的框架。在学习ssm的时候我最头疼的事情就是配置文件了,一不小心配置就会出问题。在学习了SpringBoot之后就再也没有这个烦恼了,同时也不用导入很多很多的依赖。相比之下,SpringBoot真的是比ssm简单很多,但是SpringBoot的...

2022-05-14 21:03:33 144

原创 项目考核总结

历时一个月,我们这个项目也进入了尾声。在昨天,所有的组都完成了考核。和最开始的信心满满不同,在项目结束的时候,我整个人都是很颓废的。我们组的项目整体上表现得很差劲,无论是前端还是后端,在考核的时候表现的都不尽人意,这也和我这个组长有很大关联。在写项目的时候,由于我是学后端的,就没有太多地去关注前端的进度,以至于到最后交项目的时候前端的页面还没有全部连在一起。在提交仓库的最后一段时间,我们组才把播放音乐的页面连接起来,这也导致考核的时候出现了很多问题。后端的问题主要是出在代...

2022-05-09 15:49:35 416 1

原创 关于下载音乐的问题

这周写项目遇到了一个问题——怎么通过url下载音乐文件。因为之前写下载文件都是通过文件路径去下载的,而这一次我们用到了云存储,在数据库里面存的是url地址,所以我就不知道应该怎么去下载了。后来我在网上找到了通过url来下载文件的方法,但是又遇到了一个问题,就是我是从数据库获取的url,里面有中文会报错,这个问题困扰了我好长时间。我在网上查找解决中文乱码的办法的时候,知道了URLEncoder.encode()可以使用指定的编码机制将字符串转换为 app...

2022-04-30 21:55:55 749 1

原创 音乐项目总结(三)

这一段时间的状态感觉比上周的状态好点了,我也慢慢写了一些接口,虽然进度还不是很快,但很明显有了进步。在写项目的时候我们组遇到了好多好多bug,遇到最多次的就是更新仓库的时候出的bug,应该是terget文件和仓库里面的target文件冲突了,我们遇到这个问题的时候都是吧target文件删掉,然后就可以更新了。还有还有就是前端的一些bug,我们组前端的同学给我说他们的代码变了,但是用tomcat运行起来页面却没有变化,当时挺懵逼的,然后就上网查嘛,才发现是浏览器缓存的问题,...

2022-04-23 17:55:46 464

原创 项目总结(二)

学习上:这周是我们写项目的第二周。可能是因为我们两个后端的时间太紧,加上学东西有点慢,我们组后端的进度和其他组比起来是比较慢的,以后需要慢慢加油了。到目前为止,我们项目组还没有进行前后端的交互,原本计划的是今天交互,但是计划赶不上变化,今天课程太多了,就没有交互上。这是我们大一前后端第一次一起写项目,对于前后端怎么交互我们也不是很懂,今天晚上才把交互的细节商量好,明天应该就可以进行交互了。通过这几天写项目我感觉到交流沟通真的非常重要,因为每个人写得代码都不一样,学的东...

2022-04-17 00:48:18 107 1

原创 初始项目总结(一)

学习上: 这周我们开始前后端交互写项目了。项目开始的时候我一直在整合ssm框架,但一直整合不好,浪费了好多时间,项目的进度太慢了。我们这次做的项目也是音乐网站,可能是因为上一次做过类似的项目,所以对于要实现的功能什么的我都有一点点了解,在开始写得时候也有了大致的构思,这也是比较好的一点吧。现在进度还是有点慢的,项目开始几天了,我才把数据库建好,然后我想在项目里面多用一点动态sql语句,但是对于这一方面我掌握的有点差劲,可能要抽时间去补一下了。经过这周和后端其他人的交流...

2022-04-10 00:22:50 121 8

原创 关于算法学习

1.大数2.Arrays.sort()自定义排序(1)匿名内部类(2)新建一个类实现Comparator接口,再new一个类传入sort函数中

2022-04-02 21:00:20 436

原创 SpringMVC

在第四阶段学习过程中我的进度有点慢,学习任务结束的时候我还在整合ssm,主要是前面学习的时候没有怎么注意时间,再加上课有点多,进度就跟不上了。记录一下这个星期学习的关于SpringMVC的一些知识:1.SpringMVCM:Model:Bean,Dao,ServiceV:View:Html,jsp等C:Controller:servlet2.工作流程(理解原理)web.xml<?xml version="1.0" encoding="UTF-8"?&...

2022-03-26 23:43:12 578

原创 第四阶段学习总结

https://mvnrepository.com/仓库服务

2022-03-18 17:30:14 190

原创 音乐网站考核总结(二)

这次考核考的有点差劲,学长让我们再把内容补充补充,在补充的过程中我也学到了很多知识点: 1.在过滤器中要想调用getSession()方法,要先对request进行类型转换,否则不能直接调用getSession()方法。HttpServletRequest req= (HttpServletRequest) request;Object user=req.getSession().getAttribute("user");...

2022-03-13 08:14:31 356 1

空空如也

空空如也

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

TA关注的人

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