java工具方法
qq_27037397
这个作者很懒,什么都没留下…
展开
-
Doom流量回放工具导致的测试环境服务接口无响应的排查过程
doom工具具体导致线程阻塞的原因原创 2023-02-14 17:45:07 · 595 阅读 · 0 评论 -
单例模式枚举(Enum)结合ThreadLocal,存取线程共享信息
单例模式枚举(Enum)结合ThreadLocal,存取线程共享信息原创 2022-12-05 20:51:30 · 253 阅读 · 0 评论 -
mybatis-plus in查询某个字段在某个集合内,当集合超过1000size,查询报错。
思路:将集合分割成小于1000的若干个集合,然后利用or 关键字拼接,下面附工具类import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;import com.baomidou.mybatisplus.core.toolkit.support.SFunction;import org.apache.commons.lang3.ObjectUtils;import java.util.ArrayList;原创 2022-04-24 15:17:37 · 1812 阅读 · 0 评论 -
Arrays.asList得到的ArrayList 是Arrays的内部类
Arrays.asList得到的ArrayList 是Arrays的内部类,其add方法实现,直接抛异常原创 2022-04-02 09:18:43 · 225 阅读 · 0 评论 -
为什么HashMap的长度是2的整数次幂?
先说答案:为了加快哈希计算以及减少哈希冲突为什么可以加快计算?我们都知道为了找到 KEY 的位置在哈希表的哪个槽里面,需要计算 hash(KEY) % 数组长度但是!% 计算比 & 慢很多所以用 & 代替 %,为了保证 & 的计算结果等于 % 的结果需要把 length 减 1也就是 hash(KEY) & (length - 1)这个 hash(KEY) 没什么可说的,调用 Object 里面的 native 方法完成计算,一般返回的是一个整数,至于是偶数还是转载 2021-12-01 17:32:48 · 175 阅读 · 0 评论 -
为什么 Java 中只有值传递?
public class Person { private String name; // 省略构造函数、Getter&Setter方法}public static void main(String[] args) { Person xiaoZhang = new Person("小张"); Person xiaoLi = new Person("小李"); swap(xiaoZhang, xiaoLi); System.out.println("转载 2021-12-01 10:28:10 · 143 阅读 · 0 评论 -
java 基本数据类型int 的默认初始值问题
int类型在Java中,若果作为类成员声明,不初始化值,会被默认初始化为0;如果作为方法的局部变量来声明,不进行初始化的话 会在编译期报错,无法通过编译。原创 2021-11-24 14:19:43 · 9058 阅读 · 1 评论 -
深拷贝实现的工具类利用输入输出流
package com.Utils;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;public class CloneUtils { @SuppressWarnings("unchecked")原创 2021-08-30 12:00:56 · 246 阅读 · 0 评论 -
关于Integer和int的比较 存储位置 jvm 自动拆装箱
1、由于Integer变量实际上是对一个Integer对象的引用,所以两个通过new生成的Integer变量永远是不相等的(因为new生成的是两个对象,其内存地址不同)。Integer i = new Integer(100);Integer j = new Integer(100);System.out.print(i == j); //false2、Integer变量和int变量比较时,只要两个变量的值是向等的,则结果为true(因为包装类Integer和基本数据类型int比较时,java会自动原创 2021-08-02 11:45:38 · 987 阅读 · 0 评论 -
自定参数解析器HandlerMethodArgumentResolver实现将用户token中的用户信息自动解析到controller中的方法的参数中
1.创建一个HandlerMethodArgumentResolver。package com.ciih.axj.resolver;import com.ciih.axj.model.UserPlus;import com.ciih.axj.model.User;import com.ciih.axj.myAnnotations.UserIn;import com.ciih.axj.service.UserPlusService;import com.ciih.axj.service.User原创 2021-07-23 17:32:36 · 314 阅读 · 0 评论 -
当post请求 url参数和body传参存在同名参数,controller如何处理
当post请求 url参数和body传参存在同名参数,controller如何处理?后台会将同名参数两个字符串加在一起原创 2021-06-23 20:56:25 · 1128 阅读 · 2 评论 -
java 上转型对象 编译时类型和运行时类型 多态
用父类声明对象并,用子类对象初始化,例如:Son s=new Son;Father f =s;子类对象赋值给父类对象,被称为上转型。此处对象f被称为对象s的上传型对象。此时对象f的编译时类型为Father 类,运行时类型为Son 类型。这是java多态特性的体现之一。如果子类重写的父类的方法,在编译期间,我们通过f调用Father 类中的方法,而在运行期通过f调用的Son类中的方法。常见的应用场景:我们在MVC架构中的controller注入了一个service,比如 :@Resourcepri原创 2021-06-23 20:09:36 · 128 阅读 · 0 评论 -
spring boot转发HttpServletRequest到其他服务器,做到用户无感知接口代理转发
需求:接口提供方,在我们系统内提交接口,我们生成虚拟接口路径。接口使用人调用我们系统内的虚拟接口我们转发给接口提供方,然后将接口提供方的response 返回给接口使用方。可以保护接口提供方的接口地址不会暴露。 public Object sendRequest(HttpServletRequest request, HttpServletResponse response) throws IOException { String jwtToken = request.getHea原创 2021-06-10 15:22:14 · 4708 阅读 · 1 评论 -
mybatisplus代码生成器
java文件 Generator.javapackage com.ciih.elqz;import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.core.toolkit.StringUtils;import com.baomidou.mybat转载 2021-05-27 11:50:25 · 178 阅读 · 0 评论 -
springboot 利用aop切面打印请求日志request response 打印controller 请求参数及返回值
配置切面类:package com.ciih.qbbs.aspect;import com.google.gson.Gson;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;import org.springframework.context.an原创 2021-05-24 10:29:08 · 1535 阅读 · 0 评论 -
java中应当尽量循环嵌套查询,数据量比较大时查询时间会急剧增加
//java中应当尽量循环嵌套查询,数据量比较大时查询时间会急剧增加,像下面这种代码应当尽量避免public List<OrderRecord> getRecordList(User user, String orderId) { QueryWrapper<OrderRecord> orderRecordQueryWrapper=new QueryWrapper<>(); orderRecordQueryWrapper.lambda().原创 2021-04-29 13:13:10 · 632 阅读 · 0 评论 -
JAVA lambda表达式实现continue 跳出循环,lambda 中 continue outside of loop
使用 returnpublic class Test { public static void main(String[] args) throws FileNotFoundException { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.fo转载 2021-04-28 10:38:17 · 9339 阅读 · 0 评论 -
springboot2.4.4两个bean 相互依赖注入的问题
业务中遇到一种情况,有order 和order_report两张表,分别记录指令和指令下发记录。当插入指令时需要也插入一条指令下发记录;新增指令下发记录时,也要更新指令记录的当前处理人字段。于是orderService 中需要注入 orderRecordService,于是orderRecordService 中需要注入 orderService 。就导致了两个bean想互引用的情况。在springboot2.4.4版本,注解方式的相互引用不会导致启动报错,应当尽可能避免此种情况。spring的解决机制原创 2021-04-12 09:31:43 · 3818 阅读 · 0 评论