自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2022-3-6 大二下学期第二周

学习内容:例如:1、 继续学习了jvm2、 写项目,完善了websocket的功能3、 写了五六道算法题学习产出:例如:1、 学习了jvm的字节码指令,加载与存储指令、算术指令、类型转换指令、对象的创建和访问指令、方法调用与返回指令、操作数栈管理指令。2、 websocket实现了用户之间的聊天、管理员推送消息、审核消息的推送等3、 算法真是太奇妙了,但是太难想了。柱状图中最大的矩形 这道题从暴力解法推出单调栈的解法,再到单调栈的优化,看完题解真是感觉太厉害了。class Soluti

2022-03-06 14:30:51 128

原创 2022/3/1 力扣:反转链表和K个一组反转链表

1、题目:反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(in

2022-03-01 17:53:13 272

原创 大二下学期第一周

寒假结束,这周三来到学校,周四开始正常的学习,到小组学习比在家认真很多。这几天学学jvm,学学cloud,写写算法,写写项目,时间很快就过去了。听到大三的学长学姐开始面试并且拿到了offer,很羡慕但也觉得自己该更努力了。学习内容:例如:1、 学习jvm2、 学习springcloud3、 算法4、 写项目学习收获:例如:1、 学会了解析class文件源码,知道了class文件的结构。内容太多了,还得多看多复习。Class文件总体结构如下:魔数(CAFEBABY) 四个字节、Class文

2022-02-26 21:24:28 661

原创 大二寒假---第一周总结

学习总结: 昨天刚结束了这次的考核任务,在学长面试的问题中也发现了自己的很多不足,对集合的源码还有一部分没掌握好。 最基本的fail-fast机制我竟然忘了,就是list集合检查异常的机制,有一个修改次数值modCount,如果在操作时发生modCount发生了改变就会抛出异常,这是list集合的一个保护机制。 还有hashmap的树的迁移,因为我看hashmap的时候没有看红黑树,就把红黑树的部分跳了过去,后来学了红黑树再去看源码把这部分给忘了。考核完我又了解了一下,发现跟链表的迁移差不多,也是分

2022-01-16 18:23:06 339

原创 大二下学期第十四周

学习上: 一周又过去了,真是太快了。但是感觉这段时间过得很不充实,这段时间看源码的进度很慢,总是有其他的事情。现在源码才看了没多少。这周刚开始看了HashMap,看了两天发现真的看不下去,太难了。一大堆位运算,知道代码是这样写的,但是不知道为什么这么写。于是我看了LinkedList,相比之下,实在简单太多了。看了源码,真是太佩服大佬们的智慧了。还是感觉欠缺很多,有许多地方还不够。时间得充分利用起来,大二 上学期马上结束了,到了大二下学期就离大三不远了。昨天参加了发现杯,我发现我真是太菜了,平常每

2021-12-12 16:01:32 231

原创 ArrayList源码初学

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、ArrayList是什么?二、内部详情1.方法变量2.主要的方法总结前言学习源码让我更加了解了整天在用的东西是如何实现的,看完ArrayList的源码,发现其实实现的原理很简单,但是写出方法的人要考虑很多,看那些细节真的让人佩服,一些精妙的操作让我大呼想不到。下面是我一些浅显的认识,记录一下。提示:以下是本篇文章正文内容,下面案例可供参考一、ArrayList是什么?ArrayList说白了就是Object数组

2021-12-07 20:36:58 290

原创 大二下学期第十三周

学习上:    考核结束了,项目也告一段落了。虽然项目考核过了,但是有很多需要完善的地方,因为写的时候逻辑有问题,redis使用的不是很正确。我把文章的点赞数量跟文章分开了,前端取数据的时候还得循环好多遍,加载的有些慢。听了学长的建议,我把点赞数量放到文章里了,直接取就行了。因此,我的好多方法都重写了,花了我三四天,第一次这么不想改哈哈哈。下次写的时候多想想,再好好考虑一下。考虑代码的实用性,对性能的影响。    还有一个很重要的功能没有实现,使用websoc

2021-12-05 08:44:28 1857

原创 java 将网络图片转为base64

ByteArrayOutputStream outPut = new ByteArrayOutputStream(); byte[] data = new byte[1024]; try { // 创建URL URL url = new URL("https://kele-1305880580.cos.ap-beijing.myqcloud.com/PicOfZhao/" + split[i] + ".jpg"); ..

2021-12-02 15:13:01 938

原创 mysql三大范式

上星期,正感觉生活安逸,项目功能写的差不多了,突然学长说这周要面试我们java基础,突然就精神了起来。昨天面试过了结果也出来了,下面是学长对我的评价数据库的知识忘了好多,虽然平常总是在项目中使用,但是一些基础的知识还是没记住。数据库的三大范式:范式的概念:设计数据库的时候需要遵从的一些规范,目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足前三个范式就能设计一个比较规范的

2021-11-28 14:54:20 704 2

原创 大二第十一周总结

生活上:感觉大学生活过的太快了,已经要第12周了。今天下午离散数学要期中考试,下周五之前要找学长考核,下周五还要交这次的项目。这几天非常的焦虑。要抓紧时间复习很多东西,继续加班吧。学习上:学校的课程学习,今年这学期学了离散数学、线性代数、概率、电子信息技术还有马克思原理。感觉这学期要考试的东西比去年难,自己还啥都不会,我已经开始抽时间复习了,今年因为疫情考试又提前了,我得提前做好准备。还有英语四级要来了,我也得准备好面对了,争取一次过了,上大学基本没碰过英语了,我怕我废了。昨天下午松哥给我们讲了线程基

2021-11-21 10:53:07 351

原创 从list随机取出数据

因为写项目时遇到了这个问题,需要实现这个方法,我便在网上搜索了一下,发现了Collections.shuffle() 这个方法。shuffle可翻译为洗牌、把···换位置、调动。//把集合随机排序Collections.shuffle(list);int randomSeriesLength = 5;//取出前五个List<HotUser> randomSeries = list.subList(0, randomSeriesLength);这是我用到的代码示例,最后返回的时查询到

2021-11-16 20:36:00 5356

原创 mysql模糊查询并按匹配程度排序

今天写写项目,写到模糊查询的时候想到了应该匹配度高的信息考前,于是我就在网找了找,果然找到了方法。需要用到case表达式格式:CASEWHEN condition_1 THEN result_1WHEN condition_2 THEN result_2…ELSE result END案例:SELECT `课程号`,sum(CASE WHEN 成绩 >= 60 THEN 1 ELSE 0END )as 及格人数 ,sum(case when 成绩 <

2021-11-10 08:33:28 1473 1

原创 redis初体验

第一次在项目中使用redis,我写的点赞功能因为使用频率高,所以我选择使用了redis。这是我痛苦的开始,因为存到redis里的

2021-11-07 10:02:24 491

原创 排序算法.

冒泡两两比较交换因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志 flag 判断元素是否进行过交换。从而减少不必要的比较。(这里说的优化,可以在冒泡排序写好后,在进行)for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) {//如果前面的数比后面的数大,则交换 ..

2021-09-28 19:47:48 69

原创 2021-9-19

最近学习了Redis,也把Linux的基础知识学完了。接下来又要开始新的学习任务了——数据结构。在学Redis时做了笔记,以后忘了可以回顾。前段时间还买了一本Linux操作系统的书,感觉还不错挺详细,但是在家里确实有些看不下去,到开学了再好好研究。缓存穿透: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方法: 1.接口层增加校验,如用户鉴权校验,id做基础校验,id&lt

2021-09-19 11:25:33 71

原创 Integer小知识

public static void main(String[] args){ Integer i1 = 100; Integer i2 = 100; System.out.println(i1 == i2); Integer i3 = 128; Integer i4 = 128; System.out.println(i3 == i4);}答案:truefalseprivate static class IntegerCache { static final int low =

2021-09-11 10:52:56 147

原创 2021-08-15 又一周

总结在外面住的第二周了,一切都完全适应了,我们的任务再有一星期就到时间了,基本的功能都已经实现了。但是一个问题困扰了我好几天,SpringBoot 整合SpringSecurity Oauth2 jwt ,因为Oauth2已经不再维护了,不知道该怎么配置了,网上找的案例都不太对,于是这几天基本什么都没做。我得赶紧把这个拿下来了,剩余的时间不多了。总结一下做项目的收获吧。这次项目使用的jpa,而不是mybatis了,觉得jpa挺方便的。其中我遇到的一些语法,总结一下。jpa是通过数据库表和实体类之间的

2021-08-16 11:13:51 83

原创 字符串的一些方法

字符串的反转 String str = "hello"; String newstr = str.reverse(); Systrm.out.println(str); //输出结果为 olleh判断字符是否为字母 Character.isLetterOrDigit('A'); //结果为true大小写转换的 Character.toLowerCase('A'); //结果为A String str = "ABC"; String newstr = str.toLowerCas

2021-08-15 17:45:01 67

原创 飞快的一周

一周总结    从学校搬到我们自己找的房子已经一个多星期了,已经完全适应了这里的生活。还是小组的正常作息,但是感觉没有在学校那么累了。很庆幸自己没有决定回家,要是回到家里估计就是每天瘫倒床上了,现在在这里跟学长学姐一起学习挺好的。    下学期,新生就要到来了,找新的任务就落到我们20上了。我们这组要做三折纸和小组的官网论坛,感觉任务也不是很重,应该能及时完成。就是这几天学习了SpringSecurity框架和JWT还有Oa

2021-08-08 16:40:40 102

原创 考核小结之都不会

又一次考核,又一次觉得自己啥都不会。这次学长问我了一些学了但是没记住的问题。@Autowired 与@Resource的区别:@Autowired是属于spring的注解,而@Resource是属于J2EE的

2021-07-29 10:04:54 71

原创 驼峰命名和下划线

今天在做springboot+mybatis的项目时踩得一个小坑,在使用驼峰命名法时要记得在配置文件中设置(我是在yaml中配置的)mybatis: configuration: map-underscore-to-camel-case: true使用驼峰命名法要设置为true。但是使用时下划线的话千万不要打开!不然查询数据库带下划线的值就会为空。我也是误打误撞找到的,本来想着先把这个设置关一下再打开试试,结果关了就可以了。...

2021-07-28 19:27:05 1016

原创 力扣上简单的链表递归题

这两天写了两道用递归解出的链表题算法:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * Li

2021-07-28 08:53:42 118

原创 2021-07-24 力扣:删除链表的倒数第 N 个结点

算法: 删除链表的倒数第 N 个结点。做了几道链表题发现一般都需要设一个预指针(pre),让它的下一个指针指向head,就是pre.next = head。这道题用到了双指针方法。快慢指针,先让快指针走n步,然后让慢指针和快指针一起走,直到快指针走到最后一个节点,那么慢指针所在节点的下一个节点就是要删除的节点。示例:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]代码如下:/** * Definition for singly-linked list. *

2021-07-24 09:11:28 58

原创 2021-07-23 力扣:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。

算法:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/divide-two-integers示例:输入: di

2021-07-23 10:19:01 416

原创 2021-07-19 力扣: 盛最多水的容器。

算法:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-water例:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:

2021-07-19 08:36:53 74

原创 2021-07-17 力扣 :字符串转换整数 (atoi)

算法:字符串转换整数 (atoi)请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的

2021-07-18 10:12:04 152

原创 2021-07-16 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。

算法:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R这道题可以通过数组解出,通过观察,我们发现可以使用数组,分别将z字型中的每一行字符拼接后放在数组中。class Solution { public String convert(String s, in

2021-07-16 16:58:59 733

原创 2021-07-14 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

算法:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。例:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。一道滚动窗口的题。第一种:HashMapclass Solution { public int lengthOfLongestSubstring(String s) { //长度为0直接返回0 if(s.length()==0){ return 0;

2021-07-14 14:21:00 2415

原创 大一下学期总结

       没想到时间过这么快,要写这篇博客时才想到我的大一下学期马上要结束了。这一学期经历了好多,有许多收获,也有遗憾,回想起来都历历在目。       我觉得我的大一生活过的是充实的。在小组每天学习java知识,每段时间的考核,和许多人比我学到了更多的知识。同时,我也认识了很多厉害的学长学姐,他们每个人都很好,对我们很有耐心,指导我们学习,管理经营着小组。每次考

2021-06-19 21:24:30 77

原创 大一下学期第14周

总结学习上临近期末了,我也要开始为期末复习做准备了。同时也临近了小组的考核结束,我也越来越感觉时间不够用了。现在难的不是写功能,而是前后端的交互,后端写好的功能需要知道前端需要接受什么样的数据,前端也得知道后端需要的数据名称。还有最让人烦恼的就是前端的路径问题,网页一跳转css,js样式就会丢失,整了好长时间终于可以了。生活上这星期请了很多假,因为学生会的事务,毕业生毕业之后的很多事物都需要我们去办,还有整理档案许多事情,每天中午睡不了觉,晚上忙到十点多,唉。不过终于忙完了,接下来就好好准备小组的考

2021-06-05 17:43:08 103

原创 大一下学期第十三周总结

总结学习上项目考核快到结束了,小组内的各位都忙了起来,改bug,完善功能,帮助前端交互。然后学长告诉我们要给前端配路由,正在完善。前端页面的静态资源路径问题也忙活了好长时间。生活上昨天学生会举行了我们的第二次聚餐,玩的很开心。...

2021-05-30 17:18:08 60

原创 大一下学期第十二周

总结学习上:改bug,改bug,改bug,bug完又bug。终于在今天把现有的bug改好了,项目进程太慢了,我们要加快速度了。生活上平平淡淡。部里组织了羽毛球比赛,对手太强了,惨败哈哈哈。生活就是战斗...

2021-05-22 21:30:25 83 1

原创 大一下学期第11周

学习上:这学期已经过去了一半,学校的课也都讲了大半,尤其是高数讲的很快,学着后面忘着前面。接下来要找时间复习一下前面的知识,以免到了期末十分紧张。小组的阶段学习已经结束,又到了项目的考核。这次我们组是做一个音乐视频的项目,我负责的是用户的登陆注册和第三方登录。第三方登录难为了我很长时间,在网上找的案例跟着写下来也一直报错,改bug改的烦,但是也让我更明白了spring框架的结构。生活上这周我们部的部长举行了羽毛球比赛,玩的挺开心的。我开始每天锻炼身体了,不然每天坐在小组身体素质会下降的,要全面发展。

2021-05-16 08:16:42 105 2

原创 大一下学期第八周

学习上:上个阶段的学习和考核终于结束了,我们也迎来了下个阶段的学习任务。这因为一些学生会的工作和个人的一些事情,我真正在学习的时间并不是很多,因此我学的很慢。初步学习Spring,了解了Spring是一个容器,管理对象,给属性赋值,底层是反射创建对象。在学习中,之前我做笔记很少,大多知识掌握不牢固,因此我这次做了很多笔记,加强我的印象生活上:又是平平淡淡的一周,这周没事发生啥事。学生会组织了第七届团支部风采大赛,我们负责也观看了整个过程。看到了其他班级的认真团结,很不错。总结:生活就是战斗!.

2021-04-25 16:44:59 52

原创 大一下学期第七周

学习这周感觉很短,因为事情很少,空闲时间很多。运动会加上周末,相当于放了五天的假。除了班会,学生会事务,其余时间都在小组。听说下周就要期中考试了,吓得我赶紧拿出高数书看了起来。明天就要蓝桥杯比赛了,上星期参加了学校的九韶杯,结果只做出来了一道题,得了五分。给我整的没一点信心了,这几天布置的算法题也越来越难,想不出来。算法好难啊。生活这周很平淡,没啥事情,运动会结束了,唉也没看一看。总结:生活就是战斗。...

2021-04-17 22:19:42 62

原创 超大数解决方法

在练习算法的过程中又学到了新的知识点。今天在运行一个算法题时,过程没问题,就是数字太大了放不下而报错,比如100!题目如下:一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积。阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中;而35!就更大了,它已经无法存放在一个浮点型变量中。因此,当n比较大时,去计算n!是非常困难的。幸运的是,在本题中,我们的任务不是去计算n!,而是去计算n!最右边的那个非0的数字是多少。例如,5!=12345=120,因此5!最右边的那个非0

2021-04-11 08:39:07 476 3

原创 大一下学期第六周总结

学习上这周完善了考核项目,改进了上次考核学长指出的不足,增添了一些功能,但是这周因为团支部风采大赛排练,少了许多时间,因此功能还不是很完善。同时,这周把之前没写的算法全补了,前几天的还挺简单,这几天难度逐渐提升,一道算法让我想好久。要举行九韶杯了,这是为蓝桥杯准备的,去试试自己的水平。算法让人喜欢又讨厌,写出来很爽,写不出来想头蒙。但是还是要坚持,不然蓝桥杯的300块钱只能吃顿午餐了。生活上这周很多时间都在准备团支部风采大赛,在小组的时间很少。比赛在今天下午结束了,之后也能好好为蓝桥杯准备了。总结:

2021-04-10 20:11:41 72 1

原创 注意数据类型的范围

求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。一道很简单的算法题,总是运行错误,我的代码是import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n= sc.nextInt(); int Sn=0;

2021-04-07 21:40:47 66

原创 form表单上传的get和post区别

今天在修改考核项目时,发现上传文件时需要form表单的method属性需要设置为post,不然的话List<FileItem> items=upload.parseRequest(request);这一行就会报以下错误the request doesn't contain a multipart/form-data or multipart/mixed stream, content type header is null//意为请求不包含多部分/表单数据或多部分/混合流,内容类型标头为空

2021-04-05 09:03:22 699

原创 大一下学期第五周博客

总结学习上啊这周啊,平缓之中带点波澜。本以为周一考核结果我的考核到了周二,让我周一晚上紧张了好一会。周二考核完了,本以为终于结束了,结果4月10号还要考核。考核内容的功能基本实现完了,但是还有许多的细节不好,以及一些实用性功能没有考虑到,这几天我又完善了一下用户不能重复登录,以及管理员和用户不能同时登陆,退出账户后清楚session防止过滤器拦截不到。还有扫码支付功能,我想这几天有空了尝试一下做一下。还有之前没做的算法这两天全都补了回来,都是一些很基础的题,但是也学到了一些新的东西,我有所整理。有些题

2021-04-03 22:11:37 94 1

空空如也

空空如也

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

TA关注的人

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