摘要:
java.util.concurrent.Exchanger可以用来进行数据交换,或者被称为“数据交换器”。两个线程可以使用Exchanger交换数据,下图用来说明Exchanger的作用
在下面的代码中
首先我们定义了一个Exchanger,用于数据交换
然后定义了两个线程对象bookExchanger1和b... 阅读原文
2021-06-21 13:13:03 阅读(43) 评论(0)
摘要:
Quartz表达式生成地址:http://cron.qqe2.com
支持生成定时任务表达式和反解析,使用Quartz表达式的定时任务如下:
xxl-job
springboot 的 @Scheduled
Quartz 框架
一、定时任务的五种创建方式
1、使用线程创建 job 定时任务
/**
* TODO... 阅读原文
2021-06-21 12:21:07 阅读(41) 评论(0)
摘要:
我最新最全的文章都在 南瓜慢说 www.pkslow.com ,欢迎大家来喝茶!
1 简介
见名知义,Spring Cloud Gateway是用于微服务场景的网关组件,它是基于Spring WebFlux,也就是Reactive的。从实现原理上,它的性能应该是比Zuul会更好。
它的工作原理如下图所示:
简单... 阅读原文
2021-06-21 11:00:22 阅读(41) 评论(0)
摘要:
模板方法模式
模板方法模式是一种行为设计模式,它在一个抽象类中定义好了一类行为的步骤流程,且允许子类在保存行为结构不修改的情况下对具体的步骤进行修改。下面将结合给企业微信发送文本消息和文本卡片消息这两种行为来说明模板方法如何使用。
一、企业微信的文本消息和文本卡片消息需要的参数
请求方式:POST(HTTPS)
请求... 阅读原文
2021-06-21 09:22:03 阅读(41) 评论(0)
摘要:
最近因为学习需要,本人学完JavaWeb就立马跟战Spring,中间跳了太多步骤,导致在学习Spring过程中遇到了各种困难,看视频也是无济于事,就只能将手中的代码改为面向百度编程。
话不多说,直接上坑。
1.开发工具的坑
目前了解的只有Eclipse和MyEclipse两个开发工具,先说MyEc... 阅读原文
2021-06-21 07:07:01 阅读(44) 评论(0)
摘要:
1、使用系统参数表的好处
Spring Boot项目中常有一些相对稳定的参数设置项,其作用范围是系统级的或模块级的,这些参数称为系统参数。这些变量以参数形式进行配置,从而提高变动和扩展的灵活性,保持代码的稳定性。
以数据库表形式存储的系统参数表比配置文件(.properties文件或.yaml文件)要更灵... 阅读原文
2021-06-21 06:00:06 阅读(36) 评论(0)
摘要:
作者:叁滴水
博客:https://blog.csdn.net/qq_30285985/
前言
在订单的状态发生改变后,支付宝会通过异步方式同志商家服务器。商家服务器需要返回success这7个字符,如果不是,则会不断重复发送。
微信也是如此,必须需要商家服务器的正确反馈。既然这样,在回调接口就需要进行幂等处理。
一... 阅读原文
2021-06-20 23:34:02 阅读(45) 评论(0)
摘要:
1. ArrayList和LinkedList的区别
ArrayList:基于动态数组,连续内存存储,适合下标访问(随机访问),扩容机制,因为数组长度固定,超出长度存数据时需要新建数组,然后将老数组的数据拷贝到新数组,如果不是尾部插入数据还会涉及到元素的移动(往后复制一份,插入新元素),使用尾插法并指定初始容量可以极... 阅读原文
2021-06-20 21:17:01 阅读(32) 评论(0)
摘要:
EventLoop 接口
Netty 是基于 Java NIO 的,因此 Channel 也有其生命周期,处理一个连接在其生命周期内发生的事件是所有网络框架的基本功能。通常来说,我们使用一个线程来处理一个连接,该连接的生命周期的某一事件就绪,则会调用对应的事件处理逻辑
在 Netty 中,一个 EventLoop 负... 阅读原文
2021-06-20 19:50:04 阅读(33) 评论(0)
摘要:
1. hashcode与equals
1.1 hashcode介绍
hashcode()的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。hashcode()定义在JDK的Object.java中,Java中的任何类都包含有hashcode()函数。散列... 阅读原文
2021-06-20 18:07:01 阅读(31) 评论(0)