自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 ECharts图标 react中作为组件使用

【代码】ECharts图标 react中作为组件使用。

2023-06-14 18:05:13 229

原创 Antd时间轴Timeline遍历数据

Antd时间轴遍历数据。

2023-06-06 16:01:14 852

原创 为什么大多数编程语言中,数组要从 0 开始编号,而不是从 1 开始呢

从数组存储的内存模型上来看,“下标”最确切的定义应该是“偏移(offset)”。前面也讲到,如果用 a 来表示数组的首地址,a[0]就是偏移为 0 的位置,也就是首地址,a[k]就表示偏移 k 个 type_size 的位置,所以计算 a[k]的内存地址只需要用这个公式:a[k]_address = base_address + k * type_size但是,如果数组从 1 开始计数,那我们计算数组元素 a[k]的内存地址就会变为a[k]_address = base_address + (k-1

2022-02-10 17:33:13 632

原创 MYBATIS批量插入大量数据导致IDEA卡死

/** * @author evan * @Title: * @Description: * @date 2021-10-5 10:18 */public class InsertData { public static void main(String[] args) { //Connection连接对象 Connection con = null; //jdbc驱动 String driver = "com.mysql

2021-10-13 16:32:36 1113

原创 JVM 默认垃圾回收器是什么

写个测试的Demo下面是在JDK8环境下测试# 生成 Demo.java 文件$ cat > Demo.java << eofpublic class Demo {> public static void main(String[] args){> System.out.println("hello...");> }> }> eof# 编译出 Demo.class$ javac Demo.java# 执行 Demo.c

2021-09-08 14:46:40 1011

原创 count(*) count(1)与count(字段)的区别

一、执行结果count(*) 和count(1) 都是统计行数,而count(col) 是统计col列非null的行数二、执行计划MyISAM与InnoDB,正如在不同的存储引擎中,count(*)函数的执行是不同的在MyISAM存储引擎中,count(*)函数是直接读取数据表保存的行记录数并返回,效率很高,但是如果添加了where条件的话,MyISAM表也不能返回得很快。在InnoDB存储引擎中,count(*)函数是先从内存中读取表中的数据到内存缓冲区,然后扫描全表获得行记录数。在使用coun

2021-08-31 16:00:04 6046

原创 @Transactional事务中发送MQ消息,事务还未完成但是消息已经发送

@Transactional事务中发送MQ消息,事务还未完成但是消息已经发送这种情况会导致一些问题:1.事务还未提交,但是消息已经发送,这个时候消息中的一些信息提供给别人调用,但是别人调用并没有在数据库找到该记录(因为事务还未提交)2.事务还未提交,但是成功的消息已经通知了别人,这时候事务因为某些原因出错回滚,但是别人却已经收到了成功的通知解决办法:事务提交后再发送消息@Componentpublic class AmqpTemplateHelper { @Autowired

2021-08-24 18:58:11 2185 2

原创 HashMap与ConcurrentHashMap深入解析

ConcurrentHashMap在 jdk1.7 和 1.8 中具体实现稍有不同jdk1.7如图所示,是由 Segment 数组、HashEntry 组成,和 HashMap 一样,仍然是数组加链表。Segment 是 ConcurrentHashMap 的一个内部类,主要的组成如下:static final class Segment<K,V> extends ReentrantLock implements Serializable { private static

2021-08-11 15:18:16 235

原创 ThreadLocal使用及源码深度解析

ThreadLocal的作用主要是做数据隔离,填充的数据只属于当前线程,变量的数据对别的线程而言是相对隔离的,在多线程环境下,可以防止自己的变量被其它线程篡改。会用在什么场景?1.Spring实现事务隔离级别的源码Spring采用Threadlocal的方式,来保证单个线程中的数据库操作使用的是同一个数据库连接,同时,采用这种方式可以使业务层使用事务时不需要感知并管理connection对象,通过传播级别,巧妙地管理多个事务配置之间的切换,挂起和恢复。Spring框架里面就是用的ThreadLoca

2021-08-11 11:16:58 295

原创 分库分表Sharding-JDBC

Sharding-JDBC是ShardingSphere的其中一个模块,由当当开源git源码地址官方文档使用实例认识Sharding-JDBC核心:解析–路由–改写–执行–归并

2021-07-28 10:01:13 102

原创 排序算法:归并排序

/** * evan */public class MergeSort { public static void main(String []args){ int []arr = {9,8,7,6,5,4,3,2,1}; sort(arr); System.out.println(Arrays.toString(arr)); } public static void sort(int []arr){ //在排序前,先建.

2021-06-15 17:56:49 84

原创 Mysql---limit 分页效率逐渐降低,及解决方案

1、直接使用数据库提供的SQL语句 limit M ,NSELECT * from user limit 0 , 10 ; -- 0.034sSELECT * from user limit 100 , 10 ; -- 0.074sSELECT * from user limit 1000 , 10 ; -- 0.087sSELECT * from user limit 10000 , 10 ; -- 0.102sSELECT * from user limit 100000 , 10 ;

2021-06-10 14:26:05 562 1

原创 解析sql获取表名Utils

public static List<String> listTableNames(String sql, String dbType) { List<String> res = new ArrayList<>(); List<SQLStatement> sqlStatements = SQLUtils.parseStatements(sql, dbType); for (SQLStatement sql...

2021-06-02 14:57:55 446

原创 MYSQL统计最近一年/一周的数据,要求没有数据的日子或者月份,要显示为0

最近一周(其中t_dc_bi为我的表名,CREATE_TIME为我的时间字段名)SELECT a.day,IFNULL(b.total , 0) totalFROM (SELECT DATE_FORMAT(CURDATE(), '%Y-%m-%d') AS `day` UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 1 DAY), '%Y-%m-%d') AS `day` UNION SELECT DATE_FORMAT((CURDATE() -

2021-06-01 14:33:28 405

原创 MYSQL查询今天、昨天、上周、上月

今天select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) 近30天SELECT * FROM 表名 where DATE_SUB(C

2021-06-01 14:22:58 167

原创 java代码生成器

使用mybatis-plus的代码生成器,能够在开发中帮助我们节省很多时间第一步:导包 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.1.tmp</version>

2021-05-07 15:27:27 588

原创 非原子的64位操作

当线程在没有同步的情况下读取变量时,可能会得到一个失效的值,但至少这个值是由之前的某个线程设置的值,而不是一个随机的值,这种安全性保证也被称为最低安全性。最低安全性适应于绝大数变量,但是存在一个例外:非volatile类型的64位数数据变量(double和long)。java内存模型要求,变量的读取操作和写入操作都必须是原子操作,但是对于非vloatile类型的long和double变量,JVM允许将64位的读操作或者写操作分解为两个32位的操作,当读取一个非volatile类型的long变量时,如果对

2021-04-16 16:43:49 167 1

原创 volatile

volatile是java虚拟机提供的轻量级的同步机制三大特性:1,保证可见性 2,不保证原子性,3,禁止指令重排JMM(java内存模型java memory model),本身是一种抽象的概念并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式.jmm关于同步的规定1,线程解锁前,必须把共享变量得值刷新回主内存2,线程加锁前,必须读取主内存得最新值到自己得工作内存3,加锁解锁是同一把锁由于jvm运行程序的实体是线程

2021-04-16 16:13:24 74

原创 快速排序

static void quickSort(int[] arr, int l, int r) { if (l >= r) { return; } int left = l; int right = r; int pivot = arr[left]; while (left < right) { while (left < right &am...

2021-04-15 16:32:39 93

原创 CheckStyle, 强制遵循编码规范,集成IDEA配置

如何将CheckStyle引入到maven构建中<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.10</version> <executions> <execution>

2021-03-31 15:26:46 702

原创 FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换

一, result格式{ "success":"true"; "name":"Evan" } //转换成object JSONObject object=JSON.parseObject(result); //获取object中returnAddress字段; object.getString("name") 二.result格式:{ "success":"true"; "data":

2021-03-24 15:17:16 143 1

原创 发送http请求调用接口

try { URL url = new URL(“填入你的url”); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); // 设置可输入 connection.setDoOutput(true); // 设置该连接是可以输出的 c...

2021-01-20 13:51:55 190

原创 java foreach循环删除报错

java使用foreach 进行删除数据时,出现错误:例如: List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); for (String str: list) { if ("c".equals(str)) { list.remove(s

2021-01-19 11:12:56 413

原创 Antd的Transfer穿梭框Tree树穿梭框搜索筛选数据

antd的官方示例demo中有普通的transfer按照条件筛选数据,只需要添加API参数:showSearch,但是在Tree树穿梭框中会失效,并不能筛选出,而官方实例也没有给出解决示例,这里给出一个解决方法查看API:发现onSearch 搜索框内容时改变时的回调函数利用该参数一个实现思路就是在你的onSearch里面去筛选你的dataSource数据:另外官方给的树形穿梭框示例会导致滚动条不可使用,这里需要单独设置:树结构:另一边:根据官方组件结合自己的数据业务场景修改,附上我

2021-01-19 10:33:41 9202 3

原创 Yapi集成idea使用

一、关于YAPI的搭建yapi搭建内网部署官方文档二、idea中使用yapi插件自动生成yapi接口1、在idea的plugin中搜索easy-yapi插件,安装后重启idea2.配置Yapi地址项目的token配置:将项目的yapi的token填写到此处,可以一次配置多个。打开YAPI找到项目,设置==>token配置,复制token填写即可3.我们想要生成Yapi文档的Controller配置controlle配置:方法配置:使用方法:在方法上/** 回车4.将接口配

2021-01-18 19:20:18 5218

原创 GitLab分支合并

如图:

2021-01-08 21:55:13 152

原创 解决 MyBatis-Plus 更新对象设空值无法跟新为空

因为 MyBatis-Plus 自带的更新方法,会对对象空值进行判空。只有不为空的字段才会进行数据更新。在实体类对应的字段上加注解**@TableField(strategy=FieldStrategy.IGNORED)**,忽略null值的判断,例如:@TableField(updateStrategy = FieldStrategy.IGNORED)private String company;...

2020-12-15 15:45:10 1083

原创 CRON表达式翻译为中文描述工具类

package com.shxgroup.datacloud.api.utils;import lombok.experimental.UtilityClass;import org.apache.commons.lang.StringUtils;/** * CRON处理工具类 * * @author evan 2020/11/23 12:12 */@UtilityClasspublic class CronUtil { /** * CRON表达式翻译为中文描述

2020-11-23 10:34:32 1316 1

原创 idea项目能正常启动,但是不能访问,微服务调用报错,有时候过了很久才能访问

微服务调用报错:feign.RetryableException: Read timed out executing GET直接调用项目也报错:但是项目idea显示已经启动成功。刚开始一直以为是服务没有注册上,后来发现其实是idea的命名空间文件有问题,删除后重新配置就可以了,如图:只需要将workspace.xml这个文件删除即可,然后重新配置项目就可以了...

2020-11-19 17:41:15 1758

原创 MySQL索引,InnoDB和MyISAM对比,聚簇索引,非聚簇索引,覆盖索引

索引的优点:1.索引大大减少了服务器需要扫描的数据量2.索引可以帮助服务器避免排序和临时表3.索引可以将随机I/O变为顺序I/OMySQL数据库中InnoDB存储引擎,B+树索引可以分为聚簇索引(也称聚集索引,clustered index)和辅助索引(有时也称非聚簇索引或二级索引,secondary index,non-clustered index)。这两种索引内部都是B+树,聚集索引的叶子节点存放着一整行的数据。InnoDB使用的是聚簇索引,MyISAM使用的是非聚簇索引InnoDB中的主

2020-11-18 19:04:26 755

原创 mysql数据库为什么会出现死锁,又怎么解决?

死锁是指两个或者多个事务在同一资源上相互占用,并请求锁定对方占用的资源,从而导致恶性循环的现象。当多个事务同时锁定同一个资源时,也会产生死锁。例如,下面两个事务同时处理User表:事务一 START TRANSACTION; UPDATE User SET age=18 WHERE id=3; UPDATE User SET age=20 WHERE id=4; COMMIT;事务二 START TRANSACTION; UPDATE User SET age=18 WHERE

2020-11-18 14:32:34 536

原创 大数据技术之Hadoop基础内容了解

一.Hadoop是什么?1.Hadoop是一个由Apache基金会所开发的分布式系统基础架构2.用来解决海量数据的存储和海量数据的分析计算问题3.广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈二.Hadoop的优势1.高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失2.高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点3.高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理

2020-11-03 18:40:47 182

原创 Java SSH远程执行Shell脚本实现,以及此过程中bash: xx: command not found解决方案

首先我们需要先引入依赖Jar包:ganymed-ssh2-build210.jar <dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2</artifactId> <version>build210</version> </depende

2020-09-23 16:12:00 1138

原创 ant-design-pro的ProTable中column中设置valueEnum属性

如果是给定得默认值,如图:或者先定义 const enumList = { 0: { text: '未过期' }, 1: { text: '已过期' }, };------------------------然后使用---------------------------- { title: '是否过期', dataIndex: 'overdue', key: 'overdue', alig

2020-08-07 14:10:53 14268 8

原创 阿里云服务器中安装tomcat启动之后为何仍旧无法访问

阿里云服务器中安装tomcat启动之后为何仍旧无法访问,如图:这其实是阿里云安全组策略,只需要再阿里云上把端口加上就好了,如图:然后再次访问,结果如图:

2020-08-07 11:30:12 385

原创 antd design pro 之「PageHeaderWrapper」

<ProTable columns={columns} request={ ()=> methodName()} />其中columns是对应字段显示的格式如下 columns = [ { title: '用户名', dataIndex: 'username', }, { title: '密码', dataIndex:.

2020-07-03 10:36:35 2116 1

原创 poi方式的EXcel文件导入导出03版xls,07版xlsx

首先导入需要的依赖 //03xls <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.9</version> //07xlsx <dependency>

2020-06-20 15:52:26 238

原创 建一个内容分发脚本,解决对多台机器的相同操作,例如把某一文件拷贝到所有集群机器上

首先 cd ~ vim xsync然后写入内容 #!/bin/bash#1. 判断参数个数if [ $# -lt 1 ]then echo Not Enough Arguement! exit;fi#2. 遍历所有目录,挨个发送for file in $@do #4.5 判断文件是否存在 if [ -e $file ] then #3. 获取父目录 pdir=$(cd -P $(dirname $file);

2020-05-28 15:24:07 296

原创 Java计算时间区间内工作日天数

计算时间区间内的工作日天数,很明显正常情况下,周一到周五工作,周六周日休息,但是在这其中有些日子需要被特殊对待,比如法定节假日,或者一些因为节假日被调休的周末需要工作,再或者根据公司单位的要求不同 设定特殊的工作或休息日。import org.apache.commons.lang3.time.DateFormatUtils;import java.text.SimpleDateForma...

2020-03-24 15:05:20 1208 1

原创 Element UI的el-popconfirm绑定按钮事件

<el-popconfirm title="您确定删除吗?" confirmButtonText='好的' cancelButtonText="取消" @onConfirm="绑定的确定方法" @onCancel="绑定的取消方法"> <el-button slot="reference" typ...

2020-03-16 16:58:48 2974

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除