java
黄豆粉面包
这个作者很懒,什么都没留下…
展开
-
JAVA判断字符串以某个字母为开头
JAVA判断字符串以某个字母为开头,此处判断以字符串“p”开头以“r”结尾原创 2022-06-21 15:50:03 · 2681 阅读 · 2 评论 -
文件系统学习
例子:正在上传…重新上传取消stat 命令输出解释:Size 为 107374182400(知识点:单位是字节),也就是 100G; Blocks 这个指标显示为 4096(知识点:一个 Block 的单位固定是 512 字节,也就是一个扇区的大小),这里表示为 2M。文件系统文件系统听起来很高大上,通俗话就用来存数据的一个容器而已,本质和你的行李箱、仓库没有啥区别,只不过文件系统存储的是数字产品而已。我有一个视频文件,我把这个视频放到这个文件系统里,下次来拿,要能拿到我完...原创 2022-05-30 10:23:19 · 171 阅读 · 1 评论 -
poi 判断几种单元格类型
package org.jeecg.modules.cloud.controller;import cn.hutool.core.util.ArrayUtil;import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileInputStream;import java.io.FileNotFoundException;import java..原创 2022-04-08 11:13:49 · 941 阅读 · 0 评论 -
搭配java开发环境遇到的一些问题
1. nacos闪退在windows power shell里打开提示需要JDK版本64位以上且不低于1.8。但是本地java版本在1.8以上且满足64位解决:分析发现环境变量JAVA_HOME指定错误,nacos只认JAVA_HOME中的地址2. Maven依赖报错新配置好的的maven环境,idea中报错maven无法正常编译项目。但是使用idea默认的maven环境却可以正常编译解决:本地idea版本2020.1.1,只能适配3.6.1以下的maven,而配置的M...原创 2022-03-21 14:27:13 · 1463 阅读 · 1 评论 -
Psql数据库约束条件
1. 添加主键alter table goods add primary key(sid);2. 添加外键alter table orders add foreign key(goods_id) references goods(sid) on update cascade on delete cascade;on update cascade: 被引用行更新时,引用行自动更新;on update restrict: 被引用的行禁止更新;on delete cascade: 被引用行原创 2022-01-14 16:16:49 · 390 阅读 · 0 评论 -
mybatis传参判断
当mybatis传参布尔值为false的时候,不能用是否等于" "进行判断否则会忽略false参数原创 2022-01-12 17:49:46 · 318 阅读 · 0 评论 -
Spring-Retry重试机制
Spring实现了一套重试机制,功能简单实用。Spring Retry是从Spring Batch独立出来的一个功能,已经广泛应用于Spring Batch,Spring Integration, Spring for Apache Hadoop等Spring项目。本文将讲述如何使用Spring Retry及其实现原理。重试,其实我们其实很多时候都需要的,为了保证容错性,可用性,一致性等。一般用来应对外部系统的一些不可预料的返回、异常等,特别是网络延迟,中断等情况。还有在现在流行的微服务治理框架中,通原创 2022-01-04 09:41:44 · 986 阅读 · 0 评论 -
数据表备份初始方案
package org.jeecg.modules.backup.standby.biz.service.impl;import com.baomidou.dynamic.datasource.annotation.DS;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.google.common.base.Stopwatch;import lombok.extern.slf4j.Slf4j.原创 2021-12-30 15:31:20 · 73 阅读 · 0 评论 -
Psql数据备份
业务:备份psql数据库的数据作为备份使用,每天0~6点执行一次备份操作具体需求1、定时任务。(不做限制,0点至5点周期性)2、同库复制3、记录复制操作方向:1、定时任务直接启用@Scheduled开启,自己控制周期2、考虑使用psql的copy方法,即将表数据copy到本地csv文件,然后将csv文件copy到指定备份库。好处在于可以使用本地csv文件灵活回滚。不同库需要dblink远程连接3、可以采用纯sql处理方案,sql建议使用insert into 备份表...原创 2021-12-28 15:24:33 · 627 阅读 · 0 评论 -
百万级数据量上传内存优化
业务需要我们进行百万级别的数据量上传。但中间又涉及到表头、空行的判断,所以我们决定考虑先解析拿到文档中的所有数据。最初方案:EasyExcelEasyExcel原理是一条一条数据读取,对内存很友好,但是EasyExcel在处理时会自动忽略空行。导致我们没办法进行空行校验。后续方案:EasyPoiEasyPoi提供了一整套的工具处理方案。也提供了Excel、Csv文件的大批量数据处理方法。但是,我们在读取30W条数据(6M左右)的Excel文件时,内存瞬间涨到4G以上。最终方案:Excel原创 2021-10-18 11:31:04 · 460 阅读 · 0 评论 -
java处理CSV文件工具类
业务中需要处理Csv文件,但是在网上兜兜转转没有找到合适的文件,再加上自己对Csv文件了解确实不是很深入,所以感觉特别麻烦。于是想到尝试自己写一篇以备后面使用,附带详细的文字备注我们需要引入pom文件javacsv目前已不再更新,最高版本好像是2.1,我这里使用的是2.0版本 <!--开源的javacsv 不再更新--> <dependency> <groupId>n...原创 2021-09-09 10:46:23 · 755 阅读 · 0 评论 -
LIST集合根据字段分别分组、去重、合并
public class Main { public static void main(String[] args) { List<Validate> validateList = new ArrayList<>(); int count=0; for (int i = 0; i <= 5; i++) { count++; Validate entity = new Val.原创 2021-08-09 15:26:09 · 922 阅读 · 0 评论 -
常用的大批量文件处理速度比较(10000条测试)
一、使用谷歌guava包中的Lists.partition方法进行快速分批保存备注:commons-collections4中的ListUtils.partition方法和此方法类似,不做测试<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</version..原创 2021-08-05 15:34:15 · 403 阅读 · 0 评论 -
JEECG-BOOT BAOMIDOU搭建
大致结构pom文件 springboot-psql-lombok <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependenc..原创 2021-08-04 15:47:07 · 149 阅读 · 0 评论 -
ETL-KETTLE链接Mysql出现问题
在进行Kettle链接mysql是报错从网上的得到的结果是需要下载对应Mysql驱动的jar包放图kettle的lib目录可以看到我当前的mysql版本号是8.0.23但是在下载完成之后并没有解决上述问题然后我又下载了5.1.49版本的jar发现可以解决...原创 2021-07-30 16:51:55 · 145 阅读 · 0 评论 -
解决大批量数据入库时造成的IO异常
/**1k一批直接插入到数据库*/private static final int OPENID_PHONE_NUM = 1000;@Overridepublic long saveValidateList(List<AreasTargetHospitalValidate> validateList) { int listSize=validateList.size(); int toIndex=OPENID_PHONE_NUM; int count=0; .原创 2021-07-20 11:26:30 · 501 阅读 · 0 评论 -
文件校验中的业务需求(1)
遇到一条这样的业务需求,在文件中有一个copyflag字段,当他等于1时,需要复制从当前月到年底的所有数据并发布到数据库。当他等于1时,则代指当前月/***/构思:导入文件,获取文件中的所有数据,判断其copyflag的值,如果为1的话,构建一个临时集合,存储当copyflag为1时复制的数据,然后再把源文件中读取到的数据集合与该集合合并去重同时为了保证数据容易解析,设定行号,当行数为1,结尾为6月,则当前数据行号为1.06/***/copyFlagList 临时集合List<AreasT原创 2021-07-06 14:19:33 · 82 阅读 · 1 评论 -
字符串类型的“Tue Oct 01 00:00:00 CST 2019”转为Date格式
String dateStr = “Tue Oct 01 00:00:00 CST 2019”; Date date = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",Locale.US).parse(dateStr);原创 2021-06-03 09:46:30 · 1889 阅读 · 0 评论 -
AWSS3直接获取桶中Excel文件数据并返回List集合
导入POM文件<!--S3文件上传所需jar包--> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <version>1.11.233</version> </dependen原创 2021-05-17 18:33:34 · 777 阅读 · 0 评论 -
Java计时器stopwatch
public static void main(String[] args) throws Exception{ // 创建stopwatch并开始计时 Stopwatch stopwatch = Stopwatch.createStarted(); System.out.println("-- 开始计时 --"); Thread.sleep(1950L); System.out.println(stopwatch);// 1.955 s //原创 2021-05-12 10:35:28 · 284 阅读 · 0 评论 -
Erupt
一个管理系统,往往需要后端+前端一起实现。单表CRUD操作往往都差不多,我们可以使用代码生成器来实现。有时候我们的管理系统只需要一些简单的CRUD页面,有没有什么框架能做到不写前端代码,纯Java撸个管理系统呢?这里推荐一个全栈类框架Erupt,希望对大家有所帮助!Erupt简介Erupt是一个低代码全栈类框架,它使用Java 注解动态生成页面以及增、删、改、查、权限控制等后台功能。零前端代码、零CURD、自动建表,仅需一个类文件 + 简洁的注解配置,快速开发企业级后台管理系统。基本使用我们首先来波转载 2021-05-11 11:42:59 · 2149 阅读 · 0 评论 -
Docker desktop启动报错硬件辅助虚拟化巴拉巴拉
Docker Deskto启动报错:提示硬件辅助虚拟化什么什么一大堆但是我好像已经开启Cpu的虚拟化了呀没办法,只能看看Hyper-V是不是漏开了但是很明显是开着的。MMMMbcdedit /set hypervisorlaunchtype autowin+r+cmd重启了一下好像可以了...原创 2021-05-06 16:51:43 · 325 阅读 · 0 评论 -
集合快速排序
List<Entity> entityList = new ArrayList<>();Set<String> setList = redisTemplate.opsForSet().members("1619055643011");for (String set : setList) { Entity entity = JSON.parseObject(set, Entity.class); entityList.add(entity);}//l原创 2021-04-22 13:22:00 · 208 阅读 · 0 评论 -
java -jar启动报错 org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputExcept
问题原因:配置文件错误:文件编写错误,一般情况在于空格多或者少的原因,检查下空格用jar包启动,yml文件中包含中文报错命令java -jar productName替换为 java -Dfile.encoding=utf-8 -jar productName原创 2021-04-20 10:44:24 · 973 阅读 · 0 评论