- 博客(20)
- 收藏
- 关注
原创 rabbitmq入门
一 、什么是消息队列消息队列可以看作是一个存放消息的容器,当我们需要使用消息的时候,直接从容器中取出消息供自己使用即可。中间件二、 为什么要用消息队列 通过异步处理提高系统性能(减少响应所需时间)。 削峰/限流 降低系统耦合性。 三 、使用消息队列带来的一些问题 系统可用性降低: 系统可用性在某种程度上降低,为什么这样说呢?在加入 MQ 之前,你不用考虑消息丢失或者说 MQ 挂掉等等的情况,但是,引入 MQ 之后你就需要去考虑了! 系统复杂性提高: 加入
2021-09-20 22:59:33 213
原创 反转n到m的链表节点
public ListNode reverseList2(ListNode head, int left, int right) { ListNode node = new ListNode(0); //为原链表定义一个头节点,方便操作 node.next = head; //定位到left节点前一个位置 ListNode pre = node; for (int i = 0; i < left -...
2021-09-17 21:28:46 195
原创 三数之和的简单解法(容易理解)
主要是对双指针的运用。1.把数组进行排序,这样两个相同的数就会排在一起,方便去重。2.外层循环确定第一个数,里面两个指针确定另外两个数。public class ThreeSumDemo { public static List<List<Integer>> threeSum(int[] nums){ List<List<Integer>> lists = new ArrayList<>(); .
2021-09-16 19:38:10 8221
原创 LRU算法(最近最少使用)的简单实现
public class LRUCacheDemo { int cap; //利用有序的map来存贮元素 Map<Integer, Integer> map = new LinkedHashMap<>(); //初始化容量上限 public LRUCacheDemo(int capacity) { this.cap = capacity; } public int get(int key) { .
2021-09-15 09:26:05 187
原创 从上到下打印二叉树
public class PrintFromTopToBottomDemo { public ArrayList<Integer> printFromTopToBottom(TreeNode root){ //创建返回的集合 ArrayList<Integer> arrayList = new ArrayList<>(); //创建要借助的队列 LinkedList<TreeNode>.
2021-09-14 22:20:17 103
原创 java的快速排序一种思路
/** * 快速排序 */ public static int[] QuickSort(int[] arr, int left, int right) { if (left > right) { return arr; } //找到主元 int pivot = arr[left]; int i = left; int j = right; .
2021-09-12 13:17:07 58
原创 ThreadPoolExcutor线程池的简单实践
线程池的执行流程:首先创建一线程池,使用带有核心线程数、最大线程数、销毁时间、单位、阻塞队列和拒绝策略的构造方法。 使用循环创建线程并执行 最后销毁执行细节:任务的请求到来时,如果线程池的核心线程数未满,则创建线程,否则查看阻塞队列,如果阻塞队列未满添加任务进阻塞队列,否则查看线程池中的线程是否达到最大,如果没有达到最大,则创建线程,否则使用拒绝策略public class ThreadPoolDemo { private static final int COREPOOLSIZ
2021-09-10 16:45:30 621
原创 JDK动态代理实现短信的发送
注意:jdk的动态代理,被代理的对象必须要实现接口。//定义发送短信的接口public interface SmsService { String send(String message);}//实现类class SmsServiceImpl implements SmsService{ @Override public String send(String message) { System.out.println("输入的是"+messa.
2021-09-09 20:10:19 160
原创 简述选择排序的思路
思路:先找出数组中的最小值,然后获得最小值和最小值的索引,把最小值与第一个值交换 。确定最小的的位置后,不再把有序部分纳入下个最小值的查找。 public static int[] select(int[] arr){ for(int i=0;i<arr.length-1;i++){ int min=arr[i]; int minIndex=i; for(int j=i+1;j<arr.l
2021-09-09 18:28:52 167
原创 简述插入排序的思路
思路:1.把整个数组分为有序和无序两部分,拿第后面一个与前一个相比,如果小于前一个,就把前面的往后挪,直到找到插入的位置。2.每次比较都从有序部分最后一个往前比。3.一轮后前面有序的部分往后增加,一轮结束后,找到最大值。public static int[] insertion(int[] arr){ for(int i=1;i<arr.length;i++){ int temp=arr[i]; int j; .
2021-09-08 20:58:33 398
原创 大白话冒泡排序
思路:像冒泡一样,每一轮通过比较找到一个最大的排到最后, 接下里每一轮都减少一次比较 循环轮数是数据总数减1优点:思路简单缺点:每次都要比较,效率低代码如下:用两种不同的方式表达,最后结果都是相同的public static int[] bubble(int[] arr){ for (int i = arr.length-1; i > 0; i--) { for (int j=0;j<i;j++){ i..
2021-09-07 22:40:01 94
原创 mybatis-plus插件的问题
问题:发现MybatisPlusInterceptor报红,显示不存在。发现mybatis-plus的坐标也导入了。解决:原来是版本的问题,mybatis-plus3.4.0之后才有的这个类,换3.4.0之后就好了
2021-08-21 15:32:12 605 1
原创 MySQL “Zero date value prohibited“ 问题
Cause: java.sql.SQLException: Zero date value prohibited; Zero date value prohibited; nested exception is java.sql.SQLException: Zero date value prohibited日期的最小值不能比“1900-01-01 00:00:00”更小了 否则会报错!解决方法:1.修改原数据 2.在mysqlurl 中添加z...
2021-08-21 15:13:07 5147
原创 模拟CAS
package test;import java.time.LocalDateTime;public class test10{ public static void main(String[] args) { final CompareAndSwap cas=new CompareAndSwap(); for(int i=0;i<10;i++) { new Thread(new Runnable() { @Override public void ru.
2021-05-26 00:43:34 77
原创 方法参数传递机制
1.形参是基本数据类型传递数据值2.实参是引用数据类型的值传递地址值特殊的类型:String,包装类等不可变性例子:import java.util.Arrays;public class test11 { public static void main(String[] args) { int i=1; Integer num=2; int[] arr=new int[]{1,2,3}; String str="he"; change(i,num
2021-05-21 16:08:42 59
原创 类初始化和实例初始化
一、类的初始化过程1.一个类要创建实列需要先加载并初始化该类——main方法所在的类需要先加载和初始化2.一个子类要初始化需要先初始化父类3.一个类初始化就是执行<clinit>()方法——<clinit>()方法由静态代码类变量显示赋值代码和静态代码块组成——类变量显示赋值代码和静态代码块代码从上到下顺序执行——<clinit>()方法只执行一次程序执行结果:(5)(1) (10) (6)二、实例初始化过程1.实例初始化就
2021-05-21 15:25:04 483
原创 单例模式的实现
一、饿汉式//饿汉式class Singleton{ public static final Singleton SINGLETON=new Singleton(); private Singleton() { }}1.类加载的时候创建对象//枚举类饿汉式enum Singleton1{ SINGLETON;}2.枚举类默认是static的//静态代码块的饿汉式class Singleton2{ public static final Sing..
2021-05-21 13:20:03 97 1
原创 SSM慕课书评网项目
目录一、主要涉及的技术点二、项目展示三、ssm整合四、项目的目录结构五、项目地址一、主要涉及的技术点1.spring、springmvc、mybatis-plus 框架2.前端bootstrap UI和wangEditor富文本编辑器3.Kaptcha验证码组件4.springtask任务调度5.mysql数据库和可视化工具navicat二、项目展示三、ssm整合1.添加相关依赖<repositories> &l.
2021-05-20 20:12:31 1571 16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人