- 博客(23)
- 收藏
- 关注
原创 RabbitMq 消息确认机制详解
消息从发送,到消费者接收,会经理多个过程,其中的每一步都可能导致消息丢失,常见的丢失原因包括:生产者发送的消未送达exchange消息到达exchange后未到达queue针对这些问题,RabbitMQ分别给出了解决方案:生产者确认机制mq持久化消费者确认机制失败重试机制
2023-02-01 22:12:09
5452
3
原创 MySQL 事务
例如,当一个事务可以找到由一个已提交事务更新的记录,但是可能产生幻读问题(注意是可能,因为数据库对隔离级别的实现有所差别)。幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。经过上面的实验可以得出结论,已提交读隔离级别解决了脏读的问题,但是出现了不可重复读的问题,即事务A在两次查询的数据不一致,因为在两次查询之间事务B更新了一条数据。
2023-01-20 12:20:20
259
1
原创 Java只有值传递
Java 没有引用传递Java传递的引用的副本。而不是引用本身,所以引用没有传递,所以这个不叫引用传递。Java传递的是对象的引用,更确切的说是传递的对象引用的副本。
2022-12-28 16:13:35
236
2
原创 SpringBoot 整合RabbitMq
SpringAMQP是基于RabbitMQ封装的一套模板,并且还利用SpringBoot对其实现了自动装配,使用起来非常方便。SpringAmqp的官方地址:https://spring.io/projects/spring-amqpSpringAMQP提供了三个功能:在父工程mq-demo中引入依赖1.1.1.消息发送首先配置MQ地址,在publisher服务的application.yml中添加配置:然后在publisher服务中编写测试类SpringAmqpTest,并利用RabbitTempl
2022-12-03 16:54:07
318
原创 LinkedHashMap部分源码介绍
HashMap 底层是 数组 + 红黑树 + 链表 ,同时其是无序的,而 LinkedHashMap 刚好就比 HashMap 多这一个功能,就是其提供 有序,并且,LinkedHashMap的有序可以按两种顺序排列,一种是按照插入的顺序,一种是按照读取的顺序,而其内部是靠 建立一个双向链表 来维护这个顺序的,在每次插入、删除后,都会调用一个函数来进行 双向链表的维护 ,准确的来说,是有三个函数来做这件事,这三个函数都统称为 回调函数 ,这三个函数分别是:其主要是两个构造方法,一个是继承 HashMap ,
2022-10-26 10:24:19
203
原创 关于BFS中内存超限的问题(Java)
在BFS中导致内存超限的根本原因就是入队次数过多例题马的遍历 - 洛谷代码说明import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main { static int map[][]; static int move[][]= {{1,2},{-1,2},{1,-2},{-1,-2},{2,1},{2,-1},{-2,1},{-2,-1}}; sta..
2022-10-18 15:52:18
2575
原创 刷题笔记:洛谷P2249 【深基13.例1】查找 (Java)
输入:11 31 3 3 3 5 7 9 11 13 15 151 3 6输出:1 2 -1 基础二分查找题,但是也要注意3个点:1,Java没有算法库,需要手写二分.2 ,输入输出次数过多,不能用Scanner类来读取,读取的太慢了会导致超时并且内存超限,应该要用快读快输,不过这道题不要快输也行,所以必须记住快读数字,快读字符串,和快输的模板。3, 看清题目要求,要求找到该数字第一次出现的位置 ,所以不能在找到目标后就往前遍历,这样的话有特殊数据会导致超时..
2022-10-18 15:50:04
1350
3
原创 Springboot发送邮件教程
首先将发送邮件的逻辑封装,以便反复使用,新建一个工具包util,并在包下新建一个工具类MailClient。1 自行前往自己的邮箱进入设置并开启邮箱pop3/使用 Thymeleaf 发送 HTML 邮件。1.3使用javaMailSender发送邮件。使用 JavaMailSender 发送邮件。在测试类中进行测试发送文本邮件。1.2配置相关的邮箱参数。启用客户端SMTP服务。1.1导入相关jar包。
2022-10-18 15:23:30
1273
原创 Springboot发送邮件教程
首先将发送邮件的逻辑封装,以便反复使用,新建一个工具包util,并在包下新建一个工具类MailClient。在测试类中进行测试发送文本邮件。
2022-09-09 21:57:21
363
原创 IDEA LeetCode力扣刷题插件 中文类名 模板
在用idea力扣插件刷题时,用中文类名会出现空格,在我查阅了官方文档后,发现模板的工具类是继承了Stringutils的,所以在代码模板中是可以运用String的工具类去去除空格的,
2022-08-14 10:45:13
1282
2
原创 洛谷:滑雪(Java)
Michael 喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度会减小。在上面的例子中,一条可行的滑坡为 2424-1717-1616-11(从 2424 开始,在 11 结束)。当然 2525-2424-2323-\ldots…-33-22
2022-06-11 20:40:23
279
原创 P5318 【深基18.例3】查找文献 (Java)
小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。假设洛谷博客里面一共有 n(n\le10^5)n(n≤105) 篇文章(编号为 1 到 nn)以及 m(m\le10^6)m(m≤106) 条参考文献引用关系。目前小 K 已经打开了编号为 1 的一篇文章,请帮助小 K 设计一种方法,使小 K 可以不重复、不遗漏的看完所有他能看到的文
2022-06-08 00:02:25
798
2
原创 P5076 【深基16.例7】普通二叉树(Java语言实现)
题目难度:普及+/提高题目描述您需要写一种数据结构,来维护一些数( 都是 10^9 以内的数字)的集合,最开始时集合是空的。其中需要提供以下操作,操作次数 q 不超过 10^4:查询x数的排名(排名定义为比当前数小的数的个数+1。若有多个相同的数,应输出最小的排名)。 查询排名为xx的数。 求x的前驱(前驱定义为小于x,且最大的数)。若未找到则输出-2147483647。 求x的后继(后继定义为大于x,且最小的数)。若未找到则输出2147483647。 插入一个...
2022-05-20 23:13:00
383
原创 P2234 [HNOI2002]营业额统计 (Java)
题目描述Tiger 最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。Tiger 拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某些时候营业额突变得很高或是很低,这就证明公司此时的经营状况出现了问题。经济管理学上定义了一种最小波动值来衡量这种情况:当最小波动值越大时,就说明营业情况越不稳定。而分析整个公司的从
2022-05-16 10:42:29
524
3
原创 P3613 【深基15.例2】寄包柜 (java)
采用嵌套hashmap来解决详情见代码import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.io.StreamTokenizer;import java.util.ArrayList;import java.u
2022-05-10 12:09:23
350
1
原创 CyclicBarrier使用说明。
Barrier的意为“障碍”可以看看CyclicBarrier的构造方法当线程调用CyclicBarrier对象await()方法后会被阻塞,同时计数+1,直到达到CyclicBarrier构造方法中的预定的数目,所有线程就会被唤醒。代码实例package Condtion;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;publi.
2022-03-20 10:17:30
172
原创 JUC实现精确顺序访问(线程通信例题)
在JUC编程中可以通过Condition类来进行精确阻塞与唤醒。Condition类主要有两种方法:1,Condition.await():使当前线程陷入阻塞,并释放锁。2, Condition.signal():唤醒该Condition对象所在的线程。下面有个例题可以帮助理解。题目要求:创建三个线程,线程1打印 " -A- " 5次 ,线程2打印" -B-" 10次,线程3打印 "-C-" 15次,并按照 A->B->C顺序进行打印,重复10轮。以下是实现过程p.
2022-03-19 20:21:32
416
原创 P1219 [USACO1.5]八皇后 Checker Challenge(Java)
原题链接[USACO1.5]八皇后 Checker Challenge - 洛谷https://www.luogu.com.cn/problem/P1219 典型dfs例题,注意回溯过程中不要过度复原。import java.util.Scanner;public class Main { static int map[][],ans[];//map:棋盘,ans:解 static int n,count;//count:计数 public static voi...
2022-03-16 12:25:34
727
原创 P1228 地毯填补问题(Java语言实现)
输入输出样例见原题链接:地毯填补问题 - 洛谷这道题属于分治算法经典问题棋盘覆盖问题的衍生题。为了更好的讲解解题思路,在这里我将举一个例子,通过例子来说明, 1,将大方块分成四小块,找到被公主覆盖的位置(黑色)在哪个小块 。2,在该小块顶角铺上填补此形状的毛毯,使公主不在的三个小方块各被覆盖一个位置。 3,进入公主所在的方块,重复第1步,第2步操作。直到被填满。 4,由于公主不在的方块未被处理,且因为公主不在的三个方块被覆盖...
2022-02-23 14:39:50
684
原创 洛谷P1217 [USACO1.5]回文质数 Prime Palindromes (Java语言实现)
https://www.luogu.com.cn/problem/P1217题目介绍这道题思路很简单,就是判定一个数是回文数的同时也要判定它是质数,题目要求求出5~100000000中所有的回文质数。回文数的特点是对称性,例如1234321,将数字翻转之后仍然与原数字一样,故可以利用Java的Stringbuffer.reverse()将数字直接翻转,再与原数字判断,代码如下:boolean symmetry(int num) { String temp=...
2022-01-13 18:02:25
986
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人