JAVA
水下五米
我愿我是 孟春的风,仲夏的雨,季冬的雪。为一时之景。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pom删除<dependency>依赖后依赖还存在
maven依赖修改失效原创 2022-12-16 11:53:30 · 3800 阅读 · 0 评论 -
下载excel 导入模板
java下载excel导入模板原创 2022-10-12 21:08:15 · 765 阅读 · 0 评论 -
根据word模板补充数据下载
导出word原创 2022-08-17 11:19:20 · 1070 阅读 · 1 评论 -
java8特性Stream 常见用法
最近在开发中看到同事使用stream 进行集合的数据转换List<object> ->List<String>List<object> --> Map<Long, object>,感觉十分简单方便,上网找了一下资料学习一下Java 8 Stream | 菜鸟教程记录一下我们常见用法.stream() − 为集合创建串行流1、List<Object> --> List<String>//List原创 2022-07-13 10:59:59 · 1158 阅读 · 2 评论 -
BigDecimal 正数转换成负数、加减乘除、比较大小
BigDecimal b1= new BigDecimal("1.255").negate();原创 2022-02-25 20:06:33 · 18537 阅读 · 0 评论 -
大量数据分批处理
public static void main(String[] args) { String a ="a,b,c,d,e,s,d,r,w"; // 转换成LIST List ll = Arrays.asList(StringUtils.split(a, ",")); ; // 每次处理数据量 int bathInt = 5; // 全部人数 int totalNum = ll.s...原创 2022-02-24 14:27:26 · 758 阅读 · 0 评论 -
mybatisplus 增删改查&使用技巧
一、查询//单个查询,如果返回多条会抛异常User user = userService.getOne(Wrappers.<User>query().lambda().eq(User::getUserId, userId));//列表查询List<User> user = userService.list(Wrappers.<User>query().lambda().eq(User::getUserId, userId));// .eq == 等于原创 2022-01-11 23:08:05 · 13256 阅读 · 0 评论 -
idea使用笔记
idea默认打开的窗口只会显示一行,当打开很多窗口时,会隐藏部分窗口,想打开窗口全部显示,需要显示在多行,需要设置file --> settings --> Editor Tabs --> 勾选掉 Show tabs in one row原创 2021-12-02 15:30:26 · 913 阅读 · 0 评论 -
解决Port 8848 is already in use端口号被占用
启动项目提示:Port 8848 is already in use解决:1、打开dos窗口2、获取到端口号和线程,输入:netstat -ano|findstr 88483、使用上一步获取到的线程,杀死线程,输入:taskkill /pid 1244 /f原创 2021-11-30 15:10:35 · 5293 阅读 · 0 评论 -
Springboot项目启动执行逻辑--CommandLineRunner
我们有个需求:需要在项目启动的时候,初始化一部分数据。springboot 提供了CommandLineRunner接口实现这个功能,通过实现接口,重写原创 2021-11-06 17:31:56 · 525 阅读 · 0 评论 -
树状结构数据查询方法
需求需要查询组织架构下所有部门数据,这里层级有多深我们并不知道,所以不能通过for循环指定次数来遍历,看这个图解决方案参考了一些文档大概意思就是--使用递归(名词解释:程序调用自身的编程技巧称为递归)以下是我实现代码: /** * @Description: 获取所有的部门信息 * * @Author: chengang * @Date: 2021/11/2 16:12 * @param: parentId 父部门ID,首次.原创 2021-11-04 17:19:20 · 3287 阅读 · 0 评论 -
springBoot 创建一个定时任务
1、启动类上添加注解@EnableScheduling // 开启定时任务功能2、创建定时任务类package com.eliancloud.ding.job;import lombok.extern.slf4j.Slf4j;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;/** * 获取token 任务 *原创 2021-11-03 10:28:59 · 282 阅读 · 0 评论 -
ping 检查host域名是否成功
参考的学习文档:https://jingyan.baidu.com/article/37bce2be5f9f931002f3a2f9.html我们在host中配置了多个域名,要测试域名有没有生效可以使用ping 命令。win+R -->cmd -->回车打开命令窗口。直接 ping + host 中配置的域名成功失败参看下图...原创 2021-10-09 14:30:57 · 4514 阅读 · 0 评论 -
java 创建对象的几种方式
1、new //1、 new创建 User user = new User();2、反射a.使用Class类的newInstance方法 //Class.forName--通过类的全路径,获取类的实例, Class class2= null; try { //2.1 使用Class类的newInstance方法 //Class<User> class1=原创 2021-09-25 15:19:36 · 321 阅读 · 0 评论 -
JVM笔记
JVM位置JVM运行在操作系统上JRE--java运行时环境JVM体系结构JVM调优3、类加载器作用:加载class文件1、虚拟机自带的加载类2、启动类(根)加载器--Bootstrap3、扩展类加载器--Extension4、应用程序加载器--APP 双亲委派机制描述 某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务...原创 2021-09-24 01:16:21 · 128 阅读 · 0 评论 -
cannot resolve symbol ‘Mapper‘
检查一下后缀名,将 fxml 改成 xml改完之后果然好了!!!原创 2021-09-17 14:58:41 · 893 阅读 · 0 评论 -
logger日志打印使用占位符
一般我们logger打印日志的时候需要打印参数例:logger.info("request params:"+str);我们使用‘+’号来拼接多个需要打印的参数。这里就存在一个问题,string ‘+’ 拼接,会创建一个新的对象。当我们的参数非常大的时候。就会消耗很多的内存。执行速度也会变慢。所以我们可以使用另一种方式,使用占位符 {} 是一个英文大括号,多个参数就多个大括号,后面用逗号间隔代入参数例: logger.info("request params1:{} par原创 2021-08-13 11:42:44 · 4235 阅读 · 1 评论 -
excel 导入支持xls、xlsx
区别1、文件格式不同。xls 是一个特有的二进制格式,其核心结构是复合文档类型的结构,而 xlsx 的核心结构是 XML 类型的结构,采用的是基于 XML 的压缩方式,使其占用的空间更小。xlsx 中最后一个 x 的意义就在于此。2、版本不同。xls是excel2003及以前版本生成的文件格式,而xlsx是excel2007及以后版本生成的文件格式。3、兼容性不同。xlsx格式是向下兼容的,可兼容xls格式。java支持工具类HSSFWorkbook 处理 xlsXSSFW原创 2021-08-03 18:01:25 · 1348 阅读 · 0 评论 -
Sonar常见问题
1、Use "BigDecimal.valueOf" instead.错误代码:private final BigDecimal minimum = new BigDecimal(0.01);解决方案:private final BigDecimal minimum =BigDecimal.valueOf(0.01);2、Override "equals(Object obj)" to comply with the contract of the "compareTo(T o)"...原创 2021-06-29 16:56:58 · 1678 阅读 · 0 评论 -
list中对象按字段进行排序
对象按照某个字段进行排序对象实现Comparable 接口,重写compareTo方法注意数字和字符比较方法不一样,严格区分@Data@EqualsAndHashCode(callSuper = false)public class PicDTO extends DTO implements Comparable<PicDTO>{ private static final long serialVersionUID = 1L; /** * 图片url原创 2021-05-20 15:25:08 · 393 阅读 · 0 评论 -
json与对象、list集合之间的相互转化
1、json转成对象String jsonData="{'userid':'1001','username':'张三','usersex':'男'}";Gson gson=new Gson();Person person=gson.fromJson(jsonData,Person.class);2、jsonlist转成list对象String jsonList="[{'userid':'1001','username':'张三','usersex':'男'},"+ "{'userid'原创 2021-05-12 14:47:36 · 4092 阅读 · 0 评论 -
通过反射根据属性名从对象里获取属性值
当我们需要从一个对象里面,每次获取不同属性,那么我们是不是要 单独写N个方法呢?例如:class 有 下发标识、删除标识、类型标识等等 我们不同的场景只需要查询这个类的一个标识,那么是不是每个查询标识都搞一个方法呢?//这样我们可能要写多个,并且后续加一个 就要写一个 public String getAttribute1(String key) { // 根据key查出对象,然后从对象里面get这个属性返回 Entity entity = getSQL.原创 2021-05-08 17:30:42 · 1185 阅读 · 0 评论 -
注解Annotation使用
基础参考:https://blog.youkuaiyun.com/zt15732625878/article/details/100061528一、创建注解类修饰符 访问修饰符必须为public,不写默认为pubic; 关键字 关键字为@interface; 注解名称 注解名称为自定义注解的名称,使用时还会用到; 注解类型元素 注解类型元素是注解中内容,可以理解成自定义接口的实现部分;@Target({ ElementType.FIELD, ElementType.TYPE...原创 2021-04-06 15:59:57 · 230 阅读 · 2 评论 -
countDownLatch 控制多线程执行顺序
总结:当我们多个处理之间存在先后关系的时候,可以通过countDownLatch来控制countDownLatch 类用于多线程间//调用await()方法的线程会被挂起,它会等待直到count值为0才继续执行public void await() throws InterruptedException { }; //和await()类似,只不过等待一定的时间后count值还没变为0的话就会继续执行public boolean await(long timeout, TimeUnit .原创 2021-03-29 20:12:13 · 771 阅读 · 1 评论 -
java 阻塞队列BlockingQueue
在学习线程池创建的过程中使用到了LinkedBlockingQueue、ArrayBlockingQueue,阻塞队列,比较好奇网上了解一下,做此笔记加深印象一、阻塞队列BlockingQueue即阻塞队列,它是基于ReentrantLock,依据它的基本原理,我们可以实现Web中的长连接聊天功能,当然其最常用的还是用于实现生产者与消费者模式,大致如下图所示:在Java中,BlockingQueue是一个接口,它的实现类有ArrayBlockingQueue、DelayQueue、 Link原创 2021-03-26 15:55:10 · 276 阅读 · 0 评论
分享