java
天地人-神君
这个作者很懒,什么都没留下…
展开
-
java工具--对象比较和对象集合去重(重复的保留一个)
java工具--对象比较和对象集合去重(重复的保留一个)原创 2023-08-21 10:58:16 · 572 阅读 · 0 评论 -
使用Nacos和Sentinel设置全局规则
微服务原创 2022-10-21 15:33:46 · 895 阅读 · 0 评论 -
将对象集合具有相同属性的分到一组
将对象集合具有相同属性的分到一组,集合元素合并原创 2022-08-29 09:50:38 · 500 阅读 · 0 评论 -
字符串隐藏部分子串
隐藏部分子串原创 2022-06-21 14:50:12 · 226 阅读 · 0 评论 -
自定义通用排序
用集合排序,允许客户自定义规则介入。最短一行代码搞定集合排序,通过参数接入客户自定义排序规则。Java实现,可借鉴思想。原创 2022-06-06 15:27:27 · 237 阅读 · 0 评论 -
使用ResultMap生成sql
背景通常情况下,我们使用工具生成对象和表映射关系,这在mapper对应的xml中以resultMap体现。获取ResultMapmybatis将配置全部放在Configuration对象里,故而可以使用Configuration对象获取。/** * 功能描述:表列缓存 * * @author konglcwqy * @date 2022/4/26 9:51 * @param null * @return */ privat原创 2022-04-26 15:55:14 · 373 阅读 · 0 评论 -
字符串切割成指定的数组
字符串切割成指定类型的数组原创 2022-04-01 11:33:16 · 662 阅读 · 0 评论 -
集合内对象属性重复校验
excel排重,集合元素排重原创 2022-02-10 09:56:25 · 1209 阅读 · 0 评论 -
Rocket MQ--019--源码阅读--导入源码
简介本篇开始进行Rocket MQ的源码阅读。源码阅读使用的是4.6.0版本下载从github下载Rocket MQ源码,地址如下:https://codeload.github.com/apache/rocketmq/zip/refs/tags/rocketmq-all-4.6.0导入Eclipse将源码导入Eclipse,导入之后源码结构如下:...原创 2021-09-26 14:58:01 · 107 阅读 · 0 评论 -
Rocket MQ--018--Rocket MQ一些问题及解决方案
消息积压假如消费者链路的某个节点不通,如:数据库宕机导致消费者无法消费消息,最终大量消息积压在MQ中,这时要怎么解决呢?其实要分类,大概可以分为两类:1.允许消息丢失既然消息允许丢失,那么完全可以紧急修改消费者代码,拿到消息就直接丢弃2.不允许消息丢失此时视情况而定:2.1 消费者数量小于Topic的MessageQueue临时增加消费者数量,做到消费者数量等于MessageQueue,一对一消费,这样快速增加消费能力2.2 MessageQueue数量比较少,消息积压很多这种情况下,因原创 2021-09-26 13:52:32 · 427 阅读 · 0 评论 -
Rocket MQ--015--基于Tag和属性过滤消息
背景对于一个Broker来说,可能存在不同业务的数据。假如消费者只关注订单业务,那么它怎么过滤掉非订单业务呢?答案其实很简单:使用Tag或属性进行过滤。生产者带Tag或属性发送package com.klcwqy.rocketmq.message.tag;import org.apache.rocketmq.client.producer.DefaultMQProducer;import org.apache.rocketmq.common.message.Message;import org原创 2021-09-26 10:18:33 · 224 阅读 · 0 评论 -
Rocket MQ--013--重试队列和死信队列
重试队列正常情况下,客户端消费完消息会给MQ响应success,MQ来更新偏移量。但是万一消息处理失败了呢?应该怎么办?这个时候应该让MQ尝试以后将消息推送给我们其实,一旦MQ发现一个消费者,就会为该消费者所在的组创建一个重试队列(Topic),Topic的名称为 %RETRY%消费者所在组名这点可以在控制台发现如果你响应的是重试,在控制台还可以看到重试队列的消息但是,MQ会重试多少次呢?默认情况下MQ会重试16次,尝试周期如下,可配置:messageDelayLevel = 1 s 5原创 2021-09-24 17:07:28 · 300 阅读 · 0 评论 -
Rocket MQ--012--消息零丢失的方案
消息丢失产生的原因对于异步刷盘机制,Broker先将数据写到OS Cache中,在合适的时间OS将OS Cache中的数据刷到磁盘。可能存在刷盘之前,系统宕机,OS Cache数据丢失。即时Broker将数据刷到磁盘了,万一磁盘坏掉,也会丢失消息消费者拉取到一部分消息之后,异步处理消息,主线程响应MQ消息的offset,让MQ以为你处理完了。这时消费者宕机了,异步逻辑还没处理完。因为MQ收到了消费者的offset,MQ就不会进行故障转移(让客户端所在组的其他客户端获取消息)这样也会存在消息丢失。其原创 2021-09-24 11:10:53 · 430 阅读 · 0 评论 -
Rocket MQ--004--发送和消费消息示例
消息发送模式Rocket MQ发送消息可分为同步发送、异步发送和单向发送同步发送:发送消息要等待,直到MQ响应异步发送:发送消息不需要等待单向发送:发送之后代码继续运行,无需关心发送结果,无需等待MQ响应消息发送示例package com.klcwqy.rocketmq;import org.apache.rocketmq.client.exception.MQClientException;import org.apache.rocketmq.client.producer.Defaul原创 2021-09-18 11:14:53 · 244 阅读 · 0 评论 -
Java对象引用类型
强引用public class MyClassLoader extends ClassLoader{ private static Object instance = new Object();}一个变量引用一个对象,被强引用的对象,垃圾回收的时候不会被回收。软引用private SoftReference<Object> softReference = new SoftReference<Object>(new Object());只有内存不够用的时候才会回收被软原创 2021-07-14 13:51:55 · 88 阅读 · 0 评论 -
SpringBoot、Mybatis、通用Mapper多数据源
背景随着项目的强化,单一数据源不再满足需求。不同的业务需要操作不同的数据库。本篇采用spring-boot结合mybatis整合多数据源。maven依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaL...原创 2019-11-05 09:51:56 · 609 阅读 · 0 评论 -
Elasticsearch综合查询
背景因业务需要,需要使用Elasticsearch对不同的索引进行综合查询,这些索引没有任何联系,如:书籍和用户索引。本文讨论如何解决此类问题。对关键词进行处理搜索总有一个唯一关键词,即使是不同的索引,也是如此。所以,针对不同的索引,可以使用multi_match进行处理。对不同索引条件进行处理书籍索引有价格:price,用户索引有性别。但书籍没有性别,用户没有价格。如果做搜索时,不仅需...原创 2019-10-08 10:13:40 · 406 阅读 · 0 评论 -
Hbase2.x协处理器的使用
简介HBASE的协处理器分为endpoint和observer,网上介绍很多,这里不再赘述,直接上代码。创建Maven工程<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://...原创 2019-06-18 15:03:16 · 1954 阅读 · 2 评论 -
mapreduce运行过程中依赖第三方jar的解决办法
楼主是一个hadoop初学者,本着helloword的精神来写mapreduce,将一个表的数据写到另一个表。其中踩过的坑啊......为了不踩同样的坑,楼主将其中的问题及解决办法记录下来。以下是楼主的代码:package handler;import mapper.DBInputMapper;import org.apache.hadoop.conf.Configuration;...原创 2018-12-18 17:13:29 · 1306 阅读 · 0 评论