
java
胡萝卜说
这个作者很懒,什么都没留下…
展开
-
Swagger2接口报类型转换错误
防止进入swagger页面报类型转换错误,需要排除2.9.2中的引用,手动增加1.5.21版本。原创 2023-03-02 18:49:41 · 412 阅读 · 1 评论 -
使用swaggerUI进行接口开发
使用swaggerUI进行接口开发原创 2023-02-27 16:44:07 · 390 阅读 · 0 评论 -
java中创建线程池的方式与区别
java中创建线程池的方式与区别原创 2023-02-06 14:41:18 · 232 阅读 · 0 评论 -
数据导出到excel表格,并添加水印
数据导出到excel表格,并添加水印原创 2023-01-30 17:20:42 · 2092 阅读 · 0 评论 -
Stream流式编程操作
在诺大的江湖中,啊基和啊坝两人游走于其中,啊基感叹自己要多学一些武功,于是啊基告别了啊坝,开始了自己为期两年半的练习…原创 2022-07-29 14:43:54 · 660 阅读 · 0 评论 -
java中类的初始化顺序
没有继承时初始化:静态变量、静态初始化块 --> 变量、变量初始化块-->构造方法原创 2022-07-14 11:46:02 · 1651 阅读 · 0 评论 -
java中的常见异常及处理方式
列举常见的java异常类型原创 2022-07-06 16:22:50 · 1220 阅读 · 0 评论 -
CST 2022时间如何格式化
CST 时间格式化原创 2022-06-09 17:05:49 · 6577 阅读 · 0 评论 -
Stream操作时Collectors工具类中常用方法
文章目录示例文件准备实体类User :测试main方法制作数据 :聚合与分组toList、toSet、toCollectiontoMap、toConcurrentMapgroupingBy、groupingByConcurrentpartitioningBy数据连接joining操作链collectingAndThen先操作后聚合mapping先聚合后操作reducing数据统计countingaveragingDouble、averagingInt、averagingLongsummingDouble、s原创 2022-04-20 17:26:51 · 1088 阅读 · 0 评论 -
使用Stream将列表中的数据去重,并返回最早的一条数据
任务描述:在返回的用户信息列表中,如果用户名字(name字段)相同,则只返回用户创建时间(createTime字段)最早的一条数据。信息实体类:@Datapublic class User { private String userId; private String name; private String address; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai"原创 2022-04-20 15:27:17 · 3469 阅读 · 0 评论 -
CryptoJS前端加密和后台Java解密
后端加密和解密:import org.springframework.util.StringUtils;import java.nio.charset.StandardCharsets;import java.util.Base64;public class EncryptUtil {//这个密钥需要是16位public static final String KEY_DES = "aaaaaaaabbbbbbbb";public static void main(String[] ar原创 2022-04-11 15:45:50 · 3572 阅读 · 2 评论 -
字符串用*隐藏中间的几位数
/** * @Description: 用来隐藏字符串 * @param code 原始字符串 * @param head 前面保留几位数 * @param tail 后面保留几位数 * @return: java.lang.String */public String getEncryptCode(String code,int head,int tail){ // 中间要隐藏的位数 int body = c.原创 2022-04-07 13:35:21 · 685 阅读 · 0 评论 -
java的1.8源码下载及运行
下载jdk1.8的源码下载:链接:https://pan.baidu.com/s/1hd8E5SALdGtUKmtpl_lPOw提取码:t2wb导入下载后自行导入,目录结构:修改把自己本地的jdk复制一份,如我的复制后命名为jdk1.8Sources修改sdk修改 项目:修改 模块:修改配置:...原创 2022-04-07 10:07:28 · 785 阅读 · 0 评论 -
java中操作集合小记
实际使用是,自己更改相关取值://首先获得一个List,举例: List<ApiInterfaceDetailDescInfo> detailDescList = apiInterfaceDetailDescInfoService.queryApiDetailDescInfoList(req.getId());//根据List中的某个条件进行分组,如 根据type字段进行分组:Map<Long, List<ApiInterfaceDetailDescInfo原创 2022-04-02 17:33:00 · 194 阅读 · 0 评论 -
实现登录时的图片验证码功能
有时在登录页面,需要图片验证码,如下图:接下来就写一个例子定义一个验证码图片类package com.example.chang.hb.controller;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.OutputStream;import原创 2022-03-24 18:58:25 · 1330 阅读 · 0 评论 -
通过注解在静态方法中如何获取某自动注入方法中的值
问题描述:例如:想在一个静态方法中使用到redis中的值,要如何把redis中的值取出来?定义MyServe 接口类:package com.example.chang.service;public interface MyServe { String getName();}定义实现类MyServeImpl :package com.example.chang.service.impl;import com.example.chang.service.MyServe;im原创 2022-01-10 15:05:14 · 565 阅读 · 0 评论 -
使用JAXB方式将java对象转换成xml
文章目录项目目录结构先介绍使用到的JAXB作用:@XmlRootElement@XmlAccessorType@XmlType@XmlAttribute@XmlValue@XmlJavaTypeAdapter创建user类:创建工具XMLUtil类:创建Computer类:创建测试Test类:运行效果图:先看一下效果图:接下来开始操作步骤:项目目录结构先介绍使用到的JAXB作用:@XmlRootElement类级别的注解。将类映射为xml全局元素,也就是根元素。@XmlAccessor原创 2022-01-06 11:34:07 · 2299 阅读 · 0 评论 -
Java如何判断一个对象是null或者是空对象
描述: if(bank != null)的判断是有问题的:使用new 来创建的对象是满足if(bank != null)这个条件的 方式1:BankInfo bank = null; 方式2:BankInfo bank = new BankInfo();上面的这个两种方式对于if(bank != null){ System.out.println("bank有值"); //然后获取bank的内容。。。。。}else{ System.out.println("bank获取为空");}原创 2021-11-18 16:35:42 · 5526 阅读 · 1 评论 -
PostMan各个版本下载
打开地址:https://gitee.com/hlmd/PostmanCn原创 2021-11-16 10:00:28 · 18796 阅读 · 1 评论 -
后端把图片返回给前端
方式1:返回base64格式import org.apache.commons.codec.binary.Base64@RequestMapping("/get-face-picture") public String getUserFacePicture(HttpServletRequest request, @RequestBody JSONObject obj, HttpServletResponse response) { String sessionId = re原创 2021-11-03 17:33:47 · 10762 阅读 · 0 评论 -
java中用post方式传输某个文件
文章目录方式一:直接取本地某个文件进行上传方式二:接收base64格式然后转成文件进行上传方式一:直接取本地某个文件进行上传package com.picc.util;import java.io.File;import java.io.IOException;import java.util.HashMap;import java.util.Map;import org.apache.http.HttpEntity;import org.apache.http.client.metho原创 2021-09-28 14:51:01 · 1550 阅读 · 0 评论 -
用post方式发送请求报文
post请求://获取请求地址 String url = CbsConfig.getCfg("QUERYHOLDERBANKINFODETAIL"); HolderBankInfoDetailDTO reultInfo; Map<String, String> request = new HashMap<>(); request.put("policy_uuid",policyUuid); HttpPo原创 2021-09-23 14:21:17 · 1285 阅读 · 0 评论 -
java中枚举和反射结合的例子
描述:根据不同的标识,获得不同的user对象方法一:使用if else进行判断:一旦分支多太多,逻辑复杂,会导致代码十分冗长,增加阅读难度;第二,违背了开闭原则。如果需要增加或减少分支,需要改动if…else if,增大因代码改动而出错的风险。if("A".equals(type)){ //AAA}else if("B".equals(type)){ //BBB}else{ //CCC}方法二:用枚举和反射创建一个枚举类package com原创 2021-08-12 11:11:15 · 181 阅读 · 0 评论 -
java中的线程池管理
文章目录线程池作用线程池的创建线程池的执行流程介绍线程池饱和策略分类创建线程池例子执行AbortPolicy策略执行DiscardPolicy策略执行DiscardOldestPolicy策略执行CallerRunsPolicy策略线程池作用顾名思义,管理线程的池子,相比于手工创建、运行线程,使用线程池,有如下优点降低线程创建和销毁线程造成的开销提高响应速度。任务到达时,相对于手工创建一个线程,直接从线程池中拿线程,速度肯定快很多提高线程可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统原创 2021-08-09 16:50:15 · 804 阅读 · 0 评论 -
注解的认识与使用
文章目录注解的基本元素使用元注解修饰注解@Target值介绍@Retention值介绍@Documented@Inherited自定义注解定义一个注解:定义一个类,里面使用到注解:获取注解里面的内容:运行时注解(如@Autowired)会采用反射机制处理,针对编译时注解(如@Override)会采用 AbstractProcessor自定义注解解析器常用的注解@Component@Deprecated@Controller和@RestController@Autowired与@Resource@Reques原创 2021-06-10 16:04:16 · 317 阅读 · 0 评论 -
hashMap底层源码讲解
说明本次所列举的代码是基于jdk1.8版本方法中的几个常量值//默认的初始化node[] table数组的长度是16;CAPACITY需要是2的整数幂 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16//默认的初始化node[] table数组的长度最大值是2^30;CAPACITY需要是2的整数幂,不可修改 static final int MAXIMUM_CAPACITY = 1 <&l原创 2021-05-11 10:10:48 · 142 阅读 · 1 评论 -
01设计模式--工厂模式
文章目录简单工厂模式定义基本的电脑类分别定义两个电脑品牌类实现基础电脑类定义一个工厂类,里面用一个方法接收不同的参数来创建不同的电脑进行测试测试结果工厂方法模式再创建一个工厂类AbstractFactory创建两个子类实现此工厂类进行测试测试结果抽象工厂模式新增一个球类创建两个球的实现类进行测试测试结果整体的代码量展示:简单工厂模式定义基本的电脑类public interface Computer { void Create();}分别定义两个电脑品牌类实现基础电脑类AcerCo原创 2021-04-20 18:12:44 · 140 阅读 · 0 评论 -
java生成N位随机数字字母
想生成几位的就将n=?public static String getItemID( int n ){ String val = ""; Random random = new Random(); for ( int i = 0; i < n; i++ ) { String str = random.nextInt( 2 ) % 2 == 0 ? "num" : "char"; if ( "char".equalsIgnoreCase( str ) ) { // 产原创 2021-03-19 17:24:29 · 253 阅读 · 0 评论 -
java位运算左移<<、右移>>、无符号右移>>>
<<(左移),>>(右移)皆属于位运算符,运算比乘除快<<(左移)带符号位移,高位移出,低位补0,移动位数超过该类型的最大位数,则进行取模,如对Integer型左移34位,实际上只移动了两位。左移一位相当于乘以2的一次方,左移n位相当于乘以2的n次方。例子1:1<< 41的二进制表示:0000 00011进行左移四位表示:0001 0000=2的4次方*1=16所以1<< 4的值是16例子2:1<< 34int型最大原创 2021-03-10 15:29:43 · 2619 阅读 · 0 评论 -
maven项目里面pom.xml文件的元素解释
pom文件标签说明原创 2021-02-22 13:41:52 · 441 阅读 · 0 评论 -
Beyond Compare4提示过期解决办法
在电脑中新建一个txt文件,在里面输入(操作是删除BeyondCompare4注册表里CacheID的值;):reg delete "HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4" /v CacheID /f保存后然后把这个.txt文件改成后缀名.bat的文件。每次过期的时候双击运行这个文件,就可以再使用30天了。......原创 2021-02-20 16:59:45 · 596 阅读 · 0 评论 -
java中对日期进行加减操作
package cn.cfm.demo.Test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * @Description: 对日期进行加减操作 * @Author: * @Date: 2021/2/20 */public class DataShield { public stat原创 2021-02-20 15:58:39 · 4573 阅读 · 0 评论 -
把混乱的日志等内容格式化后进行输出方便观看
package cn.cfm.demo.util;import org.apache.xml.serialize.OutputFormat;import org.apache.xml.serialize.XMLSerializer;import org.w3c.dom.Document;import org.xml.sax.InputSource;import org.xml.sax.SAXException;import javax.xml.parsers.DocumentBuilder.原创 2021-02-18 15:16:52 · 163 阅读 · 1 评论 -
java运行时报错(Ljava/lang/Runnable;J)V
JNI字段描述符JNI字段描述符是一种对函数返回值和参数的编码内容解释他们的开头字母表示的内容是不同的: 描述类型开头字母 ByteB CharC ShortS Boolean Z VoidV IntI LongJ FloatF DoubleD objects对象以"L"开头,以";"结原创 2021-02-10 09:37:18 · 595 阅读 · 1 评论 -
java中把两个数组转换成map,并判断是否包含某个值
public class BankTest01 { public static void main(String[] args) { Map map = new HashMap(); String [ ] a={"1","2","3","4"}; String [ ] b={"a","b","c","d"}; for (int i=0;i<a.length;i++){ //map集合添加数据 ..原创 2021-02-06 19:44:35 · 1643 阅读 · 1 评论 -
Java中进行日期先后顺序的比较
有时候要比较两个日期的先后顺序比较的是:系统日期(今天是2021-01-19)大于2021-01-19并且系统日期小于2021-01-20 public static void main(String[] args) throws ParseException { SimpleDateFormat si=new SimpleDateFormat("yyyy-MM-dd"); String date1="2021-01-19"; String date原创 2021-01-19 15:04:56 · 1273 阅读 · 1 评论 -
java.lang.IllegalArgumentException: Access key cannot be null
项目启动报错 (非法参数)java.lang.IllegalArgumentException: Access key cannot be null有的人说是jdk和sping的版本对应的不一致,但我其他的都没问题,感觉不是此问题,然后继续找原因;很有可能是你的代码有取值的地方没有取到值我的文件中写着有 @Value("${endpoint}") private String endpoint; @Value("${bucketName}") private Stri原创 2020-12-08 16:47:47 · 7184 阅读 · 1 评论 -
java的输入输出流
1.输入输出流在Java中,把不同类型的输入输出源抽象为流,其中输入和输出的数据称为数据流(Data Stream)。数据流是Java程序发送和接收数据的一个通道,数据流中包括输入流(Input Stream)和输出流(Output Stream)。通常应用程序中使用 输入流读出数据,输出流写入数据 。 流式输入、输出的特点是数据的获取和发送均沿数据序列顺序进行。相对于程序来说,输出流是往存储介质或数据通道写入数据,而输入流是从存储介质或数据通道中读取数据。面向字节的流,数据的处理以字节为基本单位;原创 2020-09-03 18:31:39 · 978 阅读 · 0 评论 -
ftp上传,下载,删除文件
ftp上传,下载,删除文件直接看最下面的main()方法中的代码,复制全部代码,输入自己的ftp路径和用户信息。package com.sinosoft.lis.ybt.bl;import ind.crf.free.ftp.FTP;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.net.Sock原创 2020-08-27 14:48:14 · 1002 阅读 · 0 评论 -
java中如何直接读取zip压缩包目录中的各个文件的名字
1.目的:获取DZBD003220200824.zip压缩包里面的文件的名字们2.目录结构:E://003/SDZBD003220200824.zip/SDZBD003220200824/SDZBD/3.代码:注意引入的jar包路径是org.apache.tools.zip里面的package com.sinosoft.lis.ybt.bl;import java.io.IOException;import java.util.Enumeration;import org.apach原创 2020-08-24 19:01:58 · 5292 阅读 · 0 评论