经验总结
ydf84
这个作者很懒,什么都没留下…
展开
-
SpringBoot 启动报错,EnableConfigurationProperties 注解跳坑记
这里配置有个坑,需要注意下,如果注解在配置类的头上,则不要再写上类本身了, 按下面的修改,即可正常运行了。启动服务失败,根据错误信息很明显可以判断出是Spring容器有两个实例,不知道要注入哪个。原创 2024-05-24 20:54:32 · 397 阅读 · 0 评论 -
ArangoDB 学习手记
ArangoDB 语法学习原创 2023-06-08 15:52:01 · 304 阅读 · 0 评论 -
优化导入大批量数据的Excel(上万行的导入)SpringBoot + Apache POI
通过这篇文章详细了解了POI对导入分为3种模式,用户模式User Model,事件模式Event Model,还有Event User Model。操作员在导入Excel文件时发生了OOM(文件的数据3w行 * 60列),发生了OOM,jvm的运行内存1G。有问题还得靠百度或CSDN,找到很多的关于导入的优化,我认为讲的比较清楚的文章贴出来给大家参考!了解了导入的原理后,就知道怎么优化这个问题了,因为我们只考虑。看着代码好像没有啥问题,百度下大家都是这么写的。格式的文件导入,所以定位优化点改为POI的。原创 2022-09-09 11:43:25 · 1684 阅读 · 1 评论 -
MySQL安装异常:Active: failed (Result: exit-code) since (code=exited, status=1/FAILURE)
问题复现步骤Linux 系统安装的MySQL8 重置初始化操作:进入安装目录/usr/local/mysql删除初始化动作产生的数据文件和日志文件rm -rf data/*rm -rf logs/*启动服务失败,并报错systemctl start mysqldmysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset:原创 2022-04-27 22:17:46 · 9826 阅读 · 2 评论 -
实操系列-MySQL主从复制
主从搭建准备2台Linux机器安装MySQL8.x安装步骤csdn上有很多教程,就不copy了,安装好查看下mysql的启动状态我的MySQL 安装基本路径/usr/local/mysql# 查看MySQL的启动状态systemctl status mysqld主机(master)创建slave授权保证MySQL的root用户是管理员账号主机登录MySQL服务:mysql -uroot -proot执行SQL给root用户的改变权限use mysql;update user原创 2022-04-27 15:51:49 · 1371 阅读 · 0 评论 -
实操系列-Redis主从-哨兵-集群搭建
Redis主从搭建疫情封闭,终于有时间将Redis的主从和集群搭建的步骤亲手操作一遍了,之前都是理论派应该是最完成的Redis安装步骤了~~准备3台Linux机器CentOS8192.168.3.67(Master)192.168.3.68(Slave1)192.168.3.69(Slave2)安装单机版Reids服务通过Redis官网 下载需要的tar包,我下载的版本(redis-6.2.1),并复制到三台机器的/opt目录下.操作前请记得关闭Linux的防火墙设置CentOS原创 2022-04-25 17:04:43 · 1934 阅读 · 0 评论 -
CPU占用过高的定位分析思路
CPU占用过高的定位分析思路先用top命令找出CPU占比最高的进程ps -ef 或者jps 进一步定位到应用,找出哪个后台程序?定位到具体的线程或代码ps -mp 进程 -o THREAD, tid, time(-m:显示所有的线程,-p pid进程使用cpu的时间,-o:该参数的后面是用户自定义的格式)将需要的线程ID转换为16进制格式pringf “%x\n” 线程IDjstack 进程ID | grep tid(16进制ID的小写英文)-A60(-A60 : 打印前60行)原创 2022-04-20 20:22:31 · 540 阅读 · 0 评论 -
SpringBoot 解决跨域配置
配置全局解决跨域import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.springframework.web.cors.UrlBasedCorsConfigurationSource;import org原创 2022-04-18 15:57:14 · 164 阅读 · 0 评论 -
Java 超大文件(166G)读取
最近有个需求,将超级大的166GB 的csv文件读取解析并入库废话少说,直接上干货:走过路过~请点赞/** * @author ff * @date 2022/1/6 19:16 */@Slf4jpublic class FileReader { /** * 读文件 * * @param filePath 文件路径 * @param lineConsumer 行处理器 * @throws IOException原创 2022-01-07 11:24:09 · 1590 阅读 · 0 评论 -
SpringBoot 发送邮件开启SSL
@Bean public JavaMailSenderImpl mailSender(MailProperties mailProperties) { JavaMailSenderImpl javaMailSenderImpl = new JavaMailSenderImpl(); javaMailSenderImpl.setHost(mailProperties.getHost()); javaMailSenderImpl.setUsern...原创 2021-12-08 18:22:57 · 2180 阅读 · 0 评论 -
SpringBoot 获取Redis的系统时间戳
/** * 获取系统时间 * @author ff * @date 2021/10/25 15:39 */@Componentpublic class GetSystemTime { private final RedisTemplate<String, Object> redisTemplate; private static final String SCRIPT_TIME = "local a=redis.call('TIME'); return (a[..原创 2021-10-25 16:33:57 · 2217 阅读 · 0 评论 -
Maven推送本地Jar包到远端仓库
在IDEA中使用右侧的Maven小工具栏中顶部的M命令执行,可以成功推送到远端仓库mvn install:install-file-Dfile=D:\Users\yuandongfei\.m2\repository\org\opensaml\xmltooling\1.4.6\xmltooling-1.4.6.jar-DpomFile=D:\Users\yuandongfei\.m2\repository\org\opensaml\xmltooling\1.4.6\xmltooling-1.4.6.po原创 2021-04-01 11:03:42 · 2812 阅读 · 0 评论 -
SpringBoot多数据源切换无效(不切换)解决方法
SpringBoot的多数据源实现以实现AbstractRoutingDataSource#determineCurrentLookupKey()来达到多个数据源动态切换的目的。网上有很多的文章可以获取具体方法,就不在讲了。项目中需要用到多数据源MySQL和SQLServer两个数据库,系统要保持两个数据库的数据同步,就需要来回切数据源来操作数据库。刚写好了数据从MySQL同步到SQLServer中的代码,测试发现数据源不能切换到SQLServer数据库连接,排查问题~~省略n多个小时后,源码解析等原创 2021-02-27 14:26:46 · 6043 阅读 · 1 评论 -
支付宝异步回调请求中包含空格等特殊字符,导致后端服务不能正常接收
支付宝回调分同步回调(GET)和异步回调(POST)同步回调和异步回调的参数都是在拼接到url后面的参数https://www.abc.com/api/payment/alipay/notice?gmt_create=2021-01-14 16:36:45&charset=UTF-8&gmt_payment=2021-01-14 16:36:53¬ify_time=2021-01-14 16:36:53&subject=通道开通费&sign=$$$&原创 2021-01-17 12:09:23 · 1006 阅读 · 0 评论 -
Nginx配置
nginx.conf#user nginx;worker_processes auto;error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#error_log logs/error.log debug;pid logs/nginx.pid;events { worker_connections 1024;}htt原创 2021-01-14 15:57:09 · 243 阅读 · 0 评论 -
Centos 7 配置步骤
参考网上的Centos 7 的安装步骤,安装好后参考下面的配置进行配置配置静态IPvi /etc/sysconfig/network-scripts/ifcfg-ens33TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"原创 2020-12-04 11:49:14 · 314 阅读 · 0 评论 -
SpringBoot打包的jar 并使用后台运行模式启动程序
Linux后台运行SpringBoot打包的jar程序启动命令,JVM参数可调nohup java \ -jar \ -server \ -XX:MetaspaceSize=128m \ -XX:MaxMetaspaceSize=128m \ -Xms1024m \ -Xmx1024m \ -Xmn256m \ -Xss256k \ -XX:SurvivorRatio=8 \ -XX:+UseConcMarkSweepGC \ -XX:+HeapDumpOnO原创 2020-11-30 15:52:36 · 638 阅读 · 0 评论 -
RestTemplate API Demo
RestTemplate API使用样例欢迎使用Markdown编辑器restTemplate.execute() 携带Header参数restTemplate.exchange() 携带Header参数欢迎使用Markdown编辑器restTemplate.execute() 携带Header参数 LinkedMultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); headers.put("A原创 2020-11-27 10:01:23 · 289 阅读 · 0 评论 -
Java类实现Serializable接口序列化反序列化
public class Test implements Serializable { private String f1; private Date date; public String getF1() { return f1; } public void setF1(String f1) { this.f1 = f1; } public Date getDate() { return dat原创 2020-07-07 12:09:42 · 149 阅读 · 0 评论 -
Java 根据Excel模板 导出Excel报表
工作中肯定会有的报表导出的功能,咱先来理下思路先定义好模板文件,存放到一个有权限访问的目录内根据模板路径,获取模板文件 /** * 根据模板的路径获取模板文件对象 * classpath根目录下:/template/report.xlsx */ private File getTemplateFile(String template) throws URISyntaxException { URL resource = Thread.currentThread().getC原创 2020-06-05 15:35:49 · 1590 阅读 · 0 评论 -
Java API的使用
Java8 新特性学习LocalDateTime 计算天数差、时间差LocalDateTime 计算天数差、时间差public class Test { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); LocalDateTime localDateTime = LocalDateTime.now().plusHours(2); Du原创 2020-05-18 11:26:20 · 178 阅读 · 0 评论 -
SpringBoot+Mybatis: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)原创 2020-04-24 17:01:51 · 263 阅读 · 0 评论 -
ffmpeg 视频去水印
ffmpeg 视频去水印执行ffmpeg命令可以直接去除视频的指定位置的水印(模糊)效果ffmpeg -i 源视频路径 -filter_complex "delogo=x=去除水印的x坐标:y=去除水印的y坐标:w=去除的水印宽度:h=去除的水印高度:show=模糊边框的宽度" 目标视频路径/ffmpeg/bin/ffmpeg -i /video/11.mp4 -filter_co...原创 2020-04-21 17:51:50 · 1462 阅读 · 0 评论 -
Python + Moviepy编辑视频
1.视频加水印import moviepy.editor as mp# 待加水印的视频src = r'D:\Users\PC3\Desktop\t\1.mp4'# 加好水印的存储目标文件dst = r'D:\Users\PC3\Desktop\t\2.mp4'# 水印地址logo_png = r'D:\Users\PC3\Desktop\t\logo.png'video = ...原创 2020-04-21 09:56:15 · 764 阅读 · 0 评论 -
docker elasticsearch 命令
docker image elasticsearch6.4.3 基本启动参数docker run -d --name=elasticsearch_6.4.3 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.4.3原创 2020-03-25 16:56:32 · 270 阅读 · 0 评论 -
linux 邮件发送25端口通的修改方法
最近有个邮件发送的需求,实现很简单,网上一搜一大片关于邮件发送的demo然后一通的抄写,测试。。。邮件收到,通过。(Windows10)代码写的太嗨了。。。打包上传到阿里云服务器(centos)运行,结果就抛出异常Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.m...原创 2020-03-25 15:20:22 · 1887 阅读 · 0 评论 -
简单练习题
数字反转,不能使用字符串或其它工具类 int num = 12345; int n = 0; do { n = (n * 10) + (num % 10); num = num / 10; } while (num > 0); System.out.println(n);//54321基本类型...原创 2019-10-24 10:00:02 · 169 阅读 · 0 评论 -
代码取名网站
如果你不知道该如何取名,可以去codelf(https://unbug.github.io/codelf/)搜索,看别人是怎么取名的原创 2019-01-21 14:15:11 · 6571 阅读 · 0 评论 -
springboot 打包可执行jar包的配置
springboot 项目打包可执行的jar文件,pom配置如下: <build> <finalName>demo</finalName> <plugins> <plugin> <groupId>org.springframework.boot</g...原创 2019-01-24 10:31:39 · 353 阅读 · 0 评论 -
js 直接操作sqlite数据库demo
朋友问我浏览器js直接sqlite怎么做。。。?我一脸的懵逼。。。啥是sqlite。。。。?然后各种查资料。。。终于有了这个demo。。。。记录下,后面可能用的到。。。。。<html lang="en" dir="ltr"><head> <meta charset="utf-8"> <meta content=&qu原创 2019-01-13 16:33:19 · 10623 阅读 · 0 评论 -
java 网络上下载文件
public static String downloadFile(String remoteUrl) { try { URL url = new URL(remoteUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //设置超时间为3秒 ...原创 2019-01-07 09:21:50 · 266 阅读 · 0 评论 -
java 解压zip文件,java.lang.IllegalArgumentException: MALFORMED[1]
在做zip文件解压缩的时候碰到一个异常信息,见下面的异常详情:java.lang.IllegalArgumentException: MALFORMED[1] at java.util.zip.ZipCoder.toString(ZipCoder.java:65) ~[na:1.8.0_181] at java.util.zip.ZipFile.getZipEntry(Zi...原创 2019-01-04 10:57:15 · 16574 阅读 · 2 评论 -
两个3次循环,依次打印出1-9的数字
for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { int k = 3 * i + j + 1; System.out.println("i = [" + i + "], j = [" + j + "], k = [" + k + "]");...原创 2018-12-28 17:50:43 · 888 阅读 · 0 评论 -
Springboot + thymeleaf 生成静态页面 异常:java.lang.NoClassDefFoundError: ognl/PropertyAccessor
今天做个需求,根据模板文件生成静态html页面,搭建的技术框架:SpringBoot,模板引擎:thymeleafpom:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf<...原创 2018-12-27 13:11:59 · 5388 阅读 · 8 评论 -
安卓多渠道打包工具
新公司是做手游的,每出一款游戏包都要多渠道打包,网上找了渠道打包的原理,自己封装的代码(大多是copy),共享出来供大家参考多线程实现打包,可以实时获取已完成的数量欢迎各位大牛们提出指导意见---------------------------------------------------------------------------------------------------...原创 2018-11-09 14:11:58 · 439 阅读 · 0 评论 -
html [JS]随机密码生成[运维工具]
闲来无事写一段随机密码生成代码,各位手下留情<html><head> <title>随机密码生成</title></head><body> <button onclick="javascript:generate()">随机生成</button> <div ...原创 2018-08-16 15:50:11 · 2595 阅读 · 2 评论 -
springboot Freemarker 集成
pom.xml文件添加依赖:<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId> <version>2.3.23</version></dependency> 新建一原创 2018-03-30 12:58:11 · 191 阅读 · 0 评论 -
Spring Boot Thymeleaf 中文乱码
STS手工创建多个Maven项目,其中一个APP项目的POM打包方式设置为jar,SpringBoot的启动,当配置了Thymeleaf后html页面中含有中文,渲染后在浏览器中显示一直存在乱码 排查步骤: application.yml文件的配置: spring: thymeleaf: prefix: classpath:/t...原创 2018-03-30 10:08:40 · 5876 阅读 · 3 评论 -
layui 框架使用经验值
1:layui框架中的table组件中经常用到的序号列,序号的使用方法有两种:1.1: { title: '序号', type: 'numbers', align: 'center'}1.2: { title: '序号', templet: '<div>{{d.LAY_TABLE_INDEX + 1}}</div>', align: 'center'}...原创 2019-02-11 10:04:13 · 248 阅读 · 0 评论 -
SpringBoot @PostMapping接收HTTP 请求的流数据方式
@PostMapping("/test")public String pushMessage(@RequestBody byte[] data) throws Exception { String json = URLDecoder.decode(new String(data, DEFAULT_CHARSET), DEFAULT_CHARSET); log.info("&g...原创 2019-04-17 09:30:49 · 10529 阅读 · 0 评论