- 博客(32)
- 收藏
- 关注
原创 RabbitMQ的基础知识点
可视化管理工具:RabbitMQ 提供了一个可视化的管理工具 RabbitMQ Management,可以方便地管理和监控队列以及消息的传递状况。处理消息的方式多样化:RabbitMQ 支持广泛的消息传递模式,如点对点消息、订阅/发布模式、路由模式等,能够满足不同的业务需求。高性能:RabbitMQ 内置 Erlang 虚拟机,具有极高的吞吐量和低延迟,适用于高并发和大量消息传递的场景。可靠性和稳定性高:RabbitMQ 采用了先进的消息传递协议 AMQP,保证消息传递的可靠性和一致性。
2023-08-30 11:55:21
140
原创 LeetCode经典困难题-接雨水
这道题一开始的思路是求一个一个坑的蓄水体积再相加,但问题是情况会有很多种,这时这种情况就该如何把问题‘化整为0’,也就是把问题拆分为一个个小问题,所以我们可以把一个一个坑的蓄水体积,化为求每个下标位置的蓄水体积就可以了, 那求每个下标的位置怎么求呢?解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
2023-06-24 11:35:22
167
原创 LeetCode-最小时间-雀巢原理、排序
最小时间-雀巢原理、排序什么是雀巢原理?简单的理解是:1.如果有n+1个鸽子飞进了n个鸽巢中,那么必定有鸽巢中至少飞进了2只鸽子。2.任何367个人里面至少有两人生日相同。3…任意11个整数中,至少有2个整数之差是10的倍数。当一件事物超出其最大容量时,就一定会有重复值出现。
2022-11-07 17:27:36
719
原创 dp-不同路径
dp(动态规划)-不同路径前言最近,博主一直在做算法题,经常不会然后去评论区找答案,发现一些大佬都是在说很容易直接dp,然后霹雳巴拉就把代码写出来了。我连dp都不知道是什么,所以博主痛定思痛,下定决心把这个动态规划学习透彻。dp是什么?dp指的是动态规划(dynamic programming),为动态规划的首字母缩写。动态规划算法的**基本思想**是:。。。。。
2022-11-03 10:25:12
146
原创 java算法-旋转矩阵-算法思路规范!!!
为什么博主提这个算法思路规范,其实大家写代码时,有时遇到一些题,往往debug完找到错误,然后补补,然后又想debug又有,又补补,一直不能成功,然后要删了重写,其中大部分是对于一些临界值处错误,这是你编程开始时一直都没定义好这个临界点导致的,这道题,其实难度不大,主要是对于四个角的临界值判断,到底是给上一个遍历赋值,还是让一下遍历赋值。给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix。
2022-10-14 17:39:31
846
原创 Mybatis、Mybatis-plus的一些开发常见的坑
Mybatis、Mybatis-plus的一些开发常见的问题mybatis中驼峰法失效现象mybatis中${}使用debug打断点查mybatis运行编译完sql脚本
2022-10-01 18:45:33
1544
原创 java算法-找出数组最大三个数(利用Integer.MIN_VALUE解决)&&两个有序数组整合为一个有序数组(双指针)
java算法-找出数组最大三个数(利用Integer.MIN_VALUE解决)&&两个有序数组整合为一个有序数组(双指针)从一个给定的数组中选出最大的三个数,且不能使用排序算法。为java中最小整数为: -2147483648。两个有序数组整合为一个有序数组。
2022-09-05 01:32:38
930
原创 return,break,continue意义和区别
return,break,continue意义和区别return作为一个关键字,首先他是一个结束返回的意思,他的主要作用是结束,并不是返回。而他不是结束一个循环,他是结束一个方法,无论你处于第几层循环,直接结束最外面的方法。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。博主,学习java有3年了,惭愧的是,今天都对return,break,continue的区别不是很清晰。continue的功能是中止,如果是一个循环,他只是中止其中一次循环,开始下一个循环。
2022-09-03 16:03:06
189
原创 java算法-数组全排序-回溯法
java算法-数组全排序-回溯法思路大概就是做一个访问数组visited当你访问的位置会被添加1,但遇到该被访问位置那要终止这一次,开始下一次,当你满一次结果集,你要return一次,跳出一个方法,你这时是跳出for循环里的czzfYY()。而你第一次for中i=2时,跳出循环,czzfYY()方法结束,是跳出for中czzfYY()方法,如果你连续i=2时,整个外层czzfYY()方法结束,返回最终结果集。给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。
2022-09-03 14:26:46
525
原创 LeetCode-三数之和-另类双指针法-哈哈哈
LeetCode-三数之和-另类双指针法首先,这道题给的输入范围随机性有点高,再着就是限制了输入范围不可以包含重复的三元组,需要判断得出的输出结果。简单暴力的解题需要三层可能更多的for循环,这样大大提高了时间复杂度。...
2022-08-28 20:16:13
150
原创 java算法-8.27-360笔试-求最大及格数
8.27-360笔试-求学生们的最大及格数总成绩=(考试成绩 乘以 q+ 平时成绩 乘以 p)/100,老师很希望能帮助他的学生,但同时又希望他的学生期末成绩越高,平时成绩越高。按题意两个同学的成绩为51、50 ,所以他们都能分到最大的平时成绩分别为100,99,所以他两中只有51分期末成绩的同学及格。时间...
2022-08-27 20:49:29
201
原创 java算法up!up!up!-最长回文子串-中心扩散法
最长回文子串-中心扩散法 回文字符串与中心扩散法一旦字符串题目涉及最长最短的,并且还让你找到它在哪,除非有很巧妙的技巧,不然就会涉及一个是对比函数Math.max/Math.min,一个是字符串的起始位置,所以这道题这两个点是没逃的,然后又是关于回文串的,那中心扩散法是没逃的,然后中心扩散法要考虑你它是否是奇数字符串还是偶数字符串,现在,整个答题思路就下来了,但是怎么组织编码实现这又是一大难点。......
2022-08-26 17:27:16
1267
原创 java算法-字符串中不含重复字符的子串最长长度-优雅且高效-窗口移动
java算法-字符串中不含重复字符的子串的最长长度-优雅且高效-窗口移动在遍历到第二次遇到a时,在此之前以他(a)的ascll码做下标已经存了一个以他的位置下标+1的值到last的数组中(last[index] = i+1),然后得知last[index]有值了当Math.max(start, last[index]),起始位置要移动,移动哪里,肯定是上一个a的下一位,所以我这个last[index]存的是字符的下标+1
2022-08-25 01:17:13
522
原创 java算法-字符串匹配up!up!up!——求两个字符串匹配的第一个下标的位置
给定pattern串和text串,pattern串中有’?'代表匹配任意字符,求在text中第一次匹配到的索引。首先,你的text要截几次跟pattern对比,然后跟pattern对比后,一样就输出,第一个匹配的下标也就是你截到第几回了。博主最近做了一道比较有意思的关于字符串匹配的算法题,一开始有点懵逼,但思路捋一下又能写出来了,但不知道有没有更好的做法。’的字符串,然后匹配text字符串的任意一段,求最先匹配(头部)对应的下标索引。'代表匹配任意字符,所以也就是一样要输出第一个匹配的下标。
2022-08-24 15:17:07
344
原创 LeetCode分享-字符串匹配
如果 searchWord 是某一个单词的前缀,则返回句子 sentence 中该单词所对应的下标(下标从 1 开始)。如果 searchWord 是多个单词的前缀,则返回匹配的第一个单词的下标(最小下标)。由题意可知到,要匹配sentence的前缀,意思就是截取sentence从头开始到searchWord的长度的字符进行匹配,而这个方法不仅仅能完成这道题,而且面对从内部匹对和后缀匹对等字符串匹对问题这个方法都是没有问题的,是一个万金油的字符串匹对方法。toffset – 此字符串中子区域的起始偏移量。
2022-08-21 17:31:36
1110
原创 java算法-验证密码复杂度和求一个数组中元素出现次数超过数组长度的元素
我们把每个元素当作一个士兵,遍历所有士兵下去拼死,遇到相同的士兵数量加一,遇到不同的士兵数量减一,如果你的士兵数量现在为0,还遇到不同的士兵,然后那个不同的士兵把数量为0的士兵砍掉,换成他,循环下去。得到剩下的那个就是最勇敢的士兵!也就是元素出现次数超过数组长度的元素。首先你能不能从这道题反向角度去获取一些信息,我能不能理解到,这个元素其实他出现的次数超过数组长度,我能不能理解到。ps:这道题是有n种方法,但最简单粗暴的方法是怎样呢?给你一个字符串,这个字符串必须满足以下五个条件。ps:第一排数组长度。
2022-08-21 02:24:13
272
原创 java笔试干货-常见笔试-TCP/HTTP
在三次握手过程中,服务器发送SYN+ACK之后,收到客户端的ACK之前的TCP连接称为半连接(half-open connect)(第二次握手).此时服务器处于Syn_RECV状态.当收到ACK后,服务器转入ESTABLISHED状态.检测SYN攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击.在Linux下可以如下命令检测是否被Syn攻击。Syn攻击就是 攻击客户端 在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包(
2022-08-20 17:41:41
356
原创 java算法-acm模式-求两个数组的两个元素之和的最大那4个,并降序排序出来
一次笔试中的算法题,有要求要用asm模式去实现,跟同学们自身在LeetCode上面做的算法题有点不太一样,其中我们做的只是要写核心代码就行。所以,博主分享一波用asm模式怎么去完成一条java的算法题。现有两个不同元素组成长度相同的数组,求两个数组的各任意两个元素之和,并通过降序排序输出最大的4个和。提示:第一排分别为:数组长度和输出次数。第二和第三排分别为:两个数组。
2022-08-19 23:52:18
217
原创 MYSQL的锁
首先要了解锁机制,就要了解mysql的存储引擎,mysql的常用存储引擎主要是MyISAM和InnoDB,而他们使用的锁机制也有所不同。加锁可以保证事务的一致性,可谓是有人(锁)的地方,就有江湖(事务);原因:当多个事务选择同一行操作,并且都是基于最初选定的值,由于每个事务都不知道其他事务的存在,就会发生更新覆盖的问题。在当时原子是不可分割的最小元素,其对数据的修改,要么全部成功,要么全部都不成功。持久性(Durable):事务完成后,它对于数据的修改是永久性的,即使出现系统故障也能够保持。...
2022-08-16 15:51:04
193
原创 一个程序员的重启
com.github.pagehelper现在跟大家分享一波,真正开发中前后端分离的项目怎么处理分页!!!1.首先要搞清楚两边要什么参数和返回值前端参数:页数,条数后端返回值:对应的具体查询信息和不进行分页的查询总数2.两边得到对应的值要做什么操作后端:得到对应的信息进行编辑sql脚步进行分页查询得到查询信息,并跟不进行分页查询的总条数一起返回给前端。......
2022-08-16 11:17:15
1260
原创 一个程序员的重启-解决大文件上传采用fastDFS分布式文件存储,实现文件分片上传、断点续传,超详细的编码
大文件上传 分片上传 断点续传 java最近实习,碰到一个大文件上传的难题,然后公司用的也是使用fastDFS进行存储文件,所以博主这两天一直在学习这方面的知识现在跟大家分享一波。liunx的centos7系统(用于安装FastDFS,因为FastDFS没有window的安装程序)redis。2.后端通过相关获取相关值进行业务处理(例如:判断断点,是否重复传),并把file存进fdfs的文件存储位置。1.前端首先要将文件分片,并获取关键数据,例如。......
2022-08-15 18:02:54
1758
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人