王同学的记录
码龄6年
关注
提问 私信
  • 博客:5,878
    5,878
    总访问量
  • 12
    原创
  • 1,589,838
    排名
  • 10
    粉丝
  • 0
    铁粉

个人简介:一直努力一直学习

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2019-04-08
博客简介:

wangtongxuexueit的博客

查看详细资料
个人成就
  • 获得5次点赞
  • 内容获得1次评论
  • 获得5次收藏
创作历程
  • 1篇
    2023年
  • 4篇
    2021年
  • 7篇
    2020年
成就勋章
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

mybatisplus处理多数据源关键字兼容问题

mp处理多数据源关键字兼容问题
原创
发布博客 2023.02.09 ·
1331 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

导入excel大文件

最近的在做导入excel ,测试大文件4M左右的excel,一导入服务就被killed掉了,poi在new 工作簿的时候,会产生非常多的对象,突然式内存暴增 ,oom 后被kill掉。查询poi 官网发现导入有两种方式,一种是用户模式,一种是事件模式,用户模式简单易写,对于小的excel好用,事件模式代码复杂,但是用的内存少直接贴代码(事件模式)import java.io.File;import java.io.IOException;import java.io.InputStream;im
原创
发布博客 2021.10.11 ·
382 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

excle ,csv文件 导入相关问题

最近做的excel导入遇到的问题1.csv导入时如果字符串中含有逗号如何出来 // 切割数据时用String[] split = lineData.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");2.excle 导入时处理数据防止报错将所有数据变成文本格式再进行读取 String value; if (cell.getCellType().equals(CellType.NUMERIC)) { value = df.f
原创
发布博客 2021.09.01 ·
221 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

随机密码生成器

随机位数的密码生成器import org.apache.commons.lang3.StringUtils;import java.util.*;/** * @ClassName: RandomPwGenerator * @Description: 随机密码生成器(生成方式:密码字典) * @Author: * @Date: 2021/8/3 15:04 **/public class RandomPwGenerator { /** * 大写字母密码字典
原创
发布博客 2021.08.04 ·
309 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

构建邮箱服务

今天springboot 构建邮件服务,遇到的一些问题记录一下主要构建的模板html邮件1.pom文件 // 邮件包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
原创
发布博客 2021.08.04 ·
268 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(六)消息积压该如何处理

如何预防消息积压消息积压的原因:在某个环节出现了性能问题,来不及处理上游发送的消息导致消息积压如何避免消息积压:可以从两个方面 生产端 和消费端进行优化 来避免消息积压。生产端:一个消息在进行发送时,主要经过消息数据的组织,消息的序列化,创建发送的请求,网络传输耗时和消息确认。我们可以通过批量发送和提高并发优化发送端性能。如果我们做的时在线业务,注重的是请求时效响应,那么选择多线程并发 并行的生产发送消息 ,如果对于请求时效响应不是特别看重,那么选择批量发送,可以减少网络之间的生产传输耗时等来提高生
原创
发布博客 2020.08.10 ·
474 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(五)如何处理消息的重复消费

在MQTT协议中,给出了三种传递消息的标准1at most once 至多一次:一个消息只被消费一次,不管是否成功,允许丢失一部分消息。2at least once至少一次:一条消息会被重复消费3exactly once恰好一次:一条消息只被处理一次,且必须成功,不能够失败大部分消息队列都是符合 at least once, 如rabbitmq ,rocketmq ,允许出现重复消息。在有重复消息的前提下,添加幂等可以保证系统的稳定,保证消息不被消费。幂等可以通过几种方式来实现:1.采用数据库
原创
发布博客 2020.08.10 ·
924 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

(四)消息队列实现分布式事务和如何检测消息是否丢失

消息队列实现分布式事务在生产阶段,首先给队列发送一个半消息,半消息是一分全量消息,只是在确认之前,不会被消费者发现,第二步实现本地事务,根据本地事务决定队列上的消息提交还是回滚,在本地事务完成之后给队列发送的消息提交发生问题,队列没有收到提交或者回滚的命令,kafka会直接抛出异常让用户自己处理,rocketmq有自己的消息反查机制,它会轮询去查哪些消息还没有得到确认,回去调用户实现的一个反查接口,来处理这条消息的状态。如何检测消息是否丢失大部分消息队列都会提供拦截器机制,利用队列的有序性,在拦截器里
原创
发布博客 2020.08.09 ·
230 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

(三)主题和队列的区别

队列:队列是一种先进先出的线性表,它能够严格保证消息的有序性现在的消息队列大概分为队列模型和订阅模型队列模型:当多个生产者在队列生产消息,在消费者一端,多个消费者消费消息属于竞争模式,同一时刻只能有一个消费者在消费,并且消费过后则不能重新消费,如果每个消费者都要得到一份全量的数据就必须建立多个队列,一份消息复制到多个队列,给每个消费者一个队列,这样我们就必须知道消费者有多少个,违背的消息队列的解耦原则。订阅-发布者模式:发布者-主题-订阅者,每个订阅者都能够得到一根全量的数据。队列模式和发布者模式的
原创
发布博客 2020.08.09 ·
497 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

微信公众号开发,小程序开发所需要的加密解密方法(留下了没有技术的泪水)

1.微信公众号前端调用api所需签名SHA1算法public String SHA1(String str) { try { MessageDigest digest = java.security.MessageDigest .getInstance("SHA-1"); //如果是SHA加密只需要将"SHA-1"改成"SHA"即可 digest.update(str.getBytes());
原创
发布博客 2020.08.08 ·
602 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

消息队列的作用和选型问题

消息队列的作用和选型问题消息队列的作用:异步,解耦,和削峰选型问题:三款主流且开源的消息队列RabbitMQ:是一款开箱即用的消息队列,每秒大概可以处理几万到十几万的消息,用erlang语言进行开发,二次开发需要较大的学习成本,容易造成消息堆积,性能会极具下降,RocketMQ:阿里巴巴开源的消息队列,经历过多次双十一的考验,每秒可以处理十几万到几十万的数据,有很好的生态圈,是用java 开发的,代码易读,二次开发成本较低,品学兼优,对在线服务做了很多的优化,适合在线业务使用 如支付Kafka
原创
发布博客 2020.07.30 ·
87 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

(二)消息队列如何确保消息不会丢失

消息队列如何确保消息不会丢失一条消息从生产到消费可以分为以下三个阶段:1.生产阶段:生产者发送消息到MQ2存储阶段:MQ将消息存储3消费阶段:消费者从MQ中消费生产阶段:生产阶段消息队列通过最常用的请求确认机制保证可靠性,当消息发送给broker如果成功则会得到一个确认响应,客户端得到响应则认为是一次成功的消息发送,若长时间得不到确认响应,则会重新发送消息,若不成功则会抛出异常或返回代表失败的值,在编写代码中,正确的处理返回值和异常,则能保证在生产阶段确保消息不丢失。存储阶段:在存储阶段正常
原创
发布博客 2020.08.01 ·
353 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