自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(296)
  • 资源 (6)
  • 收藏
  • 关注

原创 针对Arrays.asList的坑,可以有哪些处理措施

那么如果真的只习惯用Arrays.asList,那也是有对应的解决办法的。

2023-11-27 12:12:29 979

原创 Error querying database. Cause: java.lang.reflect.InaccessibleObjectException:

最近开发过程中,居然碰到了一个Arrays.asList的错,怎么个场景呢?传参一个用固定符号拼接的字符串,需要转成集合然后再myBatis里in判断。然后就报错了。

2023-11-24 18:27:14 1416

原创 mysql delete 执行报错:You can‘t specify target table ‘doctor_info‘ for update in FROM clause

mysql delete 执行报错:You can't specify target table 'doctor_info' for update in FROM clause

2022-08-03 13:58:37 839 1

原创 工作好多年,回忆人生--高中三年

第一次对中铁有印象,还是在初中毕业,升至高中的那个暑假里。中铁十三局坐落我们乡,需要人员整理资料,我姨夫就问我想不想去,一天80块钱。当时对于我一个小小的孩子而言,那肯定是一笔巨额的财富啊。想都没想就同意了。姨夫说人家需要两个人,让我再叫一个同学和我做个伴,我爽快的就答应了。......

2022-06-26 22:54:02 310 2

原创 mysql update执行报错:You can‘t specify target table ‘表名‘ for update in FROM clause错误

根源:分组查询想着根据需求更新一些数据,如下sql,然后报错了。(平常使用这种情况不多,在此记录一下。)错我的大概意思:**不能先select出同一表中的某些值,再update这个表(在同一语句中)**...

2022-06-19 21:37:34 1434 1

原创 利用AOP+Swagger注解实现日志记录功能

今日接到一个需求,是关于对项目的一个操作记录,想记录所有的增删改查,也就是所有的操作?想想该如何实现呢?首先肯定就想到了spring的AOP。那么如何能够更加页面化呢?如果对于项目中已经使用了swagger,那么利用起来就是一个很好的方式。...

2022-06-05 22:45:20 1036 1

原创 IDEA自带plantUML绘制时序图

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。

2022-05-29 20:44:34 2554 2

原创 jakarta.mail 附件名(MimeUtility.encodeText实现)乱码问题解决

最近用到了使用jakarta.mail发送邮件,带有附件的模式,整体流程都没问题,但是收到的附件名称有时候会乱码。

2022-05-22 21:01:24 3341

原创 谈谈对<统计需求>的一些想法

最近在做统计,大家有什么想法呢?如何才能保证性能?我看之前的一版代码,是一个统计方法里,无数操作数据库的,抛开sql的性能,光这次数都让人头疼啊。那么如何能减少这种网络传输,提高响应速率呢?版本一:加入redis缓存使用场景:如果对实时性没有很敏感的场景,我觉得用redis还是一个很不错的方式的。比如半天更新一次或者更久的时间更新一次,就很赞。缺点:实时性不好确定。版本二:减少网络传输将数据通过sql查询出来,然后通过lambda表达式实现场景需求拆分。目前我就用的这种方式,尽可能少的操作

2022-05-15 21:25:51 421

原创 nacos项目启动报错:Connection refused: no further information

Caused by: com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: /127.0.0.1:9848Caused by: java.net.ConnectException: Connection refused: no further informatio

2022-05-01 20:39:03 32096

原创 (阿里云)分布式任务调度-Schedulerx2.0

一、背景因为想写个定时任务,公司主打使用阿里云的一些列产品。所以注意到了Schedulerx2.0这个分布式任务调度模式。二、使用去看官方文档,就会发现,功能很强大,目前只用到了定时发送的需求,所以简单讲述一下使用。详情官方帮助文档1)在阿里云创建一个应用,且创建一个命名空间2)在配置文件配置schedulex2: end-point: XX 公司购买服务所对应的区域ID name-space: XX 命名空间 group-id: XX 应用ID app-key:

2022-04-24 18:12:09 5160

原创 SpringBoot jar包瘦身操作 -Dloader.path使用

一、博客来由公司有很多项目,各种各样的搭建模式。旁边同事接到了一个优化的功能,开发结束后,问我说,打包总是不生效,依赖找不到。但是本地确实没有问题。然后我看项目结构是一个依赖的关系。root项目依赖其他的子项目,通过在maven中配置子项目信息,进而形成依赖关系。打包方式就是直接通过maven生成jar包的,还特意clean了一下。但是生成的jar包也就2M,当时我还怀疑了一下怎么这么小??运维说线上也是2M。然后我就打消了我的疑虑。总不能线上也有问题吧。二、-Dloader.path使用三、

2022-04-17 21:45:43 4556

原创 spring-data-redis 实现用户登录次数限制以及冻结时间重试机制

本周收到一个优化请求,是对一个web项目实现登录用户的安全性校验,也就是实现登录次数的限制以及重试次数用完之后间隔时间再次恢复登录的功能。

2022-04-10 15:37:01 1642

