自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

薛定谔的雄猫

坚持输出

  • 博客(57)
  • 资源 (4)
  • 收藏
  • 关注

原创 java线程池执行任务时异常被吃掉

今天在测试环境通过线程池执行任务时突然被中断,跟踪日志发现代码跑到一半后面的日志就不再打印,而且也没有任何异常堆栈信息,也就是说程序执行被中断了,后面反复尝试经排查发现是线程池使用不当导致。

2023-12-19 22:34:09 649

原创 IDEA代码补全不能导入某个类了

idea代码补全功能排除某个类或者包setting -> code completion -> configure classes excluded from completion

2023-12-18 22:27:05 449

原创 实现一个简单的OGNL解析器

对象导航图语言(Object Graph Navigation Language),简称,它是一种功能强大的表达式语言,经过它简单一致的表达式语法,能够存取对象的任意属性,调用对象的方法,遍历整个对象的结构图, 实现字段类型转化等功能。它使用统一的表达式去存取对象的属性。这样能够更方便直观的取得数据。

2023-12-02 13:40:05 506

原创 Mybatis单元测试,不使用spring

平时开发过程中需要对mybatis的Mapper类做单元测试,主要是验证语法是否正确,尤其是一些复杂的动态sql,一般项目都集成了spring或springboot,当项比较大时,每次单元测试启动相当慢,可能需要好几分钟,因此写了一个纯mybatis的单元测试基类,实现单元测试的秒级启动。

2023-07-23 16:48:44 1108

原创 获取泛型参数实际类型的三种方式

获取泛型参数实际类型的三种方式,获取List泛型中的实际类型,获取Map泛型中的实际类型,获取泛型参数的实际类型

2023-07-09 22:32:47 2218

原创 Oracle报错 ORA-01502 索引不可用--重建索引

Oracle字段VARCHAR2类型改为CLOB类型后导致表的索引失效;ORA-01502: 索引 ‘TESTDATA.IDX_USER_ID’ 或这类索引的分区处于不可用状态;Oracle字段改为CLOB类型方法(避免采坑);Oracle重建索引。

2022-04-19 20:35:32 2954 2

原创 Hibernate Validator 总结大全

hibernate validator 校验框架总结大全,包含简单对象校验、嵌套对象校验、自定义校验器、类级别的校验器、容器级别的校验器、分组校验GroupSequence、动态分组校验DefaultGroupSequenceProvider、包含EL表达式错误消息模板等内容,囊括大多数业务场景开发的校验案例。

2022-04-10 21:06:52 2271

原创 Lambda表达式秒用——SerializedLambda序列化

SerializedLambda详解, lambda表达式序列化, Mybatis-Plus之LambdaQueryWrapper原理

2021-08-01 15:53:42 4551 8

转载 转载:IO多路复用

为了讲多路复用,当然还是要跟风,采用鞭尸的思路,先讲讲传统的网络 IO 的弊端,用拉踩的方式捧起多路复用 IO 的优势。为了方便理解,以下所有代码都是伪代码,知道其表达的意思即可。Let's go阻塞 IO服务端为了处理客户端的连接和请求的数据,写了如下代码。listenfd=socket();//打开一个网络通信端口bind(listenfd);//绑定listen(listenfd);//监听while(1){connf...

2021-07-24 17:02:24 2251

原创 MAC VMware Fusion Centos 设置静态IP

虚拟机网络配置设置为NAT模式这种模式最简单,这样虚拟机与本机mac是互通的,也可以同你的mac一起上外网。找NAT的网关cd "/Library/Preferences/VMware Fusion/vmnet8"> cd "/Library/Preferences/VMware Fusion/vmnet8"> ls -lttotal 24-rw-r--r-- 1 root wheel 18 5 30 11:15 nat.mac-rw-r--r-- 1 root

2021-05-30 19:24:32 391

原创 Oracle数据表字段varchar2改为clob导致索引失效

ORA-01502: 索引或这类索引的分区处于不可用状态;ora-01502 index or partition of such index is in unusable state;alter index rebuild;oracle重建索引;Oracle索引失效;select index_name, status from user_indexes;oracle索引的状态;

2021-05-30 15:18:20 781

原创 macOS使用iTerm2配置ssh连接并且支持rzsz

使用iTerm2快捷连接SSH;iterm2快捷登录ssh;iterm2支持rzsz; mac安装sshpass;mac安装rzsz;mac安装iterm2-zmodem;brew install laggardkernel/tap/iterm2-zmodem

