![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
穷小伙不穷志
人穷志不穷
展开
-
es下载历史的tar文件
第二步复制历史版本名称组合成下面的链接 直接get访问下载。如下链接所示只需要修改7.3.0这个版本号。第一步进入官网找到历史版本。原创 2023-07-14 13:37:04 · 1629 阅读 · 1 评论 -
java crc16验证码生成,两种方式
crc16验证码生成原创 2023-06-27 11:55:19 · 1446 阅读 · 0 评论 -
java 文件流 转成16进制字符串,然后再转为文件
记录一个需求情况,文件转为文件流byte[]数组。然后把数组转为16进制的字符串。在把16进制字符串 重组成文件。原创 2023-06-27 11:35:20 · 1271 阅读 · 0 评论 -
程序的同步、异步、阻塞、非阻塞的理解记录
同步非阻塞:例如你去买衣服,店家说没得衣服了,你需要主动等待结果,询问结果,店家不会通知你说衣服到了,但是你等待的过程中可以出去逛其他的地方或者干其他的事情,但是时不时要回来询问店家衣服到了没有。同步阻塞:例如你去买衣服,店家说没得衣服了,你就需要主动等待结果,询问结果,店家不会通知你说衣服到了。异步阻塞:例如你去买衣服,店家说没得衣服了,你不需要主动询问结果,店家衣服到了通知你说衣服到了。异步非阻塞:例如你去买衣服,店家说没得衣服了,你不需要主动询问结果,店家衣服到了通知你说衣服到了。原创 2023-05-25 09:18:43 · 79 阅读 · 0 评论 -
springboot 整合mybatis-plus的自动生成代码包含service和controller
springboot 整合mybatis-plus的自动生成代码包含service和controller原创 2023-01-31 14:44:02 · 1213 阅读 · 0 评论 -
feign.FeignException$BadRequest: status 400 reading 诡异错误记录
B客户端通过feign调用服务端接口 又是正常的返回。A和B 项目中导入的相关feign版本都一样。最后发现参数中的时间controlTime字段在两个方法中显示有点不一样,然后就想到估计是两个类中对 参数的时间类型处理有点不同。(这里到底为什么同样的客户端调用 服务端代码 会走两个不同的LoadBalancer,还在继续研究中)。问题查找:根据A和B断点来一步步看,最终是哪里调用不一样。发现一个是A调用的是RetryableFeignLoadBalancer中的。解决办法:最终解决是给时间字段加上。原创 2023-01-10 15:32:58 · 3485 阅读 · 0 评论 -
java rgb十六进制数据转图片
描述需求是通过物联网上传图片,上传的图片是经过灰度处理,算法直接输出的rgb十六进制的数据。最开始不知道宽度和高度,就单纯的把十六进制看成了一个图片数据流这样去处理转成图片,但是这样不行。设备端传输了65次数据一次图片的数据有196个字节,知道了宽度和高度196宽、65高。可以这样去理解一次传的196个字节就是图片中的一行,要把图片的65行填充完就是完整的图片。十六进制的ff表示白色,00表示黑色。...原创 2022-08-01 16:27:28 · 2309 阅读 · 0 评论 -
java 文件夹打包成zip(带有嵌套的那种文件夹)
文件夹中还嵌套有其他的文件夹或者文件 要进行压缩成zip代码参考如下:原创 2022-06-10 14:22:09 · 3835 阅读 · 5 评论 -
springboot mongodb的增加、删除、修改、查询、分页
新增,以下两种方式可以直接新增第一种实体的方式,可以嵌套实体@Data class Student{ @Id @JsonProperty private String id; private String name; private String age; private Classc classc; } @Data class Classc{ pr原创 2022-05-31 16:01:24 · 1284 阅读 · 0 评论 -
openfeign 文件上传(带参数,大文件几百M)
springboot 版本号:2.1.13-RELEASEspringcloud 版本 :Greenwich.SR6openfeign 引入的包是<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>版本号原创 2022-05-13 16:13:07 · 3812 阅读 · 1 评论 -
fegin接口下载文件
服务提供端这里结合的是minio文件服务器:controller,这里一定是void,不要指定返回内容@RequestMapping("/file")@RestControllerpublic class FileSystemController { @Autowired private FileSystemService fileSystemService; @GetMapping("/download") public void getDownloadI原创 2022-05-13 11:38:16 · 3090 阅读 · 3 评论 -
springboot logback.xml配置记录
一般使用的log配置记录<?xml version="1.0" encoding="UTF-8"?><!--日志配置--><configuration> <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> <property name="LOG_HOME" value="/home/app/datahandling/logs" /> <!--控制台日志, 控制台输出 -->原创 2022-04-08 15:04:08 · 162 阅读 · 0 评论 -
springboot 多文件上传导致的Unexpected EOF read on the socket问题
描述:使用multipartFile 数组的方式 后端接收到文件后进行内容验证,其中小文件几百k的不会报错,一旦有几M的那种excel 就会出现上面的报错情况。解决办法:很多网上说是tomcat和后端连接的request超时了,但是我添加了server.connectionTime=180000还是不行。最终是设置了 jar的启动参数 -xms堆的最大内存为2G。才解决这个问题。感觉很奇怪 为什么把堆内存设置大了后就不会报这个错误了,不知道是不是因为解析excel的时候因为内存溢出导致的这个原创 2022-02-21 14:12:08 · 1068 阅读 · 0 评论 -
idea springboot 配置文件优先级导致的服务注册问题
springboot 版本:2.0.4.RELEASEspringcloud版本:Finchley.RELEASE问题描述:模块A引用模块B,模块A和B 都是可以启动的带有springboot 注解且都有配置文件,关键点就是模块A 把 spring.application.name 的值放在bootstrap.properties文件中,而模块B是使用的application.yml。然后由于模块A引用了模块B 且启动时扫描了模块B的包,导致模块A启动时注册到nacos上面的名称一直是模块B的服务名原创 2022-02-18 08:39:09 · 222 阅读 · 0 评论 -
java大文件下载内存溢出解决办法
第一种解决办法内存够用的情况 启动时设置-Xmx的值大一点 比如2G。第二种办法代码中使用缓冲流的方式,如果是本地文件就更好,如果是还需要再去文件服务器中下载一次也行。例子:private void download(String downloadUrl, String path){ InputStream inputStream = null; OutputStream outputStream = null; try {原创 2022-02-15 10:35:59 · 6049 阅读 · 0 评论 -
springboot实现WebMvcConfigurer 自定义的configureMessageConverters方法不生效的问题
原因-> 转换器是列表添加的形式,add进去后就是最后一个,所以没有生效。改为add(0,自己的转换器)例如FastJsonHttpMessageConverter fastJsonHttpMessageConverteradd(0, fastJsonHttpMessageConverter)原创 2022-01-19 15:32:02 · 2331 阅读 · 0 评论 -
springboot 运行jar包时读取外部application.yml
有时候为了方便,只修改了配置不需要重新打包。冒号后面表示多个yml文件,application.yml中需要用到devjava -Xbootclasspath/p:/config/applocation.yml:/config/applocation-dev.yml -jar *.jar原创 2021-11-05 13:41:28 · 2126 阅读 · 0 评论 -
java 调用k8s创建 pod
这里使用的包是<dependency> <groupId>io.kubernetes</groupId> <artifactId>client-java</artifactId> <version>9.0.0</version></dependency><dependency> <groupId>io.kubernetes</groupId&原创 2021-10-20 08:46:53 · 2711 阅读 · 0 评论 -
activiti6.0.0 基本用法记录。
最近因为公司需要整流程,所以研究了下activiti。顺便记录下相关的东西。创建流程,任务认领,任务完成,任务驳回,任务结束,解析节点信息,解析模板,理解启动流程。springboot2.X 结合aitiviti 参考https://blog.csdn.net/weixin_38023579/article/details/103476955启动流程两种方式记录:第一种就是加载模板信息后:@Test public void loadModel(){ //第.原创 2021-10-19 14:17:17 · 871 阅读 · 0 评论 -
java csv 转excel
csv的依赖包 ,剩余的就是poi的包 自己查一下<dependency> <groupId>net.sourceforge.javacsv</groupId> <artifactId>javacsv</artifactId> <version>2.0</version></dependency>代码如下: public static void csvToXLSX(...原创 2021-07-07 16:30:18 · 899 阅读 · 0 评论 -
java 调用 RunTime.getRuntime().exec 报错at java.lang.UNIXProcess.exitValue
这里我们主要是调用了 一个方法导致的process.exitValue()。Process.exitValue() 采用非阻塞的方式返回,如果没有立即拿到返回值,则抛出异常。我的解决方法是 去掉这个使用Process.waitFor()Process.waitFor() 当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。但是如果我们在调用此方法时,如果不注意的话,很容易出现主线程阻塞,Process也挂起的情况。在调用waitFor() 的时候,Proc.原创 2021-07-07 16:24:32 · 1388 阅读 · 0 评论 -
springboot es 嵌套类型查询例子 es版本6.8.9
pom文件中新增 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>6.8.9</version> <exclus原创 2021-05-17 10:02:01 · 1335 阅读 · 0 评论 -
记录springboot maven 依赖分离打包的坑
我们项目中运用了k8s的api去调用docker启动job运行算法用例。出现问题:分离依赖打包后job运行不成功提示http://ip地址:6443/apis/batch/v1/namespaces/smul/jobs.但是打包在一起又可以成功调用job。最终的原因是因为我们的启动命令有问题没有读取到resouce和没有添加基础包 。由之前的启动命令nohup java -Djava.ext.dirs=./lib -jar smul.jar &改成:nohup jav...原创 2021-04-02 08:11:48 · 215 阅读 · 0 评论 -
java 启动jar包时 外部依赖
java -Djava.ext.dirs=外部依赖的路径(./lib)-jar **.jar 一般用于启动包和依赖包分离,有时候打包一起很大测试的时候很不好传输进行测试,所以可以这样进行分离原创 2021-03-29 14:35:35 · 1070 阅读 · 0 评论 -
idea maven 依赖分离打包jar
需要在打包的那个项目模块下的pom文件中加入build属性<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</inclu.原创 2021-03-29 10:03:34 · 817 阅读 · 0 评论 -
java 连接nfs服务端 错误mount failure export: /mon/test, nfs version: 3, returned state 13
我的解决方式:在nfs的服务器端从新配置了 /etc/export。比如说你需要通过java往nfs服务器上的/mnt/test下面写入数据那么你需要在 /etc/export下写入/mnt/test *(sync,wdelay,hide,no_subtree_check,sec=sys,rw,insecure,no_root_squash,no_all_squash)这里的*是允许所有的客户端访问不限制IP地址。然后允许 exportfs -r从新装载配置文件...原创 2021-03-16 09:32:22 · 1851 阅读 · 4 评论 -
spring boot 启动后不久就挂了的原因记录
前几天发现自己云上的项目 挂了一个,研究了下日志感觉没得什么作用。百度了很久,终于有一个小哥的博客提醒了我,我的使用的命令行启动 jar包,但是我加了后台启动的 &。但是我关闭连接端后5分钟内项目也是可以的么的问题的。但是看日志 大概10钟后就挂了。 解决方法也有很多,我的解决就是 启动命令放到shell 记得加& 脚本里运行...原创 2020-12-17 17:03:48 · 751 阅读 · 0 评论 -
rabbitmq 报错:无队列 springboot rabbitmq 三种创建队列的方式
因为报错#method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue 'helloTest' in vhost '/', class-id=50, method-id=10生产者:如下package com.example.consulServerOne.consulServerOneController;import org.springframework.amqp.core.AmqpTemplat.原创 2020-06-15 15:45:20 · 2470 阅读 · 1 评论 -
java.lang.IllegalArgumentException: class org.springframework.boot.cloud.CloudFoundryVcapEnvironment
记录---》springboot 启动报错:java.lang.IllegalArgumentException: class org.springframework.boot.cloud.CloudFoundryVcapEnvironment 异常版本冲突了 有多个springboot的lib 依赖包在在里面。原创 2020-06-15 10:52:10 · 3948 阅读 · 0 评论 -
记录分布式唯一id生成普遍的方法 基于数据库的号段模式
这种模式就是需要把这个号段的都缓存起来使用,这里需要注意如果缓存失效后需要怎么样处理,一般都是再次申请。号段模式是当下分布式ID生成器的主流实现方式之一,号段模式可以理解为从数据库批量的获取自增ID,每次从数据库取出一个号段范围,例如 (1,1000] 代表1000个ID,具体的业务服务将本号段,生成1~1000的自增ID并加载到内存。表结构如下:CREATE TABLE id_generator ( id int(10) NOT NULL, max_id bigint(20) NOT N原创 2020-05-12 17:39:27 · 1268 阅读 · 1 评论 -
记录下 java版本的雪花算法
/** * Twitter的SnowFlake算法,使用SnowFlake算法生成一个整数,然后转化为62进制变成一个短地址URL * * https://github.com/beyondfengyu/SnowFlake */public class SnowFlakeShortUrl { /** * 起始的时间戳 */ private final static long START_TIMESTAMP = 1480166465631L; /**.转载 2020-05-12 17:34:51 · 292 阅读 · 0 评论 -
spring 参数验证 的工具类 结合注解@NotNull
主要的工具类代码如下public class ValidatorUtils { private ValidatorUtils() { } /** * 获取默认的Validator * * @param * @return * @title 获取默认的Validator * */ publ...原创 2020-05-06 14:31:15 · 583 阅读 · 0 评论 -
java8 的stream map 排序 记录下
Map<Integer, Integer> keywordTimes = new HashMap<>();keywordTimes.put(1,2);keywordTimes.put(2,3);keywordTimes.put(4,5);keywordTimes.put(3,4);//返回匹配度最高的即 关键词匹配最多的 先按升序排序Map<...原创 2020-04-21 10:10:36 · 719 阅读 · 0 评论 -
springBoot 配置文件值 使用静态方式赋值
记录下方法:package com.zbj.cs.chance.reformChanceBiz.util;import com.zbj.cs.chance.reformChanceBiz.impl.NewChanceConfigBiz;/** * @title 一句话说明功能 * @author: wangtingsong * @Date: 2020/3/30 16:29 *...原创 2020-03-30 17:44:04 · 342 阅读 · 0 评论 -
枚举类型代替if /else
public enum TestEum { FAST { @Override//业务逻辑 void run(ConsumerCompanyMapper consumerCompanyMapper) { ConsumerCompanyExample example = new ConsumerCompanyExample();...原创 2019-12-12 18:04:34 · 982 阅读 · 0 评论