原创 SpringBoot引用属性变量方式之 @@和${}的用法

整理这篇博客,主要是项目中用到了此配置,由于之前并未这么配过,所以碰到了还真有点茫然。${}和@@都是springboot引用属性变量的方式。

2022-03-27 21:47:43 6237

原创 SpringBoot 处理跨域请求

SpringBoot项目跨域实现

2022-03-20 23:22:57 1258

原创 spring注解 @EnableAsync @Async实现异步调用(实例)

@EnableAsync @Async 异步

2022-03-13 22:57:04 1241

原创 JVM 调优命令详解

通过jmap查看JVM中各个区域的使用情况 通过jstack查看线程的运行情况,比如线程阻塞,死锁 通过jstat查看垃圾回收的情况,尤其fullgc,若频繁fullgc,就得发现问题解决问题,进行调优了。

2022-03-03 21:32:39 1549

原创 Arthas在mac系统的安装与使用

Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6+, 采用命令行交互模式,可以方便的定位和诊断线上程序运行问题。Arthas 官方文档十分详细,详见:https://alibaba.github.io/arthas

2022-03-02 21:52:09 9854

原创 java 生成图片验证码

java生成图片验证码

2022-03-02 14:06:35 2973

原创 并发编程--线程池源码解析

项目中经常会用到线程池来解决一些异步任务,本篇则主要从源码角度来分析一下其执行的过程。使用过程如下:private static final ThreadPoolExecutor executor = new ThreadPoolExecutor( threadSize+1, threadSize+1, 10, TimeUnit.SECONDS ,new SynchronousQueu

2022-02-26 22:53:09 634

原创 基础重温-<构造方法>

类的构造方法主要作用是完成对类对象的初始化工作。可以执行。因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法。

2022-02-26 11:36:16 121

原创 并发编程--什么是线程?

线程是调度CPU资源的最小单位,线程模型分为KLT模型与ULT模型,JVM使用的KLT模型,Java线程与OS线程保持1:1的映射关系,也就是说有一个java线程也会在操作系统里有一个对应的线程。

2022-02-23 13:55:10 284

原创 当mysql联合索引abc遇到“比较运算符”会怎样?

上篇讲述了abc联合索引优化,详情:mysql如何优化联合索引abc使用本篇则主要来研究研究当联合索引abc遇到运算符“>或<或!=”会怎样呢?文章目录一、当联合索引abc遇到“>”或者“<”符号①a=a b>b/b②a=a b=b c>c/c一、当联合索引abc遇到“>”或者“<”符号①a=a b>b/b<b c=c②a=a b=b c>c/c<c二、当联合索引abc遇到“!=”符号①a=a b!=b c=c②a=a b

2022-02-15 09:47:26 1087

原创 并发编程--CountdownLatch结合线程池实现

在分布式项目中,通过分布式架构实现相关功能调用,这是必然存在的。我在项目中,比如商品详情信息页面的展示,分享图的合成等场景,都会涉及到好几个分模块功能获取信息。CountdownLatch则可以很好的实现类似场景的功能实现。

2022-02-11 14:49:30 1480

原创 ArrayList 循环Remove遇到的坑

ArrayList 循环remove,通过iterator的remove执行操作

2022-02-07 15:06:45 1078 1

原创 来聊聊ArrayList是如何动态扩容的,是一种怎样的机制?

调用Arrays.copyOf方法将elementData数组指向新的内存空间时newCapacity的连续空间 并将elementData的数据复制到新的内存空间

2022-02-06 18:45:28 684

原创 ArrayList源码解析

一、光说底层是采用数组的形式,怎么实现的?1)成员属性elementData定义arrayList底层是采用数组的形式,看源码我们可以看到:ArrayList 的元素存储在其中的数组缓冲区。 ArrayList 的容量就是这个数组缓冲区的长度。 添加第一个元素时,任何带有 elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA 的空 ArrayList 都将扩展为 DEFAULT_CAPACITY。transient Object[] elementDa

2022-02-06 15:26:48 944

原创 java.lang.reflect.AccessibleObject

