![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java问题及优化方案
文章平均质量分 75
记录Java开发遇到的问题,以及遇到的更优解决方法
Small ink
人生一世,总有些片断当时看着无关紧要,而事实上却牵动了大局。
展开
-
Arrays.asList(T... a)导致的事故
总结:经验太少…哈哈哈哈。原创 2023-11-28 15:13:18 · 654 阅读 · 0 评论 -
不规范使用CountDownLatch引发的线程异常等待超时
出现这种问题实属不该,本次记录下来用于铭记自己出现了这种不规范的使用。本次BUG没有什么好用的总结,那就浅浅记录一下,希望以后不会再犯了!!!原创 2023-03-23 19:20:15 · 2213 阅读 · 1 评论 -
【分表分库】SpringBoot整合ShardingSphere---Sharding-JDBC
ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。ShardingSphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。原创 2023-01-29 11:47:39 · 2063 阅读 · 0 评论 -
【SpringBoot整合Redis+WebSoket】
socket属于长连接,其session只会保存在一台服务器上,其他负载及其不会持有这个session,此时,我们需要使用redis的发布订阅来实现,session的共享。因为现在很多项目都是前后分离的,所以前端走后端基本都是通过Nginx或公共网关来统一转发请求,WebSoket使用的是长连接默认的Nginx是不支持长连接的所以需要配置,请参考。sendMessage:发生消息的方法(自己封装的,并不限制,按要求扩展),因为我们使用的是redis的发布订阅方式所以我们使用的是Redis的订阅来发送消息。原创 2022-12-26 17:29:15 · 1519 阅读 · 0 评论 -
【rocketmq-client日志保存路径的问题、及消息积压查看】
由于项目中需要同步A系统数据到其他系统,所以我们使用了RocketMQ的广播形势来将A系统的数据同步到其他系统,但是日均同步的数量达到了三万次。久而久之就出现了服务器磁盘空间不足影响系统的使用,所以检查了服务器发现MQ的日志没有定时清理一直积压在服务器内部。现在日常开发中MQ的使用成了许多公司选择,常见的有“ActiveMQ、RabbitMQ、RocketMQ、Kafka”。Springboot项目可在启动类的main方法中设置,已验证有效。原创 2022-10-14 11:22:34 · 2893 阅读 · 0 评论 -
【RocketMQ】整合SpringBoot
另一个区别是消费失败时的处理不同,有序消费模式返回ConsumeOrderlyStatus.SUSPEND_CURRENT_QUEUE_A_MOMENT后,消费者会立马消费这条消息,而使用并发消费模式,返回ConsumeConcurrentlyStatus.RECONSUME_LATER后,要过好几秒甚至十几秒才会再次消费。顾名思义,有序消费模式是按照消息的顺序进行消费,但是除此之外,我发现和并发消费模式还有很大的区别的。并发消费模式则不会无限消费,而且消费失败后不会马上再消费。......原创 2022-08-08 10:40:02 · 2407 阅读 · 0 评论 -
【RocketMQ的使用】转载官方
比较常见的MQ有:ActiveMQ、RabbitMQ、RocketMQ、Kafka追求可用性:Kafka、 RocketMQ 、RabbitMQ追求可靠性:RabbitMQ、RocketMQ追求吞吐能力:RocketMQ、Kafka追求消息低延迟:RabbitMQ、Kafkamaven:gradle:2. 消息发送2.1 发送同步消息2.2 发送异步消息异步消息通常用在对响应时间敏感的业务场景,即发送端不能容忍长时间地等待Broker的响应。2.3 单向发送消息这种方式主要用在不特别关心发送转载 2022-08-04 15:27:56 · 360 阅读 · 0 评论 -
【Java问题大纲】Java heap space问题的出现以及解决
单个系统所涉及到的数据量大概在100W左右,之前都是使用脚本同步的,这次因为换数据库了所以采用了程序的方式来同步数据到其他系统。所以在多线程查数据库数据时产生了这个问题,日常启动项目的大小设置的是。IDEA遇到了,可以设置IDEA的大小,设置Xms和Xmx就行啦!以上列出的几个是最常遇到的,也有可能其他导致出现哦!,因此问题就产生了!......原创 2022-07-27 14:46:19 · 9924 阅读 · 0 评论 -
【@Async的使用及配置】
注解最简单的使用场景就是,异步发邮件等情况了💌!首先我们需要在启动类上加启用异步注解,然后在需要异步的类上加注解就行了。启动类:邮件发送实现类:自定义线程池有几种方法,就看友友们选那个了🌈。如何使用:第二种:第二种和第一种其实也差不多只是将线程池配置给了Spring的Async了,这种的使用就帮你解决了异步的方法上还要写这么多了,用了之后就可以这样写了,是不是很方便呢😉?第三种:第三种就是使用了Spring自己的默认线程池了不过我们也可以自己设置默认的线程池,在yml文件下添加如下...原创 2022-07-12 17:32:05 · 2756 阅读 · 2 评论 -
【Docker 安装 Nginx】
访问 Nginx 镜像库地址: https://hub.docker.com/_/nginx?tab=tags。查看本地镜像使用以下命令来查看是否已安装了 nginx:启动镜像复制要挂载的文件docker挂载是run时挂载,所以要先copy配置文件,如果不copy直接挂载启动容器时会从挂载的目录找配置文件,找不到会启动失败启动镜像说明:-e LANG=C.UTF-8 -e LC_ALL=C.UTF-8是解决nginx中文乱码-d :守护式容器在后台运行-p:端口映射,格式为 主机(宿主)端口原创 2022-07-12 15:46:05 · 530 阅读 · 0 评论 -
git不同项目使用不同账号登录
1.右键【Git Bash Here】打开Git命令行2.输入命令:查看全局配置,最下面两行就是你的当前名字和邮箱3.移除全局名字和邮箱4.在对应的项目下执行5.使用查看当前项目邮箱和名字进入需要单独设置的项目下,找到隐藏的文件,编辑里面的config配置文件...原创 2022-07-02 10:12:49 · 1184 阅读 · 0 评论 -
Spring-Cloud-starter-gateway使用路由转发功能报503
💊最近新建了一个项目,使用gateway网关的时候发现怎么请求都没办法转发到对应的服务,经过一个小时的排除发现由于springcloud2020弃用了Ribbon,因此Alibaba在2021版本nacos中删除了Ribbon的jar包,因此无法通过lb路由到指定微服务,出现了503情况。以下是我使用的springboot和springcloud版本:解决:只需引入loadbalancer依赖即可解决问题🤡...原创 2022-06-29 14:27:40 · 1466 阅读 · 2 评论 -
项目管理之自动化构建部署(CICD)
项目管理ONES的使用及自动化构建部署(CICD),及项目中git提交问题解决原创 2022-04-01 10:58:11 · 5130 阅读 · 0 评论 -
关于前后端雪花算法Long转String丢失精度问题
前后端使用JSON传输数据是Long类型接收数据与发送数据产生的精度丢失问题.原创 2022-03-11 17:08:04 · 3908 阅读 · 0 评论 -
认识微服务及SpringCloud的使用及配置
认识微服务:概念:微服务是系统架构的一种设计风格,将一个原本独立的服务拆分成多个小型服务,每个服务独立运行在在各自的进程中,服务之间通过 HTTP RESTful API 进行通信.每个小型的服务都围绕着系统中的某个耦合度较高的业务进行构建。微服务是一种经过良好设计的分布式架构方案,而全球的互联网公司都在积极尝试自己的微服务落地方案。其中在java领域最引人注目的是SpringCloud提供的方案。架构图:微服务架构特征3.1单一职责:微服务拆分粒度更小,每个服务都应对唯一的业务能力,做原创 2022-01-14 17:47:17 · 296 阅读 · 0 评论