摘要: 1. 应用解耦 2. 流量消峰 3. 数据分发 产生的问题 1. 消息消费的重复性 2. 消息的丢失问题 3. 消息传递的顺序性 4. 数据一致性问题,体现在数据分发时,A,B,C三个系统中C消费失败,A、B、C变得不一致 配置信息 nameserver 启动broker时连接的nameserver 阅读全文
posted @ 2021-01-27 18:16 newbie94 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 通过Stream.filter不同属性来过滤重复 /** * 通过对象属性去重 * * @param keyExtractor * @param <T> * @return */ public static <T> Predicate<T> distinctByKey(Function<? supe 阅读全文
posted @ 2020-09-04 11:45 newbie94 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 由于格式问题datagrip无法正确解析xlsx,解析xlsx就会出现乱码,如下图所示,无法正确的根据符号分割。![-w1011](https://img2020.cnblogs.com/blog/1184149/202004/1184149-20200420103428643-488724221.jpg)解决办法通过wps或者excel工具将此文件另存为csv文件,选择下面的格式后另存。![-w... 阅读全文
posted @ 2020-04-20 10:34 newbie94 阅读(5458) 评论(0) 推荐(0) 编辑
摘要: 在刚刚更新的Idea2020版本出现之后,发现了一个问题,在历史插件没有更新的情况下咱们更新了idea,就会导致插件更新没有及时跟上而导致失效。个人的解决办法:官网插件地址:[https://plugins.jetbrains.com/plugin/6317-lombok/]()进入官网插件地址进行下载EAP版本选择version history![-w1526](https://img2020.... 阅读全文
posted @ 2020-04-10 10:06 newbie94 阅读(11145) 评论(5) 推荐(2) 编辑
摘要: * wait方法时可中断方法,这也就意味着,当前线程一旦调用了wait方法进入阻塞状态,其他线程时可以使用interrupt方法将其打断的;可以中断方法被打断后会收到中断异常InterruptedException,同时interrupt状态也会被擦除。* 线程执行了某个对象的wait方法以后,会加入与之对应的wait set中,每一个对象的monitor都有一个与之关联的wait set* 当线... 阅读全文
posted @ 2020-04-09 23:28 newbie94 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 1、交叉锁可导致程序死锁无限等待的情况,A拿着R1的锁,等待获取R2的锁,B拿着R2的锁,等待R1的锁。2、内存不足类似1.这回是等待释放内存3、一问一答式的数据交换在数据交换中,这种一问一答式若是一方某种原因发送的消息丢失,那么这种情况下,发送方等待接收返回信息,接收方无限等待接收信息。4、数据库锁for update退出事物,那么其他线程访问时数据库都会陷入死锁5、文件锁某个线程获取或者操作文... 阅读全文
posted @ 2020-04-09 22:28 newbie94 阅读(161) 评论(0) 推荐(0) 编辑
摘要: * `synchronized`关键字提供了一种锁的机制,能够确保共享变量的互斥访问,从而防止数据不一致问题的出现。* `synchronized`关键字包括monitor enter和monitor exit两个JVM指令,它能够保证在任何时候任何线程执行到monitor enter成功之后都必须从主内存中获取数据,而不是从缓存中,在monitor exit运行成功之后,共享变量被更新后的值必须... 阅读全文
posted @ 2020-04-08 22:06 newbie94 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 简单理解就是等待,若是A线程中调用了B线程JOIN则A要等待B执行完了才会回到A线程刚刚的位置。 阅读全文
posted @ 2020-04-08 21:59 newbie94 阅读(162) 评论(0) 推荐(0) 编辑
摘要: ## 问题发生的场景:json传递过来一个BigDecimal类型数据【545169.8113】,通过`JSONObject.fromObject`来将其转换为一个对象,在转换之后的对象数据中存储的数据已经丢失了变为【545169.8】丢失了部分精度。使用的JAR包:net.sf.json-------## 问题跟踪追踪问题的根源,解析过程一直在这里面进行调用 ![-w1113](https://... 阅读全文
posted @ 2020-04-08 16:07 newbie94 阅读(1993) 评论(1) 推荐(1) 编辑
摘要: * `public void interrupt()`* `public boolean isInterrupted()`* `public static boolean interrupted()` 以下方法:* Object.wait* Thread.sleep* Thread.join* 其他 > 可中断方法的定义:一些方法使当前线程进入阻塞状态,若是被另一个线程调用被阻塞线程的in... 阅读全文
posted @ 2020-04-07 22:30 newbie94 阅读(144) 评论(0) 推荐(0) 编辑