2021-05-30 13:05:27 848 1

原创 如何在 mac os 上双开微信?

mac上双开微信 ,automator制作第二个微信, automator制作Mac应用程序 ,Mac应用程序图标替换 , Mac怎么同时登录2个微信

2021-02-21 18:20:04 2308 2

原创 Redis持久化方式——RDB|AOF

redis是一种内存数据库,为了保证数据的持久性,提供了三种持久化方案:RDB、AOF、混合方式。

2020-11-08 18:04:05 148

原创 SpringMVC跨域配置——如何设置多个Access-Control-Allow-Origin

跨域问题 , 后端允许跨域设置 , springmvc跨域设置 , Access-Control-Allow-Origin 配置多个域名,XMLHttpRequest cannot load 'Access-Control-Allow-Origin' header is present on the requested resource , Origin is therefore not allowed access

2020-09-04 18:26:43 11461 2

原创 docker实践总结——容器与Linux进程

思考docker容器启动之后会有相应的Linux进程,容器与进程是怎么样的对应关系?一个容器一个进程吗,还是一个容器多个进程?容器与进程docker ps 查看所有已经启动的容器,从第一列找到一个[容器ID] ,下一步备用;ps -ef |grep [容器ID] 查看该容器对应的进程信息,从中找到 进程ID,下一步备用;pstree -ap [进程ID] 看到该容器的进程树信息。命令执行结果如下:进程树分析从上面截图中我们发现:父进程22745是容器的进程,这个进程下面还有多个 bas

2020-08-31 15:01:27 1477

转载 Spring Cloud 入门总结

来源:FrancisQ链接:juejin.im/post/6844904007975043079首先我给大家看一张图,如果大家对这张图有些地方不太理解的话,我希望你们看完我这篇文章会恍然大悟。首先我给大家看一张图,如果大家对这张图有些地方不太理解的话,我希望你们看完我这篇文章会恍然大悟。总体架构什么是Spring cloud构建分布式系统不需要复杂和容易出错。Spring Cloud 为最常见的分布式系统模式提供了一种简单且易于接受的编程模型,帮助开发人员构...

2020-08-23 19:03:36 223

转载 Linux进程间的通信——管道 | 消息队列 | 共享内存 | 信号量

本文为转载文章,原文链接:https://blog.csdn.net/qq_34827674/article/details/107678226正文每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。Linux 内核提供了不少进程间通信的机制,我们来一起瞧瞧有哪些?管道如果你学过 Linux 命令,那你肯定很熟悉「|」这个竖线。$ ps auxf | grep mysql1上面命令行里的「|.

2020-08-23 18:50:05 524

原创 MyBatis思维导图——知识点梳理

MyBatis思维导图,MyBatis知识点总结,Mybatis学习图,MyBatis知识点复习

2020-08-23 16:33:22 620

原创 Typora实现Markdown云笔记——Typora+有道云笔记+PicGo+阿里云OSS

Typora+有道云笔记+PicGo+阿里云OSS, 实现Markdown云同步

2020-08-21 21:16:14 8953 8

原创 IDEA快速提取maven项目依赖版本号

IDEA的pom.xml文件中将dependency依赖版本号提取出来,IDEA maven项目版本号快速提取,IDEA ctrl+alt+v 快捷键无效,或者被占用的解决方法,IDEA 快捷键冲突修复。

2020-07-29 16:23:43 5658 1

原创 问题记录——MybatisGenerator查询字段自动去空格问题

问题使用mybatis做数据插入时,字符前后的空格总是被自动去掉了,后来发现是 Mybatis Generator 生成的代码有问题,对于字符类型的字段,自动做了调用了 string.trim() 方法。解决修改 generatorConfiguration 配置文件,将generatorConfiguration -> javaModelGenerator中的trimStrings属性设置为false即可:<!-- 生成model模型,对应的包,存放位置可以指定具体的路径,如/Pro

2020-07-28 19:54:01 3023

原创 问题记录——正则表达式匹配控制符

问题前端用xterm.js通过websocket连接docker虚拟终端,返回的字符中包括如下字符串,其中有两个控制字符,“ESC"和"BEL” ,想通过正则表达式匹配这一段字符,然后去掉这段字符:参考文档控制字符编码表转义符对照表通过上面查询得知,"ESC"和"BEL"这两个控制符的ASCII码分别为:十进制为27和7,十六进制为0x1B和0x07,转义符分别为:\e和\a代码**注意:**直接使用ASCII码匹配是不行的,一定要用转义符才行。如下测试代码中,只有regex3才能匹

