- 博客(30)
- 收藏
- 关注
原创 接口幂等性处理SpringBoot
使用注解修饰相关接口方法即可,aop内部缓存使用依赖,也可以用redis、ConcurrentHashMap等等方法实现相关功能。2、有需要可在注解自行拓展允许过期时间赋值,毕竟不同的接口的需要的幂等性处理时间不一致。3、通过aop扫描自定义注解修饰的接口,对相关接口进行统一幂等性处理。1、感觉类似乐观锁或者时令牌实现幂等性处理机制。2、使用自定义接口修饰相关接口方法。
2024-05-14 11:21:29
112
原创 通过批处理脚本创建每日工作文件
每天工作,都会写下每天的开发计划,所以每天都会创建一个txt文件,当然很多公司会有每天工作在线文档,但那是多人协作,目前开发的程序都是自己一个人在搞,每天创建一个txt太麻烦,干脆写了个小脚本。新建一个bat或者cmd后缀名文件,打开文件复制下属指令保存后,双击文件即可。双击note.bat或者note.cmd。
2024-01-19 13:30:38
495
原创 使用pyinstaller打包python爬虫项目目录成exe可执行程序
5、右键运行build.py文件,等待打包完成即可。Main.py程序入口记得不要少,4、运行指令生成打包所需依赖性。3、创建build.py文件。
2023-12-29 15:55:30
536
原创 python爬虫 使用pyppeteer爬取非静态页面内容,使用事件循环批量爬取,提升效率
首先是使用pyppeteer抓取非静态页面,将整个逻辑封装成一个异步方法,有多个页面爬取,将多个页面爬取存储到任务列表,执行任务列表。最近写的是彩票系统,需要爬取很多彩票信息,展示的代码只是我整个爬虫程序的一小部分。我这个demo爬取的是竞彩网的体育资讯,爬取的都是近两天的部分体育资讯文章。至于为啥这么封装爬取数据,因为后台数据接收接口也是我写的,需要这么接收。
2023-12-27 14:27:03
614
1
原创 python非静态页面爬取--pyppeteer
最近工作需要使用python爬取一些网页数据,爬取网页是非静态页面1、requests只能爬取静态页面2、seleium需要下注对应版本的浏览器驱动,若是浏览器升级,驱动还得重新下载对应版本的驱动程序,pass3、最终选择的pyppeter库,pyppeter可以开启一个无界面Chromium浏览器,可以模拟浏览器打开一个页面,并输入url最终加载指定页面。
2023-12-26 10:51:01
435
原创 SpringBoot分布式工程打包失败记录
4、惊觉父子模块的打包子模块之前需要先install父级模块,将其父级模块的pom.xml加载进本地仓库,因为子级模块都是通过父级模块的相对路径加载公共模块的。4、后面发现父级模块打包成功,jar启动执行无异常,但是单独打包子模块还是失败。2、5个子模块都引用了公共子模块,公共子模块打包无异常,也加载进本地仓库了。3、但是在打包其他模块时,打包失败,找了很多方案都没有解决。1、一个父级工程里面嵌入了5个子模块和1个公共子模块。这几天在搭建一个分布式工程,踩坑记录一下。
2023-11-16 15:21:31
71
原创 Error attempting to get column ‘create_time‘ from result set. Cause: java.sql.SQLFeatureNotSupported
数据库表的create_time类型为DateTime,而Java中createTime的属性的类型是LocalDateTime,这是Java8里面新出来了一些API,LocalDate、LocalTime、LocalDateTime ,但是在Druid1.1.21 版本 数据源里面不支持Java8的时间、日期类型。现象: 集成druid数据源,使用3.1.0之前版本没问题,升级mp到3.1.1+后,运行时报错:java.sql.SQLFeatureNotSupportedException。
2023-11-11 14:03:04
387
原创 图片加载速度慢,怎么优化css
最近写系统官方主页时,碰到图片加载速度慢的问题记录总结首先主页加载了很多图片,图片也挺大的,而且有很多背景图片。
2023-11-11 10:55:07
605
1
原创 高并发系统设计原则
3、数据删除,清空表数据truncate,部分删除若数据量大可以选择分批删除,避免大批量数据删除导致的数据库性能问题(删除操作需要锁定相应的表,在此期间其他对该表进行的操作会被阻塞)5、限制数据库的最大连接数避免数据库崩溃,数据库连接池最大活动连接数取值100-150。2、数据批量添加解决提升数据添加速度,减少数据库IO。1、减少数据库查询,能走缓存走缓存,减少数据库IO。4、增加硬件资源,搭建数据库集群,搭建服务集群。高并发系统的最终瓶颈始终是数据库的瓶颈。
2023-11-10 09:51:01
58
1
原创 RM: operation not permitted, rename 。。。。Moving vite that was installed by a different package man
然后我就执行pnpm install @vitejs/plugin-vue --save-dev安装,安装失败,问了chargpt说是用了npm合yarn以外的安装命令,果然用 npm install @vitejs/plugin-vue --save-dev执行成功了。实在是npm即使修改了淘宝镜像依然卡的不行。经常一次下载依赖要四五分钟,实在等不了。前几天搭建了的一个vue3+ts+vite练习项目,今天心血来潮,打开试运行报错。
2023-11-03 10:11:04
781
原创 java.security.InvalidKeyException:illegal Key Size
适用JDK8的JCE补丁: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html。如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件。
2023-11-01 09:50:27
101
1
原创 redis cluster集群安装 window, SpringBoot通过Jedis整合redis集群
安装地址 版本很多,记得选择正确版本。
2023-10-27 11:30:40
102
1
原创 踩坑记录 Caused by: java.nio.charset.MalformedInputException: Input length = 2
(2)后面又复制了yml配置内容,后面删除yml新建yml,最后粘贴配置,发现启动还是报错。首相项目启动一开始没有问题,后面有一次在打开时项目时,yml 配置文件乱码的情况。看到 idea 的提示,我就顺手点击了更换编码,看着乱码消失也没觉得什么不对劲。(4)最后发现yml配置文件上有乱码,把乱码删除后启动成功。(1)后面在网上照着改yml文件编码后启动还是这样报错。今天再写了一个mq的demo时碰到一个问题特别坑爹。(3)电脑关机重启,启动项目还是报错。后面项目死活启动不了。
2023-10-11 18:10:11
49
原创 单机指定端口启动SpringBoot工程
1、可以引入SpringCloud组件。并将这几个服务注册到注册中心,即可实现服务集群。2、也可以使用Nginx直接进行集群服务的负载均衡。
2023-10-02 16:45:10
81
1
原创 2023年两年经验java面试-亲身经历
1、ArrayList和LinkedList区别、栈和队列区别、字符串怎么拼接、字符串两种拼接方法区别2、事务失效场景3、spring是什么4、Hashmap底层原理、还有实现map接口的集合吗、他们的区别是什么5、线程池执行原理6、怎么创建线程池,线程池的参数你是怎么设置的7、mybatis和myabatis-plus区别8、SpringCloud与Dubbo区别9、Nginx和GateWay区别10、jvm内存模型、年轻代与老年代占比、年轻代划分与年轻代Eden、s0、s1占比。
2023-10-01 19:36:48
50
原创 tomcat部署war包
2、启动启动tomcat,windows双击startup.bat, linux系统启动startup.sh。则访问路径为:http://localhost:8080/springmvc-4/例如本次端口号为:8080,war包名称为:springmvc-4.war,1、将打包好的war包放到tomcat安装目录的webapps目录下,
2023-09-21 16:12:46
1062
原创 Error running tomcat: Can‘t find catalina.jar
一般出现这种情况都是由于tomcat的相关配置路径不对,直接修改成tomcat。
2023-09-21 15:57:58
2153
原创 jvm调优工具arthas的简单使用,查看占用cpu资源较高的具体逻辑
(3)输入 “thread 38 ”以及“thread 39”可看到DeadLockScheduled类的31行和53行逻辑导致。(3)可以看到是由 UnlimitedForSchedule类的第22行,我们再看具体代码,代码中存在一个无限循环逻辑。启动后选择需要监听的程序,我的测试程序是5,直接输入5,待arthas工具加载成功。(2)在命令行输入命令: thread 37,查看哪些代码造成的cpu高占用高。(1)输入thread 命令,输入线程统计信息,BLOCKED表示当前阻塞线程。
2023-08-31 15:19:51
979
1
原创 idea jar包反编译失败
使用idea的反编译插件java-decompiler.jar时候发现反编译一直失败,经过测试是路径空格导致的,很多工具都有这个问题。插件下载完成在你的idea的插件安装目录plugins下会有java-decompiler目录,这个目录中的就是你的反编译工具jar包。
2023-08-26 16:03:43
1070
原创 多线程重新复习
1、继承Thread类,重写run方法,实现方式简单,无法继承其他类,类只能单继承2、实现Runable接口,重写run方法,相比继承Thread类的创建方式,避免了单继承的缺陷3、实现Callable接口重写call方法,相比实现Runable接口的方式,Callable实现方式可以获取线程执行结果的返回值、以及抛出异常4、线程池创建。
2023-06-21 17:49:41
34
原创 创捷SpringBoot工程,依赖无法下载问题,maven仓库地址手动切换总是会自动回到.m2目录下
这些文件会自动切换maven仓库地址到.m2目录下,并下载依赖,但依赖始终无法下载。以上是我的maven配置相关内容,你们自己配置自己的maven配置。方式很多这是其中一种。
2023-06-21 13:40:09
1233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人