![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 66
Funky_oaNiu
Java工程师架构师,Locking,Popping dancer
展开
-
java中更高效的for循环写法:parallelStream().forEach
大数据集: 当处理的数据量非常大时,使用parallelStream()可以显著加快处理速度,因为数据会被分割到多个线程中并行处理。计算密集型任务: 如果对每个元素的操作是计算密集型的,即每个元素的处理不需要等待I/O操作(如网络请求或文件读写),那么并行处理可以有效利用多核CPU的计算能力。无状态或最小状态: 每个并行任务应该尽可能独立,不依赖于共享状态,或者使用原子变量、线程局部变量等机制来最小化状态共享,以减少同步开销。原创 2024-07-23 14:20:02 · 264 阅读 · 0 评论 -
SpringBoot使用RabbitMQ实现延迟队列
实现延迟队列,先将消息发到指定了TTL时长的队列A中,队列A没有消费者,也就是说,队列A中的消息肯定会过期,等消息过期后,就会加入到队列B,也就是死信队列,B队列是有消费者在监听的,一旦收到消息,就进行后续的逻辑处理,从而达到延迟效果。如果消息的延迟时间设置较长,可能会导致堆积的延迟消息非常多,会带来较大的CPU开销,同时延迟消息的时间会存在误差。③死信队列:延迟队列上的消息过期后,会被自动转发到死信队列中,从而最终达到延迟的目的。因此,不建议设置延迟时间过长的延迟消息,如果时间过长,建议使用任务调度。原创 2024-06-03 16:32:47 · 544 阅读 · 2 评论 -
CentOs7.8安装原生Jenkins2.38教程
本教程只针对这个版本,因为Jenkins从10月份已经不再支持centos7,包括2.4+版本都是很难在centos7上安装的,2.2版本的安装配置方式和2.3不同,担心小版本之间也有不同,所以本文只针对2.387.1版本原创 2024-01-16 23:25:02 · 1064 阅读 · 0 评论 -
微信公众号服务号申请-模板消息发送-自定义菜单-测试账号指南
微信公众号服务号申请-模板消息发送-自定义菜单-测试账号指南原创 2023-04-27 22:27:38 · 2867 阅读 · 0 评论 -
RedisCluster如何高效率地批量插入数据
RedisCluster如何高效率地批量插入数据原创 2022-10-22 14:00:03 · 2212 阅读 · 0 评论 -
prometheus增加组件监控和服务器监控
prometheus增加组件监控和服务器监控原创 2022-10-13 15:17:32 · 1263 阅读 · 0 评论 -
SpringBoot+Redis-Cluster集群搭建及调优
SpringBoot+Redis-Cluster集群搭建及调优原创 2022-10-08 16:48:04 · 2133 阅读 · 0 评论 -
Mybatis使用foreach批量插入Oracle提示命令未正确结束
MyBatis使用foreach批量插入Oracle提示命令未正确结束原创 2022-09-29 16:54:03 · 1922 阅读 · 1 评论 -
网页请求504 gateway time-out如何解决?
网页请求504 gateway time-out如何解决?原创 2022-08-03 17:46:34 · 2937 阅读 · 0 评论 -
Java使用JFreeChart绘制平滑曲线
其实JFreeChart就没有绘制曲线的功能,绘制折线图是可以的,但是我们可以通过数据量增大的方式,让点足够密集变成曲线,如果没有足够的数据量,可以通过后期算法加工的方式,在两个点之间获取很多的点形成曲线,我们这里使用的是ChartFactory.createLineChart方法绘制。......原创 2022-07-18 18:13:52 · 3220 阅读 · 0 评论 -
Java递归遍历多叉树结构JSON
Java递归遍历获取一个节点的所有父节点id原创 2022-07-14 16:15:02 · 984 阅读 · 0 评论 -
Docker使用笔记
列出容器:①展示出所有正在运行的容器docker ps②展示出所有容器docker ps -a进入指定容器docker exec -it 容器id /bin/bash列出所有镜像docker images创建容器原创 2022-05-06 16:21:25 · 578 阅读 · 0 评论 -
记一个安装RabbitMQ遇到的坑
问题描述:安装程序跑完后,我看教程说要执行一条rabbitmq-plugins enable rabbitmq_management的命令,而我在执行是报错最终解决办法:没解决,直接在浏览器输入http://localhost:15672/即可访问,用户名密码都是guest总结:从网上找了很多办法,有说删除掉C:\Users\niuwenda\AppData\Roaming\RabbitMQ下的db文件夹然后再进行几步操作,我尝试了很久,结果用户权限不够删不掉,怀疑是win10的问原创 2022-03-21 18:06:01 · 2514 阅读 · 0 评论 -
关于线程池的使用相关记录
记录线程使用后,所感所想一般来说 , jdk提供的创建线程池有如下三种方式 , 其特点也在截图里标注了但通过查阅阿里巴巴相关手册 , 对实际开发中线程池的使用有如下规范:为什么不用Excutor?有缺陷的:①:FixedThreadPool和SingleThreadPool,允许的请求队列长度为Integer.MAX_VALUE,可能会堆积大量的请求,从而导致OOM。②:CachedThreadPool和ScheduledThreadPool,允许的创建线程数量为Integer.MAX_VA原创 2022-01-08 10:31:34 · 249 阅读 · 0 评论 -
Java项目实现手机令牌登录Google
一、项目背景:客户需求:使用Java作为后台,编写一个Java网页系统,其中包含登录功能,涉及到用户身份验证的功能,都要做成双因子验证(密码、手机令牌、用户生物特征任选两个作为身份验证),所以要作一个手机令牌,本次使用谷歌Google authenticator作为手机令牌,以下为粘贴即用的代码。二、代码原理:1.客户端每30秒使用密钥,如:5GWF6POOIZNLFD6M 和时间戳通过一种算法生成一个6位数字的一次性密码2.用户登陆时输入一次性密码,如:544506。3.服务器端使用保存在数据库原创 2021-12-16 17:08:06 · 1662 阅读 · 0 评论 -
Java将数据存入DBF并打zip包下载
前端代码:function f_pfgjdc() { var kmdm=$("#kmdm").val(); if(kmdm==null||kmdm==""){ alert("请先选择科科目"); return; } if(!confirm("你确定要导出科目的判分轨迹吗?")){ return; } //$("#loadingImage").css("dis原创 2021-11-18 15:18:38 · 630 阅读 · 0 评论