2020-07-28 14:55:36 941

原创 记一次windows蓝屏的解决方法——快速启动惹的祸

第一次开机蓝屏,windows10蓝屏解决方法, Windows10快速启动原理, Windows关机和休眠的区别,如何关闭Windows10快速启动,如何开启windows10快速启动。

2020-07-09 14:29:02 6485 6

原创 阿里云OSS访问权限配置——RAM权限控制

阿里云RAM对OSS某一目录进行访问控制

2020-07-04 17:07:45 4860

原创 同账号下阿里云ecs克隆——通过镜像更换系统

买了服务器A,装机完后,又买了服务器B,但是不想又重新装一遍机,软件太多了,都是重复性的工作,于是可以将服务器A的系统克隆到服务器B。就和Windows的GHOST装系统类似。 分为两个步骤: 首先,将服务器A做成系统镜像(自定义镜像);然后,如果服务器B正在购买,则在选配置时,操作系统选择上面的自定义镜像即可;如果服务器B已经购买了,则直接将B的操作系统更换为上面的自定义镜像即可,下面就是以这种情况做说明的。 这种情况可能会遇到网卡配置冲突的问题。

2020-07-04 11:00:42 1535

原创 程序员必须知道的几个Excel技巧——批量生成sql脚本

根据Excel数据批量生成sql脚本,Excel字符替换函数SUBSTITUTE,Excel去引号函数CLEAN,Excel去空格函数TRIM,Excel的IF函数,Excel字符拼接,Excel自动填充生成sql脚本。

2020-06-20 21:01:09 955

原创 阿里云OSS上传报错: You have no right to access this object because of bucket acl

阿里云图片上传报错 com.aliyun.oss.OSSException: You have no right to access this object because of bucket acl ,[ErrorCode]: AccessDenied ,com.aliyun.oss.common.utils.ExceptionFactory.createOSSException , OSS权限控制 , RAM访问控制 , 权限策略配置 , 权限策略管理

2020-06-12 19:35:50 31170 10

原创 java8集合Stream之reduce聚合函数——看这篇就够了

java8 集合 stream reduce 聚合 , java8 reduce 方法中第三个参数 combiner 作用 , BinaryOperator<U> combiner , BinaryOperator combiner , combiner , reduce(U identity, BiFunction<U, ? super T, U> accumulator, BinaryOperator<U> combiner) , lambda表达式

2020-06-11 14:25:44 21100

原创 thymeleaf 动态生成表格-换行问题-每隔n列换一行——新方式

用到的标签和函数numbers.sequence(from,to)函数 生成一个从from到to的序列;th:with 定义局部变量,可以配合td:block标签使用,也可以定义在其他标签之内;th:block 功能标签,标签本身不会输出为一个html元素,只是用来做取值或者循环等功能性用途。th:each 用于遍历数组的标签。具体说明详见 thymeleaf 动态生成表格th:if 用做逻辑半段,满足条件则输出html,不满足则不输出。示例代码通过userList数组生成一个表格,表格的每一

2020-05-22 15:00:11 3381 1

原创 docker实践总结——基于容器制作镜像

一、说明学习docker有一段时间了,今天来做一个定制化的容器:centos+python+一些第三方python包,容器要复用的话需要形成镜像(一次定制n次使用)。在定制过程中也遇到了不少问题,现将其记录下来方便后续回看。好记心不如烂笔头!需要用到的docker命令:docker pulldocker rundocker execdocker commitdocker savedocker loaddocker exportdocker importdocker命令使用详见:do

2020-05-20 16:39:29 749

原创 docker实践总结——centos安装docker

说明本示例是在centos7中通过yum安装docker 。由于执行yum需要root权限, 所以通过yum安装,需要切换到root用户,或者使用sodo。查看系统版本查看centos版本:lsb_release -a$ lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarchDistributor ID: CentOSDescription: CentOS Linux release 7.7.1908 (Core)

2020-05-19 21:26:36 481

原创 docker实践总结——docker常用命令

