- 博客(55)
- 资源 (1)
- 收藏
- 关注
原创 线上面试之我用AI做面试题导致没过
AI在代码分析时,还是存在一定的不确定性,需要经过漫长的深度学习和训练,我们在编码时还不能完全依赖Ai给出的答案,只能作为参考,本次面试就是自己偷懒导致的后果,不过在学习AI的路上,还任重而道远。
2024-03-22 11:12:46 440
原创 java通过模板导出到Excel
依赖,该项目是gradle管理依赖,需要maven的可以去maven仓库找一下对应的依赖。这个只是简单的模板导出,上手即用。
2024-01-23 16:06:56 680
原创 springboot整合kafka多数据源
在很多与第三方公司对接的时候,或者处在不同的网络环境下,比如在互联网和政务外网的分布部署服务的时候,我们需要对接多台kafka来达到我们的业务需求,那么当kafka存在多数据源的情况,就与单机的情况有所不同。配置单机的情况如果是单机的kafka我们直接通过springboot自动配置的就可以使用,例如在yml里面直接引用在使用的时候直接注入,然后就可以使用里面的方法了多数据源情况下本篇文章主要讲的是在多数据源下的使用,和单机的有所不同,我也看了网上的一些博客,但是当我去按照网上的配置的时候,总是会
2023-08-14 10:26:48 1380
原创 springboot整合shiro + jwt + redis实现权限认证(上手即用)
最近项目中涉及到使用shiro来作为权限认证,之前对shiro没有做太多的了解,所以一段时间不用的话,忘记得很快,好记性不如烂笔头。在闲暇之余整理springboot整合shiro得demo,我看了网上一些整合得案列,有写得好的,也有些残差不全。我结合目前使用得项目中代码,整合了一遍。基本上可以直接放在项目中使用。如果有什么缺陷,希望大家指正,目前博客只贴出主要的类供大家参考,具体的请移步gitee上看详细类容。
2022-12-22 09:28:09 6763 3
原创 java实现springboot整合elasticsearch7.9.3增删改查(swagger2的接口形式)
java编写springboot整合elasticseach
2022-10-18 15:58:36 1058
原创 JAVA导入txt文件并按行读取内容封装成实体以及导出下载
前台页面支持用户上传txt类型的文件,用做一些服务的配置,我们需求将改文件解析,读取里面的内容,并封装成接口参数,再调第三方接口;我直接贴个工具类,可以下载成xml、properties、text文件。...
2022-08-16 09:30:41 2851
原创 JVM学习笔记【2】 类加载执行子系统
1.JVM的简图简要版中文的详细版(宋文康老师教学图)注意:方法区只有HotSpot虚拟机有,J9,JRockit都没有今天主要的是学习类加载执行子系统2.类加载执行子系统的作用类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信
2022-04-23 21:33:47 148
原创 JAVA实现冒泡排序
public static void main(String[] args) { sort(); } public static void sort() { //冒泡排序从大到小排序 int[] ints = new int[]{1,3,2,4,6,8,}; int temp; int length = ints.length; System.out.println("length = " + length); for (...
2022-04-19 20:13:00 388
原创 Java的数据结构有那些?
1.线性表(ArrayList)一个线性表(Linear List)是由n(n≥0)个数据元素(结点,它可以是一个字母,数字,记录或更复杂的信息)所构成的有限序列。线性表逻辑地表示为:(a0,a1,…,an-1)。其中,n为线性表的长度,n=0时为空表。称i为ai在线性表中的位序号。顺序储存结构是用数组来保存数据的, 线性表也就是数组的一种特殊储存方式:从头到尾依次储存数据。下面这种情况就不是线性表java中以ArrayList为例数组扩容:ArrayList的底层是Object类的数组,默认
2022-04-10 19:31:46 6826
原创 Stream流将String的数字集合转成Integer类型数字集合
int[] ints = recordDTO.getIdList().stream().mapToInt(Integer::parseInt).toArray(); List<Integer> ids = Arrays.stream(ints).boxed().collect(Collectors.toList());测试注意,必须是数字的字符串,不然会报错
2022-04-06 10:42:37 4628
原创 com.alibaba.fastjson.JSONException: default constructor not found. class com.menglar.soap.item.pojo.
在用JSONObject.parseObject()将json转成实体类时报了该异常.com.alibaba.fastjson.JSONException: default constructor not found. class com.menglar.soap.item.pojo.shopee.publishable.GetPublishableShop at com.alibaba.fastjson.util.JavaBeanInfo.build(JavaBeanInfo.java:504) a
2022-04-02 14:58:41 1304
原创 POST请求发送MultipartFile文件
业务背景上传商品到第三方平台,需要先将商品的图片地址换成该平台的图片地址 /** * POST请求发送MultipartFile文件参数 */ public String doPostFile(String url, List<String> imageUrls, String fileParName, int timeout) { String resultMap = null; CloseableHttpClient httpClient =
2022-03-31 17:40:18 4023
原创 什么是BSj架构?什么是CS架构?
1. 什么是B/S架构?B/S(Browser/Server),浏览器/服务器程序Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现。B/S架构的系统无须特别安装,只有Web浏览器即可。其实就是我们前端现在做的一些事情,大部分的逻辑交给后台来实现,我们前端大部分是做一些数据渲染,请求等比较少的逻辑。B/S架构的分层:与C/S架构只有两层不同的是,B/S架构有三层,分别为:第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能。第二层业务层:主
2022-03-29 00:07:55 1517
原创 MYSQL的sql笔记之多表联查
多表联查在关系型数据库中,表与表之间是联系的,至于是怎么联系的,我们在开发设计表的时候一般会使用物理外键将多张表进行关联。所以在实际应用中,经常使用多表查询。多表查询就是同时查询两个或两个以上的表。主要的查询方式交叉连接内连接外连接子查询我首先准备三张表,方便我们下面举例用学生表班级表老师表那这三张表的关系是 学生对应的是班级,班级对应老师,每个老师都负责各自的班级。1.交叉连接交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。SE
2022-03-20 23:27:13 1878
原创 MYSQL的sql笔记之 group by
分组查询(GROUP BY)字面上意思很简单就是分组查询 , 它可以将查询结果按照某个字段或多个字段进行分组。字段中值相等的为一组. MySQL中GROUP BY语句用于对某个或某些字段查询分组,并返回这个字段重复记录的第一条,也就是每个小组(无排序)里面的第一条。基本语法GROUP BY 属性名 [HAVING 条件表达式] [WITH ROLLUP]属性名:是指按照该字段的值进行分组。HAVING 条件表达式:用来限制分组后的显示,符合条件表达式的结果将被显示。WITH ROLLUP:将会
2022-03-16 18:41:34 6838
原创 记录一个从富文本提取图片和排除图片的功能
业务背景功能一 : 需要将一段富文本字符串里面的图片提取出来上传到自己的服务器,更换原来的地址.功能二 : 将富文本里面的图片地址排除掉代码实现工具类/** * 解析富文本里面的图片工具类 */ public static List<String> getImgStr(String htmlStr) { List<String> list = new ArrayList<>(); String img = ""; Pattern p_ima
2022-03-15 11:45:08 484
原创 StringUtils的常见用法
前言平常在项目中写代码经常用到这个类,今天刚好有时间就来深究下StringUtils到底有那些好用的方法字面意思就大概知道这是一个操作String的工具类,下面我们打开源码一步一步的看下。我初步看了下大概20多个。我们就从我们常用的一些入手。StringUtils.isEmpty()这是我们常用的一个判断字符串是否为空的一个方法 //对象不为空,或者不等于空字符 public static boolean isEmpty(@Nullable Object str) {
2022-03-13 18:22:34 1956 1
原创 记录一个制作图片水印的功能
功能介绍对图片生成图片水印或者文字水印 ,用户可以自定义自己的图片水印思路就是将文字和图片水印合成到一张图片上面去,前台展示合成效果后台合成后保存到cos上面,并在数据库保存相关信息,方便用户下次引用前台样式后端代码接参DTO@Datapublic class WatermarkTemplateDTO extends BasePageParamDTO{ /** * 主键ID */ @ApiModelProperty(value="主键ID") private Lon
2022-03-12 16:21:41 2428
原创 保留二位小数
details.setMaxPrice(Double.valueOf(new DecimalFormat(“0.00”).format(shopeeSourceData.getPriceMax() / CollectPlatformEnum.SHOPEE.getConverte() * newCur)));
2022-02-18 19:55:01 159
原创 整理的springboot整合Pulsar的案例 (TDMQ)
前言:由于时间比较赶,TDMQ被项目启用了,很多高阶的还没有用上,这里只是简单的发送接收初始化连接package com.menglar.soap.item.common.pulsar;import org.apache.pulsar.client.api.AuthenticationFactory;import org.apache.pulsar.client.api.PulsarClient;import org.apache.pulsar.shade.io.netty.util.conc
2022-02-12 15:24:28 3521
原创 TreadPoolConfig 真实项目中的线程池配置
package com.menglar.soap.item.common.config;import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;import org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler;import org.springframework.beans.factory.annotation.Valu
2022-02-12 15:13:43 353
原创 redis配置类 RedisConfig
package com.menglar.soap.item.common.config;import com.alibaba.fastjson.support.spring.GenericFastJsonRedisSerializer;import com.menglar.soap.item.common.listener.KeyExpiredListener;import org.springframework.beans.factory.annotation.Autowired;import
2022-02-12 15:12:07 4753
原创 Xml转Map工具类 XmlMapUtils (工具类五)
package com.menglar.soap.item.common.utils;import java.io.IOException;import java.io.StringReader;import java.io.StringWriter;import java.util.*;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import
2022-02-12 15:05:26 723
原创 ThreadLocalUtils (工具类四)
package com.menglar.soap.item.common.utils; public class ThreadLocalUtils { private final static ThreadLocal<Object> userThreadLocal = new ThreadLocal<>(); /** * 设置数据到当前线程 */ public static void set(Object o){ userThre.
2022-02-12 12:01:55 1415
原创 redis工具类RedisUtil (工具类三)
package com.menglar.soap.item.common.utils;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.List;import java.util.Map;import java.util.Set;import java.util.concurrent.TimeUnit;imp
2022-02-12 11:57:38 472
原创 unicode字符串转换成汉字 DecodeUnicodeUtils (工具类二)
package com.menglar.soap.item.common.utils;import org.apache.commons.lang3.StringEscapeUtils;/** * @description: 将unicode字符串转换成汉字 * @author: ZhangRiTian * @create: 2021-10-29 15:08 */public class DecodeUnicodeUtils { public static String decodeU
2022-02-12 11:54:29 405
原创 日期处理工具类 DateUtils (工具类一)
/** * Date 工具集 */@UtilityClasspublic class DateUtils { public static final String DATE_FORMAT = "yyyy-MM-dd"; public static final String YYYY_MM_DD = "yyyyMMdd"; public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; public static fin
2022-02-12 11:51:32 331
原创 前台下载网络图片,不经过后台处理
let url = 'https://s-cf-tw.shopeesz.com/file/5d5b0c9ff52be2ce2bd5aa47f9791cc1'; let image = new Image() image.setAttribute('crossOrigin', 'anonymous') image.src = url
2022-02-12 11:48:06 150
原创 学习使用mongodb的聚合查询(Aggregation)笔记(一)
什么是聚合查询?了解两个概念(PipeLine)管道 ,(Stage)步骤格式##常见的步骤常见步骤中的操作符使用场景与MYSQL相比的语句特有步骤¥bucket
2022-01-23 21:44:07 337
原创 SpringBoot启动报错:ERR config is disabled command
项目中使用了redis的监听机制,监听过期的key,注入了redis的listener,再使用这个功能其实是要修改redis的配置,我本地是改了的,线上的redis忘记改了原因是spring-session调用了CONFIG命令来配置Keyspace notifications功能。而线上环境的redis基于权限的考虑,禁止应用服务执行CONFIG命令,这样就导致了应用在初始化时抛出此异常。 @Autowired private RedisConnectionFactory redisConnec
2022-01-16 21:06:47 2754 1
原创 stream流配合lamda表达式统计对象属性对应的数量
//统计数量 long failNum = allRecords.stream().filter(record -> record.getPublishStatus().equals(0)).count(); long successNum = allRecords.stream().filter(record -> record.getPublishStatus().equals(1)).count(); long cancelNum = allRecords.stream().f
2022-01-16 19:13:18 514
原创 springboot集成kafka
配置 kafka: bootstrap-servers: 101.34.177.108:9092 # 多个用英文逗号隔开 producer: retries: 3 # 默认为 0,发送主题失败后重试的次数 batch-size: 100 # 默认为 0,批处理发送主题大小 key-deserializer: org.apache.kafka.common.serialization.StringDeserializer value-deser
2022-01-15 16:47:24 1030
原创 java.lang.ArrayIndexOutOfBoundsException:49
记录一个多线程操作ArrayList引发的数组溢出异常背景我用线程池提交任务去处理,我传的是AyyayList进去,在任务方法里面add到这个集合里面.引发了ava.lang.ArrayIndexOutOfBoundsException:49这个异常,而且这个异常是一会有一会儿没有.不好定位.解决方案: 将ArrayList换成CopyOnWriteArrayList,至于为什么大家可以去搜索一下ArrayList多线程调用add()可能出现的问题可解决方案.有很多大佬讲得很清楚,就是数组扩容引起得问
2022-01-14 14:34:07 594
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人