java
文章平均质量分 70
WuWuII
while(life)++;
展开
-
List转树形结构
主要代码在service实现类中。原创 2024-10-24 20:34:57 · 399 阅读 · 0 评论 -
Quartz定时任务
Quartz主要三部分组成,一个任务Job实现类,一个触发器Trigger,一个SchedulerScheduler将job和Trigger组合起来,就会触发定时执行Job。原创 2024-10-24 20:34:13 · 1055 阅读 · 0 评论 -
maven的pom文件解读
【代码】maven的pom文件解读。原创 2024-10-13 15:10:45 · 279 阅读 · 0 评论 -
代码执行时间
多种获取代码运行时长的方法,原创 2024-10-13 15:10:12 · 534 阅读 · 0 评论 -
Maven Jar
目录1、没有下载成功1.1 具体情况1.2 原因1.3 脚本1.4 多次删除下载依旧是lastUpdated2、下载完成但是内部损坏2.1 问题2.2 文件校验3、HASH加密原理4、根据依赖信息定位jar包位置5、重新下载Jar包1、没有下载成功1.1 具体情况 在Maven仓库中,Jar或其他相关文件的扩展名是“lastUpdated”,如下图所示:javadoc是文档下载失败,so...原创 2020-02-27 15:48:29 · 524 阅读 · 1 评论 -
Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT)and (utf8mb4_general_ci,IMPLICIT)for operatio
看提示信息,是因为多表查询,关联条件的两个字段排序规则不一样,查看。左右的条件,改成一样的即可。关键点就是红线标注内容,原创 2024-09-19 19:30:36 · 209 阅读 · 0 评论 -
seata
一个很奇怪的现象,报错信息可能会有差异,大概信息就是分支事务异常。找了很多网上的信息,可能报错是一样的,但是场景不一样,我这次遇到的是。一个简单的修改语句,其它的数据都是正常执行的,只有这条数据有这个问题这条数据,没什么特别的,加了@GlobalTransactional就会报错,不加就正常执行。数据库能正常修改,但是修改的时候就会报分支事务失败,研究很久也没解决。在本地部署了一套seata,这条数据正常执行,seata配置文件原版的基础上配置了nacos和db,这条数据也一切正常。原创 2024-09-19 19:30:12 · 857 阅读 · 0 评论 -
windows安装docker
可以使用sysvinit 命令,代替 systemctl 命令。通过wsl使用linux,默认情况下系统使用的是 SysV 而不是 systemd,并且报错信息如下。这些命令是用于在Windows操作系统中启用某些功能的命令。保存内容后,重命名txt为bat,然后以管理员身份运行。重启后,systemd 将会运行。直接打开cmd窗口,执行docker命令即可,查个mysql看看。拉取nacos失败,换个rabbitmq试试,还是失败。打开刚才安装好的docker,第一次需要同意,下载好进行安装,安装完成。原创 2024-08-12 10:56:42 · 1275 阅读 · 0 评论 -
restful传值
通过/asd/123这种方式get请求传入后端。后端,参数名对应,直接接收到,不用注解。参数名对应,post请求传数组到后端。从path上取对应的值。原创 2024-08-12 10:56:29 · 296 阅读 · 0 评论 -
arthas
trace命令可以说是arthas一个极其强大且实用的命令,他会把我们想要监听的方法进行长期监听,直到方法满足我们设置的调用次数,然后会返回监听的方法下的每一个子方法的代码耗时时间!jad命令可以为我们反编译出class文件,将他编译成我们正常的java代码,jad命令后面跟对应要编辑的类的全类名。显示了所有java进程,我这里只有一个,所以就是1个,提示你输入对应的数字,进入,我输入1,然后回车,或者在命令最后加上pid,直接进入指定服务。这个命令的作用是导出当前jvm的 dump文件。原创 2023-08-24 10:13:33 · 468 阅读 · 0 评论 -
IDEA的使用,快捷键、插件、配置......
选中代码,右键第一个便会看到Bito AI,然后选择。原创 2020-12-08 20:23:41 · 3534 阅读 · 1 评论 -
java注解
在系统启动即执行的执行顺序(适用于spring的类初始化加载场景,如果是普通类,单纯的去实例化这个类,@PostConstruct、CommandLineRunner不会起作用):static{}> Constructor > @Autowired > @PostConstruct> CommandLineRunner。3:@Validated 进行校验的时候,当校验不通过的时候,程序会抛出400异常,阻止方法中的代码执行,这时需要再写一个全局校验异常捕获处理类,然后返回校验提示。原创 2023-05-17 14:50:36 · 459 阅读 · 0 评论 -
SpringSecurity
目录加入SpringSecurity依赖web.xml加入SpringSecurity控制权限的Filter加入配置类启动项目授权请求定义授权规则放行首页和静态资源未授权跳转到登录页定义认证规则设置登录的账号密码加入SpringSecurity依赖<!-- SpringSecurity对Web应用进行权限管理 --> <dependency> <gro...原创 2020-03-19 20:46:44 · 331 阅读 · 1 评论 -
RabbitMQ
异步调用的问题。原创 2024-06-27 15:32:21 · 582 阅读 · 0 评论 -
阿里云oss存储
左边找到java-安装,我是maven项目,选择导入pom依赖,,它有说明,java9以上要引入下面那部分,具体看你版本,我是9以上,两部分依赖都要。上面参数说明已经看到了,其实很多东西都是固定的,只有一些值需要传入就可以了,现在封装成一个工具类,只传入我们要上传的文件对象就可以了。可能遇到一个问题,访问临时url,提示如下,看信息应该是时间不对,我之前设置的是30天,调整成1天就好了。然后点击创建AccessKey,再验证手机验证码,就成功创建,需要注意的是,访问阿里云官网,登录以后,右上角有个控制台。原创 2024-06-27 15:31:33 · 412 阅读 · 0 评论 -
vue登陆密码加密,java后端解密
登陆之前调用encrypt给pwd加密。原创 2024-06-23 17:44:38 · 676 阅读 · 0 评论 -
maven多环境切换
pom.xml文件设置每一个标签对应一个配置文件,id对应的就是application-**.yaml在application.yaml中配置,代表加载哪个配置文件通过maven窗口选择配置文件。原创 2023-11-29 14:36:00 · 320 阅读 · 0 评论 -
抓包工具获取请求信息
下载后傻瓜式安装就好,这个官方的需要激活,可以选择绿色版或者学习版。原创 2024-03-05 10:16:03 · 664 阅读 · 0 评论 -
ActiveMQ
ActiveMQ 的官网 :ActiveMQ扩展出:API 接受发送MQ 的高可用MQ 的集群容错配置MQ 的持久化延时发送签收机制Spring/SpringBoot 整合等// MQ 都需要满足的技术MQ : 消息中间件/消息队列。原创 2023-12-26 16:11:36 · 1653 阅读 · 0 评论 -
springboot多数据源
切换数据源的注解,可以加在Mapper和Service上,加在类上面,所属的方法都是使用这个数据源,加在方法上,该方法使用指定的数据源。同时在类和方法上加@DS,方法上的优先。我用的是properties,yml换下格式就行,现在多数据源要写成这样的。之前单数据源是这样的。原创 2024-01-15 08:59:18 · 636 阅读 · 0 评论 -
layui表格中预览视频和图片
主要用到的方法getData()getData()示例中是模拟数据,代入到自己的功能中就是请求返回的数据。点击实现预览效果预览方法表格展示对应的数据主要是模板方法,url中就是我们后端的具体存储地址,如果url是本地地址,会报错,需要配置静态资源文件实际路径是,然后如图,替换url路径,最终路径就是,然后返回给前端html代码来源:https://blog.csdn.net/qq_36025814/article/details/125860454,后端代码自己整理,有不原创 2023-12-26 15:35:47 · 2436 阅读 · 0 评论 -
Debug调试
执行到一定位置,不想往下执行了,不想产生结果,又不想停止服务,直接抛出一个异常,中断当前进行的Debug,在当前位置右键,Throw Exception。怎么看呢,以下是对应关系,想看哪个条件产生的结果,就点哪个,首先看stream,流化以后,展示了所有值。然后是foreach,是个输出语句,所以这里不显示东西。debug进来以后,debug窗口有个这个玩意。跳出当前方法,回到调用的方法处。在执行流的方法的这一行打点。不往下执行,直接返回值。再然后是执行了筛选条件。原创 2023-05-15 14:59:22 · 74 阅读 · 0 评论 -
函数式编程lambda
一般的foreach是使用return,但是lanbda中return是无效的,map函数的作用就是对管道流中的每一个数据元素进行操作。原创 2023-06-28 09:03:02 · 141 阅读 · 0 评论 -
idea创建项目的时候只有java 21和17
今天创建项目,发现java这一项只有21和17因为spring2在23年11月24日停止维护了,所以通过spring来创建,没有spring2,只有spring3+,最低jdk版本也是17。原创 2023-12-01 09:20:47 · 1685 阅读 · 1 评论 -
Springboot+JWT
JWT(JSON WEB TOKEN)是一种标准,用来在前后端或者系统间以JSON对象安全的传输信息,该信息是可以被验证和信任的,因为它是数字签名的。可以使用HMAC或RSA或ECDSA的公钥/私钥进行签名。原创 2023-10-21 09:32:28 · 467 阅读 · 1 评论 -
文件下载a
前端代码一个a标签,href就是要访问的controller的路径,以下是文件下载Java代码,chrome要选高级,然后配置,不然每次都保存默认位置,不会弹出另存框。原创 2020-10-25 18:35:53 · 505 阅读 · 2 评论 -
为什么list.sort()比Stream().sorted()更快?
看到一个评论,里面提到了list.sort()和list.strem().sorted()排序的差异。说到list.sort()排序比stream().sorted()排序性能更好。但没说到为什么。有朋友也提到了这一点。本文重新开始,先问是不是,再问为什么。转载 2023-08-11 09:54:00 · 84 阅读 · 0 评论 -
获取ip属地
这个方法获取的IP地址是相对可靠的,在中间没有代理的情况下,的确是最简单有效的方式,但是当今的互联网web应用很少会将 应用服务器 直接 对外服务,有的甚至可能有多层代理。HTTP协议是基于TCP协议的,由于request.getRemoteAddr()获取到的是TCP层直连的客户端ip,对于web应用服务器来说直接连接它的客户端实际上是Nginx,也就是说TCP层是拿不到真实的客户端的ip的。2.X-Real-IP :这也是一个HTTP头部字段,有些代理服务器会将客户端的真实IP地址添加到这个字段中。原创 2023-04-10 17:57:05 · 296 阅读 · 0 评论 -
通过网络url下载文件
这种方式先通过 URI 类创建一个 URI 对象,然后再将其转换为 ASCII 字符串,最后使用 URL 类的构造函数创建一个 URL 对象。这可以确保 URL 字符串的合法性。而 URL url = new URL(new URI(fileUrl).toASCIIString());和 URL url = new URL(new URI(fileUrl).toASCIIString());原创 2023-08-04 09:01:57 · 1996 阅读 · 0 评论 -
aspose合并word中的表格
原文效果代码:package com.wzw.test;import java.awt.Point;import java.awt.Rectangle;import java.io.InputStream;import com.aspose.words.Bookmark;import com.aspose.words.BookmarkCollection;import com.aspose.words.Cell;import com.aspose.words.CellMerge;原创 2021-04-26 11:11:54 · 1164 阅读 · 0 评论 -
Spring BeanUtils进行属性拷贝
网上搜索了下市面上很多对象的帮助类,比较常用有一下。Apache BeanUtilsApache PropertyUtilsSpring BeanUtilsCglib BeanCopierJDK Cloneable推荐使用在性能方面,Spring BeanUtils和Cglib BeanCopier表现比较不错,而Apache PropertyUtils、Apache BeanUtils以及Dozer则表现的很不好。如果考虑性能情况的话,建议大家不要选择Apache PropertyUtil原创 2021-07-15 14:16:00 · 132 阅读 · 0 评论 -
Aspose.word 表格的样式
//获取文档Document doc = new Document("D://AsposeTest//test.doc");//获取第2个表格Table table = (Table) doc.getChild(NodeType.TABLE, 1, true);//设置第1行第1列垂直方向居中table.getRows().get(0).getCells().get(0).getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENT原创 2021-04-29 15:18:06 · 1071 阅读 · 0 评论 -
Eclipse鼠标悬浮的提示没有了
Window->Preferences->Java->Editor->Hovers 将Combined Hover选择即可,如果Variable Values已经勾选,则把这个勾去掉,勾选Combined Hover。他们两是不能同时选中的原创 2021-07-21 16:46:09 · 605 阅读 · 4 评论 -
BigDecimal转换
代码检测爆出代码质量:使用浮点数进行精确计算简单说就是不能用doule,不精确,要用BigDecimalBigDecimal是一个对象,它的加减乘除等都跟数字类型不一样,以下就是它的一些常用方法new一个BigDecimalBigDecimal num1=new BigDecimal("0.12");输出结果add():相当于加a.add(b)相当于a+b BigDecim...原创 2020-04-15 16:42:50 · 2650 阅读 · 2 评论 -
poi一些操作
poi获得的excel的数字格式不对,通过如下DecimalFormat转换回来 DecimalFormat df = new DecimalFormat("#"); System.out.println(df.format(2.020070801E9)); System.out.println(df.format(123.0));原创 2020-07-09 10:23:17 · 1156 阅读 · 0 评论 -
前端上传的文件,接收后名称对,路径不对
遇到一个问题,前端传了xlsx,以前都没问题,最近上传以后解析不了,看了下上传的东西,发现文件名称是对的,但是路径变成tomcat下的tmp文件,怪不得解析不了。 上传的是xlsx,为什么是tmp,因为文件太大,超过编译大小,产生临时文件,然后读取的是这个临时文件, 设置一下大小就可以了,multipartResolver这个里面配置<!-- 定义文件上传解析器 --><bean id="multipartResolver" class="org.springframe原创 2021-06-25 11:53:43 · 601 阅读 · 0 评论 -
时间的转换
SimpleDateFormat是线程不安全的,项目中会检测到SimpleDateFormat有时间格式缺陷,都替换为DateTimeFormatter各种格式转化的方法。原创 2022-11-17 17:22:46 · 304 阅读 · 1 评论 -
freemarker
h1 > assign指令 < #-- assign 自定义变量指令 语法: < #assign 变量名 = 值 变量名 = 值 > (定义多个变量可以用空格隔开)通过逗号分割数组,变成字符串:join(",")}< h1 > assign指令 < #-- assign 自定义变量指令 语法: < #assign 变量名 = 值 变量名 = 值 > (定义多个变量可以用空格隔开)原创 2022-12-08 11:28:52 · 1150 阅读 · 0 评论 -
SpringData JPA
有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。4、@GeneratedValue(strategy=GenerationType.IDENTITY) 指定主键的生成方式,一般主键为自增的话,就采用GenerationType.IDENTITY的生成方式。这个和上面的一起使用,可以实现软删除。8、SQLDelete表示当执行jpa中的delete操作时,执行的语句。原创 2020-05-27 18:01:31 · 628 阅读 · 1 评论 -
上传文件报错tmp/tomcat.12115431021545123/work/Tomcat/localhost/ROOT
过一段时间上传文件就会报错查看tmp这个路径,路径不存在,原因,项目启动会创建临时目录,用来存放临时文件,但是10天后会被系统自动清理,解决:手动在该路径依次创建文件夹重启项目...原创 2022-03-15 15:22:43 · 1172 阅读 · 0 评论