介绍docker之前就有过了解,最近工作中有用到,便准备系统的学习一下,顺便通过博客的形式做笔记。docker和虚拟机(如VMware)的区别:docker比虚拟机要轻量级,虚拟机是模拟硬件,然后在虚拟的硬件上安装操作系统,操作系统是本身就是重量级软件,而docker则是基于容器的虚拟化技术,你可以把容器理解为沙箱环境,在Linux中是基于cgroups来实现的,容器中只会有需要运行的应用以及它依赖的必要库(比如依赖一些操作系统的必要库文件,而不向虚拟机一样需要整个操作系统)。举个例子,假设

2020-05-11 18:22:42 579

原创 如何优雅的替换掉代码中的ifelse

平时我们在写代码时,需要针对不同情况处理不同的业务逻辑,用得最多的就是if和else。 但是如果情况太多,就会出现一大堆的“if else”,这就是为什么很多遗留系统中,一个函数可能出现上千行的代码。当然你说可以通过抽取方法或者类来实现,每一个情况交给一个方法或者对应一个类来处理,但是这样做只是看起来代码整洁了一些,还是有大量的”if else",后面有新的逻辑时,又要添加更多的“if else",没有从根本上解决问题。

2020-04-30 15:06:39 50429 31

原创 将阿里云OSS挂载到Linux目录——ossfs

使用背景前段时间使用阿里云oss,需要在前端编译完成后,将编译好的某些静态资源文件上传到oss(如js,图片等),主要是为了结合阿里云CDN做缓存,增加页面访问速度。这时需要在编译完成后增加上传oss的动作,之前一直使用ossutil来上传。这个工具有一些弊端,比如上传文件时,他会挨个对比上传的每一个文件和oss中已有的文件,遇到文件名相同的,它会对比文件的修改时间,如果这个同名文件的修改时...

2020-01-14 19:41:08 4693

原创 Jenkins在历史中展示构建者和分支名

通过在构建后执行Groovy脚本来实现。1. 安装两个插件(1)安装“user build vars plugin”插件。在“系统管理->插件管理->可用插件”中搜索插件名“user build vars plugin” ,由于我已经安装了所以截图中搜索不出来。选中搜索出来的插件后,点击“直接安装”即可。(2)安装“Groovy Postbuild”...

2019-12-28 18:08:12 2195

原创 shell脚本测试url是否通

最近在写双机部署的shell脚本,需要通过测试指定的url来确定项目(springboot)是否启动成功,思路:通过curl命令来访问指定的urlcurl -I -m 10 -o /dev/null -s -w %{http_code} http://localhost:8080/testcurl参数说明:-I --head 仅返回头部信息,使用HEAD请求-m 10 最多查...

2019-12-25 20:47:02 2859

原创 sshpass报错Host key verification failed.

sshpass连接时报错Host key verification failed.ssh命令登录不能带密码,需要再次从命令行输入密码确认的。sshpass可以带密码进行免确认的ssh登录,且后面可以携带需要执行的命令。密码中有特殊符号需要用单引号引起来。最近在使用sshpass进行scp跨机器拷贝时总是报错:sshpass -p ‘123#456’ scp -r -P 3577 /hom...

2019-12-25 20:16:02 9120 1

原创 Mysql带条件的count()

SELECT COUNT(IF(group_no=‘test01’,NULL,group_no)) FROM user_info ;

2019-11-29 13:48:14 2767

原创 ThreadLocal在线程池中被串用

问题分析在之前的文章中(文章连接如下):Mybatis拦截器结合ThreadLocal实现数据库updateTime等操作字段的更新我们用通过ThreadLocal来设置当前请求的登录用户信息,用于在DAO层记录数据库的操作人信息,流程如下:用户发起请求,需要进行登录校验的请求都会通过一个SecurityFilter的过滤器,而不需要登录校验的请求则不会经过这个过滤器;在Securit...

2019-11-15 21:56:14 1651

Typora_for_mac.dmg

Typora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、Linux 三个平台的版本,是完全免费的。支持自定义图床、根据标题级别显示大纲等功能,用起来非常舒服。

2020-09-05

MyBatis思维导图.png

Mybatis知识点梳理思维导图:开发方式、配置、关联查询、延迟加载、动态SQL、缓存(一级缓存、二级缓存)、逆向工程、插件开发

2020-08-23

ffmpeg-20190705-a514244-win64-static.zip

FFmpeg has always been a very experimental and developer-driven project. It is a key component in many multimedia projects and has new features added constantly. ... ...

2019-07-06

空空如也

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

TA关注的人

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