自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 手动注册DUBBO服务实现定向调用服务

使用ServiceBuilder.newBuilder()创建一个指引,并进行属性设置,再通过serviceBuilder.ref()将需要调用的service对象注入进去,在通过build()方法完成创建,之后就是通过setVersion()实现多服务或同一服务下的不同service的不同调用;监听实例对象,ZK的监听不是持续性的,一次监听对应一次响应,需要消费后需要进行再次监听。直接采用Dubbo的配置信息,避免无效的重复配置减少维护成本。使用ZK监听服务的注册和销毁,实现动态下线dubbo的消费。

2024-01-16 11:23:58 431

原创 Java11 LocalDateTime与Date的互相转换

【代码】Java11 LocalDateTime与Date的互相转换。

2023-03-30 10:02:48 222

原创 使用for循环代替递归实现树结构数据

大深度的树结构数据容易导致堆的内存溢出。

2023-03-29 11:26:32 257

原创 spring-cloud-stream-binder-rabbit 3.1 消费者无法创建队列

spring-cloud-stream-binder-rabbit 3.1 以后支持函数式消费和生产 配置方式没有太大的改变;package org.amaidan.order.mq.demo;import lombok.extern.slf4j.Slf4j;import org.amaidan.order.mq.config.MqChannelConfig;import org.springframework.cloud.stream.function.StreamBridge;impor

2022-03-14 17:38:17 2040 9

原创 LocalDate 跨年快速计算月差

LocalDate date = LocalDate.now(); LocalDate time = LocalDate.now(); Integer diff = time.getYear() - date.getYear(); Integer month = time.getMonthValue() + (sff*12);

2022-01-19 11:52:20 1307

原创 LocalDate快速获取当前季度

LocalDate start = LocalDate.now();int quarter = (start.getMonthValue()-1)/3 + 1;start = start.withMonth(quarter*3 - 2*quarter);System.out.println(quarter);System.out.println(start);

2022-01-07 18:09:11 4635

原创 通过Maven profiles 和 maven-resources-plugin 实现灵活切换bootstrap.yml配置文件

bootstrap配置文件是由springapplication 进行初始化 而不是和application一样 有bean 进行初始化,大部分的配置中心都是由 springApplication 直接进行初始化,这导致application的配置无法加载只能使用bootstrap配置文件,但是bootstrap 存在一个很难受的地方 它无法直接使用maven的@@关键字 进行动态切换配置文件但是 我们可以通过maven-resources-plugin 实现将制定目录的文件编译到指定目录下,从

2020-09-28 17:33:55 1570

原创 spring cloud gateway + nacos 实现 动态路由配置、秒级上下线(二)

之前已经知道了nacos服务变更通知的流程,那么现在就是实现获取服务变更 并实现秒级上下线通过源码回溯可以知道EventDispatcher对象是由NacosNamingService对象创建并管理,在往上 能知道这个对象又是由NacosDiscoveryProperties对象管理,而这个对象 就是nacos-config 的配置信息对象,那么他必然是由spring管理的,所以Resource 注入完事,NacosDiscoveryProperties 管理的代码public NamingS

2020-09-04 16:36:03 3038 4

原创 spring cloud gateway + nacos 实现 动态路由配置、秒级上下线 (一)

众所周知 阿里 的nacos 注册中服务的变更 是有变更通知的有一个对象线程PushReceiver专门处理服务变更处理@Override public void run() { while (true) { try { // byte[] is initialized with 0 full filled by default byte[] buffer = new byte[UDP_

2020-09-04 15:42:56 4365

原创 阿里注册中心(配置中心)Nacos 坑

部署完nacos 服务后 再项目中引用 大概率会出现 明明配置文件中配置了nacos服务url, 但是无法正常的读取到url原因 很简单 换成配置文件名 从application换成bootstrap即可 文件的后缀没有特别要求,出现这个的原因 在与bootstrap的加载先于application,nacos-config的加载顺序先于 application 配置文件加载到Enviroment,导致在Environment中获取不到配置文件。nacos-discovery 没有这个问题,如果只是

2020-09-04 15:29:24 1617 1

原创 开方公式

平方根立方根 import java.math.BigInteger;/** * @Description 大数开方 方法 平方 立方 * @Author Joen * @Date 2020-08-11 11:44:39 */public class ExtractUtils { //TODO 偶数开方 n % 2 | n % 3 则n为2 3 的倍数 可以进行 n/2 | n/3 次开方 (素数不支持开) private static BigInteger ..

2020-08-11 16:19:49 2077

原创 BigInteger 非常用方法

remainder 求余数and & 与 (二进制算法)or | 或 从最高位判断是否存在1 存在任意一个则为1 否则 为0(二进制算法)flipBit 从右到左反转指定位的值(二进制算法)clearBit 从右到左归零指定位的值(二进制算法)shiftLeft 向左移动指定位(二进制算法)shiftRight 向右移动指定位(二进制算法)xor 异或相同则为0 不同为1 (二进制算法)pow 次方 不能传入负值进行开方gcd 最大公约数..

2020-08-10 17:49:07 340

原创 Java 元注解信息获取

元注解:注解的注解 public static void main(String[] args) { try { Class<BaseController> aClass = BaseController.class; Method create = aClass.getMethod("insert", BaseReq.class); Permission permission = create.

2020-07-21 10:10:39 438

原创 重写PropertySourcesPlaceholderConfigurer 实现自定义配置读取

重写PropertySourcesPlaceholderConfigurer的postProcessBeanFactory方法 实现 对配置文件中 ${}配置的自定义解析默认情况下 ${} 是读取本地配置文件的已存在配置 当不存在时 配置为NULL其中主要的代码是postProcessBeanFactory方法中的PropertySource 抽象类if (this.environment != null) { this.propertySources.a...

2020-07-16 18:22:08 1904

IntelliJ IDEA快捷键中文文档

IntelliJ IDEA快捷键中文文档

2023-04-07

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

TA关注的人

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