- 博客(77)
- 资源 (2)
- 收藏
- 关注
原创 java中更高效的for循环写法:parallelStream().forEach
大数据集: 当处理的数据量非常大时,使用parallelStream()可以显著加快处理速度,因为数据会被分割到多个线程中并行处理。计算密集型任务: 如果对每个元素的操作是计算密集型的,即每个元素的处理不需要等待I/O操作(如网络请求或文件读写),那么并行处理可以有效利用多核CPU的计算能力。无状态或最小状态: 每个并行任务应该尽可能独立,不依赖于共享状态,或者使用原子变量、线程局部变量等机制来最小化状态共享,以减少同步开销。
2024-07-23 14:20:02
863
原创 SpringBoot使用RabbitMQ实现延迟队列
实现延迟队列,先将消息发到指定了TTL时长的队列A中,队列A没有消费者,也就是说,队列A中的消息肯定会过期,等消息过期后,就会加入到队列B,也就是死信队列,B队列是有消费者在监听的,一旦收到消息,就进行后续的逻辑处理,从而达到延迟效果。如果消息的延迟时间设置较长,可能会导致堆积的延迟消息非常多,会带来较大的CPU开销,同时延迟消息的时间会存在误差。③死信队列:延迟队列上的消息过期后,会被自动转发到死信队列中,从而最终达到延迟的目的。因此,不建议设置延迟时间过长的延迟消息,如果时间过长,建议使用任务调度。
2024-06-03 16:32:47
682
2
原创 SonarQube导入p3c阿里开发规范踩坑排坑
由于我开始用的SonarQube是10版本,使用最新的p3c是3.2.1版本,根据上述文章整合进去之后报规则相关的异常(MethodNotFoundException),怀疑是版本不匹配,网上也搜不到sonar10对应的p3c版本,于是乎重新安装SonarQube9.6版本,再执行扫描,规则异常消失,但出现下面的异常。1、彻底卸载Jenkins、SonarScanner、SonarQube(卸载方法可根据自己的安装方式自行百度)所以还是将权限修改回去,再执行就可以了。配置好之后再试,执行扫描,问题消失。
2024-02-21 11:46:29
689
原创 CentOs7.8安装原生Jenkins2.38教程
本教程只针对这个版本,因为Jenkins从10月份已经不再支持centos7,包括2.4+版本都是很难在centos7上安装的,2.2版本的安装配置方式和2.3不同,担心小版本之间也有不同,所以本文只针对2.387.1版本
2024-01-16 23:25:02
1100
原创 npm install报错code128:npm ERR! Please make sure you have the correct access rights
Git
2023-12-25 15:38:37
842
原创 新能源车普及的弊端(劝退向)
数据显示,国内现阶段的发电大部分依靠煤炭的火力发电,占比超过7成,虽然也有风力发电、水力发电、太阳能发电等,但占比很小,因此电动车所需的电力,更多的是来源于对环境污染极大的火力发电,也就是说虽然电力是不污染环境的,但发电的过程却严重污染环境。可能有人会说,新能源市场发展过程中,最大里程一直在涨,我想说的是,最大里程并不能解决续航焦虑问题,因为不论总里程多大,总要面临一个充电问题,总会有没电的时候,这是里程焦虑最核心的点。真实续航与宣传续航不符,北方冬季续航大打折扣,总续航里程比油车不值一提。
2023-11-17 14:21:06
158
原创 AndroidStudio打包报错记录(commons-logging,keystore password was incorrect)
修改build.gradle.kts,这里要注意,有可能你项目里的是build.gradle,二者语法是不一样的,这种的语法比较复杂,资料较少,可以通过一些在线智能AI去问一下。是因为打包时密码输错了,你之前打过包,就需要用之前的密码再次打包,如果忘记密码,可以通过如下方式尝试。通过如下命令,先试试能不能想起密码,如果输入口令后,能显示秘钥的相关信息,代表输入正确,重新打包即可。在"Signing"选项卡中,选择"Your app module",然后点击"Edit"按钮。如果想不起来密码,继续往后看。
2023-11-10 17:36:30
676
原创 Vue中使用components的使用技巧
components顾名思义:组件(负数),每个vue页面,都可以作为一个组件,引入到其他页面中,形成父子页面嵌套的形式,一个页面可以被多个页面引用,一个页面也可以引用多个页面,多对多关系。例如要实现A.vue为父,B.vue为子,A中引入B组件,以弹窗的形式展现B组件。这样做的好处就是可复用,减少重复代码的编写。只要参考本示例,便可以实现组件封装和调用。
2023-11-08 13:59:58
1390
1
原创 MySQL运行报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre解决方法
在MySQL5.7.5版本之前,这类语句是默认可以执行的,因为默认没有开启ONLY_FULL_GROUP_BY,在此版本之后,MySQL默认开启了此模式,执行此类SQL就会报错了。1.2 拷贝查询结果,然后将其中的ONLY_FULL_GROUP_BY删除掉,然后复制删除后的结果到如下SQL中。2.2拷贝查询结果,然后将其中的ONLY_FULL_GROUP_BY删除掉,然后复制删除后的结果到如下SQL中。在一个数据库上执行类似如下SQL,可以执行成功,换到另一个服务器的数据库上执行,会报如下错误。
2023-08-04 18:47:09
587
原创 线程池并行执行逻辑代码块Demo示例(await同步)
多线程执行过程中 , 记录执行结果追加到某个变量上 , 后续逻辑要用。某段代码for循环执行特别慢 , 用多线程并行执行会提高效率;要求全部线程执行完时 , 程序才能继续往下执行;
2023-07-25 14:01:04
141
原创 Mybatis使用foreach批量插入Oracle提示命令未正确结束
MyBatis使用foreach批量插入Oracle提示命令未正确结束
2022-09-29 16:54:03
2042
1
原创 Oracle利用START WITH CONNECT BY查询多叉树某节点的所有子节点
Oracle利用START WITH CONNECT BY查询多叉树某节点的所有子节点
2022-08-02 16:08:42
476
原创 Java使用JFreeChart绘制平滑曲线
其实JFreeChart就没有绘制曲线的功能,绘制折线图是可以的,但是我们可以通过数据量增大的方式,让点足够密集变成曲线,如果没有足够的数据量,可以通过后期算法加工的方式,在两个点之间获取很多的点形成曲线,我们这里使用的是ChartFactory.createLineChart方法绘制。......
2022-07-18 18:13:52
3302
原创 Docker使用笔记
列出容器:①展示出所有正在运行的容器docker ps②展示出所有容器docker ps -a进入指定容器docker exec -it 容器id /bin/bash列出所有镜像docker images创建容器
2022-05-06 16:21:25
877
原创 记一个安装RabbitMQ遇到的坑
问题描述:安装程序跑完后,我看教程说要执行一条rabbitmq-plugins enable rabbitmq_management的命令,而我在执行是报错最终解决办法:没解决,直接在浏览器输入http://localhost:15672/即可访问,用户名密码都是guest总结:从网上找了很多办法,有说删除掉C:\Users\niuwenda\AppData\Roaming\RabbitMQ下的db文件夹然后再进行几步操作,我尝试了很久,结果用户权限不够删不掉,怀疑是win10的问
2022-03-21 18:06:01
2533
原创 SpringBoot调优总结
纯干货,主要记录两种方式:1、配置文件。2、JVM优化。一、参数调优官方文档是最全的,推荐阅读:链接: https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties其中比较重要的包括:-- Maximum number of connections that the server accepts and proces
2022-03-03 15:56:48
366
原创 关于线程池的使用相关记录
记录线程使用后,所感所想一般来说 , jdk提供的创建线程池有如下三种方式 , 其特点也在截图里标注了但通过查阅阿里巴巴相关手册 , 对实际开发中线程池的使用有如下规范:为什么不用Excutor?有缺陷的:①:FixedThreadPool和SingleThreadPool,允许的请求队列长度为Integer.MAX_VALUE,可能会堆积大量的请求,从而导致OOM。②:CachedThreadPool和ScheduledThreadPool,允许的创建线程数量为Integer.MAX_VA
2022-01-08 10:31:34
258
原创 记录Oracle使用group by的遇到的坑
背景:查询执行的特别慢 , 这个问题随着数据的增加越来越严重 , 直到数据量到100w , 我们发现真的没办法用了 , 就开始找原因select a.ZZZ from table1 a,table2 b where a.key=b.key and a.XXX='12' and b.XXX='10' and a.RRR not in (select RRR from table4 where key='04' group by RRR)犯了俩错误:1.应该用NOT EXISTS代替not in,
2021-12-28 16:06:36
1395
原创 Java项目实现手机令牌登录Google
一、项目背景:客户需求:使用Java作为后台,编写一个Java网页系统,其中包含登录功能,涉及到用户身份验证的功能,都要做成双因子验证(密码、手机令牌、用户生物特征任选两个作为身份验证),所以要作一个手机令牌,本次使用谷歌Google authenticator作为手机令牌,以下为粘贴即用的代码。二、代码原理:1.客户端每30秒使用密钥,如:5GWF6POOIZNLFD6M 和时间戳通过一种算法生成一个6位数字的一次性密码2.用户登陆时输入一次性密码,如:544506。3.服务器端使用保存在数据库
2021-12-16 17:08:06
1794
原创 记一次Navicat导入DBF中文乱码问题
在一次重要的数据处理中,我将同事交接给我的DBF导入Oracle数据库,导完之后发现全部的中文都乱码,我赶紧重新导入,从网上搜到了解决办法(注意大坑,这个不能用!!):导入完抽查了几个发现中文正常了,还挺开心,就接着进行下一步,快弄完的时候,出于程序员的直觉,我想检查一下数据,一查吓一跳,里面的几个繁体字居然是乱码的。。。。如珺、玥等字都变成了问号。。。我淦然后重新导了一遍,导入时在编码处输入GBK才可以,如图:吐槽:现在有些人不经过反复的验证就写博客。。。差点导致我职业生涯结束。淦,还是经验
2021-12-14 17:07:08
1453
原创 Oracle中行转列用法
样例SQLwith aa as(select a.ksh,a.zzpf,a.kmdm,b.mf from t_sjjd a,td_kmdm b where a.kmdm=b.kmdm and ksh in (select ksh from (select ksh,count(*) sl from t_sjjd GROUP BY ksh) a where a.sl = 2))select * from (select ksh,zzpf,kmdm,mf from aa) pivot (max(zzpf)
2021-11-30 11:14:04
911
原创 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
643
原创 Oracle连接不上解决办法合集
1、一切的前提服务里的Oracle的监听和service必须要起来并设为自动。检查这个里面是否配置了监听程序。配置成这样就行。1、ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务listener.ora里面配置的HOTS名称不对F:\app\xxx\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora改完之后重启数据库即可。2、ORA-12154: TNS: 无法解析指定的连接标识符需要配置相关Oracle客户端的
2021-11-18 15:06:19
17427
1
原创 sqlserver报varbinary与float不兼容
INSERT INTO t_table(test_dm) VALUES (null)出现在MyBatis执行sql的过程中这应该是个bug , 在Navicat执行就没问题解决办法:表中含有float类型的字段,在mybatis执行sql的过程中若将null值插入float类型的字段,就会报这个...
2021-09-27 15:23:04
894
3
原创 IDEA2021.1.3版本使用笔记
1.Maven自动import没了此版本取消了此功能,取而代之的事手动点一个它弹出来的小浮动窗。2.自带的Maven下载jar太慢怎么办改两个地方,第一个是idea安装目录下的IntelliJ IDEA 2020.1.3\plugins\maven\lib\maven3\conf\settings.xml文件里按如下内容修改<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf&
2021-09-26 10:32:22
1433
原创 Java存储图像的几种方式(前端layui)
前端背景:前端使用layui,后端接收到一个upload类型的对象@RequestParam(value = "file", required = false) MultipartFile uploadHTML代码:<div class="layui-upload" style="width: 150px" align="center"> <div class="layui-upload-list"> <img class="layui-uplo
2021-09-26 10:30:10
3874
1
uniapp整合RabbitMQ插件,实现订阅+发布+断网重连
2024-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人