java.lang.reflect.AccessibleObject类是Field,Method和Constructor类对象的基类。 它提供了将反射对象标记为在使用它时抑制默认Java语言访问控制检查的功能。 当使用Fields,Methods或Constructors类对象来设置或获取字段,调用方法,或创建和初始化新的类实例时,执行访问分别检查(对于public,默认(包)访问,protected和private成员) 。 在反射对象中设置可访问标志允许具有足够权限的复杂应用程序(如Java对象序列化

2022-02-04 15:11:50 705

原创 Field setAccessible()方法的作用及应用场景

设置了setAccessible为true表示反射在使用时应禁止java语言访问检查,值为false表示反射对象应强制执行java语言访问检查。

2022-01-31 09:57:20 1907 2

原创 arrayList && linkedList

很久之前曾经写过一篇关于两个list性能方面的文章性能比较测试本篇则回归底层,来了解一下两个list。标题

2022-01-24 22:21:14 327

原创 深入理解Java中的字符串

如果要操作少量的数据用 String 单线程操作字符串缓冲区 下操作大量数据 = StringBuilder 多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

2022-01-24 16:50:10 353

原创 int与Integer的==关系

基本类型通过==比较的是他们的值大小,而引用类型比较的是他们的引用地址

2022-01-24 11:42:54 1569

原创 ShardingSphere-JDBC<绑定表>避免JOIN 笛卡尔积

平常项目开发过程中,难免会使用级联查询的方式实现一些功能,分库分表之后亦是如此。但是当操作两个表的过程中,我们发现本身十条数据却出现了20条,也就是笛卡尔积现象。那么如何避免这种情况呢?第一篇我们整理了一些核心概念其中绑定表则就可以避免这种情况。...

2022-01-23 21:01:52 3958 1

原创 ShardingSphere-JDBC异常: no table route info

错误代码:Cause: java.lang.IllegalStateException: no table route info

2022-01-23 19:32:04 4234

原创 ShardingSphere-JDBC的 SPI主键生成策略

ShardingSphere主键生成策略就是使用雪花算法和UUID两种方式。这两种主要就是通过SPI的方式实现,其主要目的也是为了好扩展,也可以自行实现接口,自定义主键生成策略。插入日志输出:

2022-01-16 14:58:33 2706

原创 mysql如何优化联合索引abc使用

mysql 之前有讲述过关于索引的分类以及应用mysql索引应用本篇则主要是针对联合索引abc来进行实践操作说明。大家想找employees数据包可以查看如上链接博客。一、创建索引abc 那么acb,bac等查询条件索引生效吗?创建一个联合索引abc索引的type以及length如下:1)key-len列的计算规则2)sql执行1>abc执行explain select * from employees where uid=4 and first_name=“Cristine

2022-01-11 15:21:46 1633

原创 详解JAVA -SPI机制

一、为何写这篇文章?在看源码的过程中,总是会遇到SPI机制的源码实现,比如Dubbo,sharding-jdbc ,SpringBoot等源码都涉及到了SPI机制。今天主要是分析一下Java SPI的原理。二、 何为SPI?SPI全称(Service Provider Interface)是JDK内置的一种 服务提供发现机制。简单的理解,我觉得他就是一种动态的服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。Java中SPI

2022-01-09 19:43:39 782

原创 ShardingSphere-JDBC 的4种分片策略

不到万不得已也不会采取分库分表策略,这无疑增添了复杂度,但是当单表数据超过500万,分库分表无疑也是最好的选择。至于如何查询?这就涉及到了分片策略,四种分片策略满足了平时日常的查询处理需求。standard (标准分片策略)complex (复合分片策略)inline (行表达式分片策略)hint (Hint分片策略)...

2021-12-20 14:00:02 3550 3

原创 通过demo感知一下ShardingSphere-JDBC的强大之处

ShardingSphere包含三个重要的产品,ShardingJDBCShardingJDBC只是客户端的一个工具包,可以理解为一个特殊的JDBC驱动包,所有分库分表逻辑均由业务方自己控制,所以他的功能相对灵活,支持的数据库也非常多,但是对业务侵入大,需要业务方自己定制所有的分库分表逻辑。ShardingProxyShardingProxy是一个独立部署的服务,对业务方无侵入,业务方可以像用一个普通的MySQL服务一样进行数据交互,基本上感觉不到后端分库分表逻辑的存在,但是这也意味着功能会比较固

2021-12-17 14:59:37 1734

原创 SpringBoot(十二)源码角度解析配置文件加载优先级

Spring Boot启动会扫描application.properties或者application.yml文件作为Spring Boot的默认配置文件。在使用过程中会涉及到各种各样的配置,本篇则主要针对配置路径,看一下文件加载的前后顺序。多个配置文件配置了同样得值,会加载哪一个呢?一、内部配置的加载顺序1)配置文件前后顺序执行测试file:/config/file:/classpath:/config/classpath:/以上顺序按照优先级从高到低的顺序,所有位置的文件

2021-12-12 19:56:07 1477

aop+swagger,拦截记录日志功能

aop+swagger,拦截记录日志功能,博客会有详细描述

2022-06-05

jdk-13.0.2_osx-x64_bin.dmg.zip

jdk13

2021-12-24

College.csv

在学习pandas的时候,需要用测试数据,College.csv则是提供的一个测试数据。通过College.csv数据,我们可以很好的对pandas的DataFrame有一个很好的实践,方便我们更好的理解和学习

2020-07-01

secureCRT and secureFX

用于Linxu服务器发布服务,一个可视化软件和一个用户体验度高的发布软件

2015-12-18

mindManager2012模板文件

安装思维导图出现问题,DynaZip Unzip Error,需要删除C盘的Mindjet快捷方式(系统不同,所存在的位置则不一样,直接关键字搜索就好),然后新建一个同名的文件夹,将此模板内容复制到文件夹中即可。

2014-09-26

Win8系统添加控件

在学习VB的工程中,发现添加控件是个让人头痛的问题,经过几天的奋斗,终于解决

2013-04-28

空空如也

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

TA关注的人

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