![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日学习一个小技术
文章平均质量分 61
每天学习一个小技术
java后生
相互学习,共同进步!
展开
-
Java 反射总结
Java 反射总结原创 2022-12-06 17:21:03 · 213 阅读 · 1 评论 -
Java 泛型方法总结
Java 泛型方法总结原创 2022-12-06 17:04:08 · 411 阅读 · 0 评论 -
java stream 总结
java stream 总结原创 2022-12-06 16:54:12 · 184 阅读 · 0 评论 -
EasyExcel 三分钟搞定导入导出
EasyExcel快如上手手册,希望能帮到你,我是热心肠的好人。原创 2022-10-27 16:53:11 · 5871 阅读 · 1 评论 -
MySQL 索引
1.索引目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的,如果我想找到m开头的单词呢?或者ze开头的单词呢?是不是觉得如果没有索引,这个事情根本无法完成?2.索引原理除了词典,生活中随处可见索引的例子,如火车站的车次表、图书的目录等。它们的原理都是一样的,通过不断的缩小想要获得数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺原创 2022-04-13 09:46:42 · 101 阅读 · 0 评论 -
Java 循环
前言:Java有很多种循环方式,可根据自己的业务需求进行选择1.for循环(已知循环多少次)for (int i = 0; i < 100; i++) { System.out.println(i);}2.foreachweChatUserList.forEach(openId->{ System.out.println(openId);});3.stream().forEach()weChatUserList.stream().for原创 2022-03-21 18:00:48 · 973 阅读 · 0 评论 -
Java8 CompletableFuture 多线程
参考路径:Java8 CompletableFuture 用法全解_孙大圣666的博客-CSDN博客_completablefuture目录一、创建异步任务1、Future.submit2、supplyAsync / runAsync二、异步回调1、thenApply / thenApplyAsync2、thenAccept / thenRun3、 exceptionally4、whenComplete5、handle三、组合处理1、thenCombine /原创 2022-03-18 22:07:55 · 1720 阅读 · 1 评论 -
spring 定时调度
实现方式1:最简单1.启动类上加注解 @EnableScheduling@EnableAsync //异步支持类@EnableScheduling //定时任务调用类@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})public class SmallProgramApplication { public static void main(String[] args) { S原创 2022-03-21 09:26:51 · 389 阅读 · 0 评论 -
Java easyexcel 导入导出总结
0.前提-----引入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.1</version></dependency>1.导入1.实体package org.mnur.marketing.api.dto.vo;import原创 2022-03-18 10:04:41 · 624 阅读 · 0 评论 -
SQL CASE WHEN 复杂使用
SELECT it.`transaction_batch` AS `code`, CASE WHEN (it.`source_type` ='TALLY_ORDER' and it.transaction_type in (1,2) and ( SELECT count(*) FROM mengniu_mnur.`t_tally_track` AS tat LEFT JOIN mengniu_mnur.`t_r...原创 2022-03-17 18:04:46 · 585 阅读 · 0 评论 -
Java Canal binlog 日志监控
参考地址:超详细的Canal入门,看这篇就够了!_java技术爱好者_R的博客-CSDN博客_canal有需要的参考博客!!!!!!原创 2022-03-16 14:08:25 · 502 阅读 · 0 评论 -
Java 线程池
1.线程的获取方式1.实现Runnable 接口2.继承Thread 类3.通过线程池来获取线程(四种线程池)2.线程池必要性线程是开发中常用到的,但是如果没有定义线程池,程序不断的创建,销毁线程,需要消耗很多时间,所以我们定义线程池可以减小这部分时间,我来实现AsyncConfigurer来配置线程池,先看看这个接口有什么方法3.线程池的配置package com.aty.basissmallprogr...原创 2022-03-16 11:24:00 · 117 阅读 · 0 评论 -
spring @Async 异步
@Async注解我们都知道使用@Async标注在方法上,可以使该方法异步的调用执行。而所有异步方法的实际执行是交给TaskExecutor的。关于@Async的基本知识不做讲解,只是对于使用过程中需要的注意的点做下强调废话不多数,直接上使用1.启动类上添加@EnableAsync注解/** * 小程序启动类 */@EnableAsync@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})pu原创 2022-03-16 11:03:29 · 427 阅读 · 0 评论 -
Java 实现线程安全的方式
1.创建线程的三种方式通过实现 Runnable 接口; 通过继承 Thread 类本身; 通过 Callable 和 Future 创建线程。2.线程的生命周期新建状态: 使用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序start()这个线程。 就绪状态: 当线程对象调用了start()方法之后,该线程就进入就绪状态。就绪状态的线程处于就绪队列中,要等待JVM里线程调度器的调度。 运行状态: ...原创 2022-03-14 09:59:35 · 3897 阅读 · 0 评论 -
JAVA 经典面试题:ES如何做到亿级数据查询毫秒级返回?
面试题#elasticsearch#lasticsearch在数十亿级别以上的大量数据下如何提高查询效率,做到毫秒级数据查询呢?面试官心理分析在 JAVA 高级面试中这个问题肯定是要被问及的,为什么呢,因为可以知道你有没有实际操作过elasticsearch。其实elasticsearch的性能并没有大家想象中的那么好,当数据量非常大的时候性能问题就会显现出来了。比如当有几十亿的数据的时候,跑一个查询可能需要10来秒中左右,这时候你就懵了,什么原因啊。但是你可能又发现一个现象:第一次搜索的时原创 2022-03-10 14:48:53 · 767 阅读 · 0 评论 -
sql 自关联
SELECT a.* , CASE WHEN a.parent_id != '0' THEN ( SELECT name FROM sys_menu WHERE id = a.parent_id ) ELSE 0 END AS 'parentName'FROM sys_menu aORDER BY a.sort ASC原创 2022-03-10 14:47:03 · 565 阅读 · 0 评论 -
spring @RefreshScope 配置文件自动刷新
1.在类上加@RefreshScope注解。2.引入配置@Value。/*** @author 向振华* @date 2018/12/17 17:20*/@RefreshScope //配置文件自动刷新@RestController@RequestMapping("test")public class TestController { @Value("${test.xzh}") //引入配置 private String xzh; @Requ...原创 2022-03-10 14:45:20 · 600 阅读 · 0 评论 -
Java sql 计算时间差
DATEDIFF(now(),‘目标日期’) 函数例如:SELECT db.bo_id, db.bo_code, db.bop_name, db.bop_year, db.bop_belong_delta_division, db.create_time, DATEDIFF(now(),db.create_time) as dayFROM dps_bo dbORDER BY day Asc...原创 2022-03-04 09:37:47 · 747 阅读 · 0 评论 -
java BigDecimal 四则运算 保留两位小数
BigDecimal a= new BigDecimal("10");BigDecimal b= new BigDecimal("5");BigDecimal c= null;1.加法-addc=a.add(b).setScale(2, BigDecimal.ROUND_HALF_UP);System.out.println("求和:"+ c);2.减法-subtractc= a.subtract(b).setScale(2, BigDecima...原创 2022-03-03 14:43:34 · 8568 阅读 · 1 评论 -
sql UNION ALL与UNION区别
1.UNION:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION2.UNIONALL:对两个结果集进行并集操作,包括重复行,不进行排序;如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了...原创 2022-03-03 14:31:51 · 162 阅读 · 0 评论 -
java Date与String转换
注意:实体类上的注解@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")1.Date----->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");sdf.format(new Date());2.String----->DateDateUtil.parse(startTimeStr, DatePa..原创 2022-03-02 17:30:37 · 626 阅读 · 0 评论 -
Java 实体类与Map、JSONObject(fastjson)之间的互相转化
1.Map和实体类之间的转换1.1以实体类User 为例User user = new User();Map<String,Object> map = new HashMap<>();1.2Map转为实体类User user = JSON.parseObject(JSON.toJSONString(map), User.class);1.3实体类转为MapMap newMap = JSON.parseObject(JSON.toJSONString(user),原创 2022-03-01 11:52:40 · 1932 阅读 · 0 评论 -
java 构造器
1.Java构造器作用作用:① 创建对象。②初始化成员变量。注意点:①构造器=构造方法② 构造方法的方法名要与类名一致。③ 构造方法无返回类型。④ 不能使用private修饰,会导致外部无法创建对象⑤ 可以多个构造器,构成重载⑥ 构造方法不能继承,可以使用super关键字调用2.示例/** * 测试构造器类 */@Datapublic class Aaa { private Integer code; private String msg; .原创 2022-03-01 11:41:58 · 162 阅读 · 0 评论 -
Java map转object
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version></dependency>2.使用方法Map<String, Obj原创 2022-03-01 11:50:08 · 2144 阅读 · 0 评论 -
Java json与object互转
1.Java对象--->JSON对象Student stu = new Student("公众号BiggerBoy", "m", 2);JSONObject jsonObject = (JSONObject) JSONObject.toJSON(stu);2.Java对象--->JSON字符串Student stu = new Student("公众号BiggerBoy", "m", 2);String stuString = JSONObject.toJSONString(原创 2022-02-25 11:05:55 · 5846 阅读 · 0 评论 -
java 计算目标日期间隔天数日期
/** * 计算目标日期指定时间 * @param date 目标日期 * @param amount 相隔天数 * @return Date */public static Date getWeek(Date date, Integer amount) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.DATE, amount); .原创 2022-02-25 09:57:17 · 421 阅读 · 0 评论 -
经典sql
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.oics.modules.j...原创 2019-08-06 15:59:21 · 123 阅读 · 0 评论 -
Java Excel 导出多个 sheet
Java Excel 导出多个 sheet原创 2021-12-29 17:42:49 · 2713 阅读 · 1 评论 -
解决swagger缺陷,Excel下载调试工具类
解决swagger缺陷,Excel下载调试工具类原创 2021-12-30 10:22:16 · 457 阅读 · 0 评论 -
Java 数据库设计文档 导出表结构
SELECT '表名' 表名, '表中文名称' 表中文名称, COLUMN_NAME 字段名称, COLUMN_TYPE 字段类型, COLUMN_DEFAULT 默认值, CHARACTER_MAXIMUM_LENGTH AS 最大长度, ( CASE WHEN is_nullable = 'NO' THEN '否' ELSE '是' END ) AS 是否可空, ( CASE WHEN co...原创 2022-02-25 09:40:43 · 674 阅读 · 0 评论 -
SQL批量操作大全
SQL批量操作大全原创 2022-02-18 17:59:04 · 1708 阅读 · 0 评论 -
**Java 发送http请求的两种方式**
方式一: @Resource private RestTemplate restTemplate;/** * 领劵测试方法 * @throws IOException */ @Test public void aa() throws IOException { try { //接口路径 String createOrderUrl = "https://***********...原创 2022-02-25 09:37:38 · 492 阅读 · 0 评论