自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IDEA分支菜单中merge into current和pull into current using merge的区别

参考Duplicate Git merge commands shown : IDEA-266647 (jetbrains.com)

2022-02-28 15:38:42 8321 1

转载 使用lambda简化线程创建和比较器实现(实现函数式接口Runnable、Comparator)

参考①:JDK已有函数函数式接口介绍Java 8 函数式接口 | 菜鸟教程 (runoob.com)参考②:Java之线程池和Lambda表达式 - 我想回家 - 博客园 (cnblogs.com)lambda体现的是一种函数式编程的思想, 它强调的是做什么,而不是以什么形式做。使用前提 使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。无论是JDK内置的Runnable 、Comparator 接口还是自定义的接口,只有当接口中的抽象方法存在且唯一时,才可以使用Lamb

2022-02-28 15:36:45 523

转载 JDK四种常见线程池及使用场景、两种提交任务的方法

转载:JDK 提供的线程池及使用场景 - 编程猎人 (programminghunter.com)目录四种常见线程池1.newFixedThreadPool2.newSingleThreadExecutor3.newCachedThreadPool4.newScheduledThreadPool两种提交任务的方法executesubmit如何合理地选择或者配置总结四种常见线程池JDK 为我们内置了四种常见线程池的实现,均可以使用 Executors

2022-02-28 15:35:52 3319

原创 IDEA git工具使用

[Git版本控制 —— IDE工具(IDEA) - 云+社区 - 腾讯云 (tencent.com)](https://cloud.tencent.com/developer/article/1408148)

2022-02-21 09:59:35 237

原创 JPA的@Query与@Param注解使用方式

@Query 是 JPA 中的注解,用于绑定方法和与数据库表有关的操作。它的查询语法格式分为两种,一种是数据库原生语句,这种方式需要在属性里面显式地将nativeQuery属性设置为true。另一种是 JPA 的语法格式, 这种方式需要搭配@Entity和@Table注解使用。它的参数调用格式也分为两种,一种是通过?+入参坐标的形式来调用,例如:?1。另一种则是通过:+变量名的形式调用,例如::userName。当使用第二种方式时,需要用@Param来对参数名进行映射。搭配使用: @Par

2022-02-20 19:04:55 4643

原创 java对象拷贝之BeanUtils.copyProperties() 用法

目录使用情景BeanUtils.copyProperties()注意BeanUtils是属于spring框架下beans包下的工具类BeanUtils它提供了对java反射和自省API的包装。它里面还有很多工具类,这篇文章我们介绍一下copyProperties这个方法使用情景一般当我们有两个具有很多相同属性的JavaBean实体类时,一个很常见的情况就是Struts里的PO对象(持久对象)和对应的ActionForm传统的方式对属性逐个赋值:依次的进行set,get 但

2022-02-20 19:03:48 5718

转载 2021新版intelliJ idea 单元测试设置jvm启动参数的地方

写了个junit test方法,想设置一下JVM的内存参数,竟然找不到入口,这个设置之前版本是摆在明面上的,现在把这个VM options默认给隐藏了,害得我在下面的environment variable这地方坑了很久,简直岂有此理。关键还是死活不管用,留个截图,以备不时之需。 原文链接:2021新版intelliJ idea 单元测试设置jvm参数的地方_请叫我大师兄-CSDN博客_idea2021设置jvm...

2022-02-20 19:01:48 1316 1

原创 IDEA快速定位行(复制定位路径)

转载:[(1条消息) IDEA快速定位行_gsls200808的专栏-CSDN博客_idea 定位行](https://blog.csdn.net/gsls200808/article/details/104842216)对于Code Review需要定位到同一代码分享者:右键-->copy Reference 将复制的内容发出来接收者:按两下shift 粘贴后回车对于tomcat报错日志的文件定位复制文件名,Ctrl+Shift+N ,粘贴后搜索选中,注意所在包一致复制行

2022-02-20 19:00:50 2152

原创 拦截器与过滤器的使用,拦截器与AOP的区别

使用方法介绍这篇写的比较好[Spring Boot实战:拦截器与过滤器 - liuxiaopeng - 博客园 (cnblogs.com)](https://www.cnblogs.com/paddix/p/8365558.html)廖雪峰讲拦截器用法[使用Interceptor - 廖雪峰的官方网站 (liaoxuefeng.com)](https://www.liaoxuefeng.com/wiki/1252599548343744/1347180610715681)三者对比,拦截器与A

2022-02-20 19:00:19 247

原创 Java关键字final、static使用方法大全

目录★Java关键字final、static使用方法大全一、 final1 final类2 final方法3 final变量(常量)4 final参数二、static1 static变量2 静态方法3 static代码块三、特别要注意一个问题:简单用法介绍,看例子就会:Java 枚举(enum) | 菜鸟教程 (runoob.com)更深层的介绍: 为什么要有枚举(没有枚举用什么来代替,有什么使用场景上的缺陷),枚举经过编译器的编译出的实际类型,枚举类型和

2022-02-20 18:59:53 813

原创 自定义注解教程及使用案例

2022-02-20 18:52:57 220

转载 @Controller和@RestController的区别

转载:@Controller和@RestController的区别?刚刚-CSDN博客@restcontroller官方文档: @RestController is a stereotype annotation that combines @ResponseBody and @Controller. 意思是: @RestController注解相当于@ResponseBody + @Controller合在一起的作用。1)如果只是使用@RestController注解Controller,则Con

2022-02-20 18:52:14 71

转载 Spring中 @Transactional事务管理注解用法

目录简要概述简单的使用方法@Transactional 注解的属性介绍value 和 transactionManager 属性propagation 属性isolation 属性timeout 属性readOnly 属性rollbackFor 属性noRollbackFor 属性简要概述事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通

2022-02-20 18:51:16 1084

转载 Spring事务管理中@Transactional的propagation参数

目录什么是事务传播性及其作用@Transactional 的 propagation 属性代码示例转载自Spring事务管理中@Transactional的propagation参数 - Deltamaster Tech Center - 技术宅 (is-programmer.com)关于Spring事务管理中@Transactional的其他配置问题,请参看Spring事务管理中@Transactional的参数配置 - Deltamaster Tech Center - 技术宅。什么

2022-02-20 18:49:28 783

原创 数据库的逻辑删除及其JPA实现方案

目录什么是逻辑删除#为什么需要逻辑删除#使用spring-jpa和 hibernate的@SQLDelete和@Where注解实现逻辑删除使用 Hibernate 进行逻辑删除更新当前 session 中的删除状态查询时避开逻辑删除的记录示例总结Reference什么是逻辑删除#所谓逻辑删除是指数据已经“不需要”了,但是并没有使用delete语句将这些数据真实的从数据库中删除,而只是用一个标志位将其设置为已经删除。为什么需要逻辑删除#对数据进行逻辑删除

2022-02-08 16:54:59 5484

原创 JPA @Column,@SQLDelete,@Lob注解用法

目录@Column@SQLDelete@Lob@Column转载自:JPA @Column 注解 | 範宗雲 (fanlychie.github.io)@Column 是属性或方法级别的注解,用于指定持久化属性映射到数据库表的列。如果没有指定列注释,则使用其默认值。参数 类型 描述 name String 列的名称,默认为属性的名称(Hibernate 映射列时,若遇到驼峰拼写,会自动添加 _ 连接并将大写字母改成小写)。 unique

2022-02-08 16:53:55 3942

转载 MySQL 建表时为字段添加注释

目录创建表的时候写注释修改表的注释修改字段的注释查看表注释的方法查看字段注释的方法在 MySQL 数据库中, 字段或列的注释是用属性 comment 来添加。创建新表的脚本中, 可在字段定义脚本中添加 comment 属性来添加注释。示例代码如下:create table test( id int not null default 0 comment '用户id' ) 如果是已经建好的表, 也可以用修改字段的命令,然后加上 comment 属性定义,就可以添

2022-02-08 14:51:36 6458

原创 JAVA-使用ObjectMapper实现JAVA对象和JSON对象相互转换

参考:ObjectMapper使用 - 仅此而已-远方 - 博客园 (cnblogs.com)jackson中objectMapper的使用 - 简书 (jianshu.com)

2022-02-08 10:57:41 326

原创 IDEA查看某个类的继承及接口实现关系的方法

参考:[Spring Cloud Alibaba Sentinel(二)自定义熔断异常类_CodingAnHour-CSDN博客](https://blog.csdn.net/Extraordinarylife/article/details/114916831)IDEA代码界面中,将光标停留砸死需要查看的类上,按ctrl+H快捷键即可在右侧查看到该类的继承和实现关系,从图中可以看出BlockException类继承自Exception类,同时又有五个类继承了BlockException类.

2022-02-08 10:56:59 528

原创 SpringMVC全局处理异常方法

目录方法一:使用@ExceptionHandler以及@ControllerAdvice方法二:使用HandlerExceptionResolver处理全局异常【不推荐】方法三:使用Springboot提供的全局异常处理方法参考springmvc与springboot的全局异常处理方法【附源码】_mybabe0312_51CTO博客方法一:使用@ExceptionHandler以及@ControllerAdvice在默认情况下,Springmvc会使用ExceptionHandler

2022-02-08 10:54:19 1785

原创 Spring cloud gateway中谓词&过滤器用法大全

谓词Spring Cloud Gateway 将路由作为 Spring WebFlux HandlerMapping 基础结构的一部分进行匹配。Spring Cloud Gateway 包含许多内置的路由谓词工厂。所有这些谓词都匹配 HTTP 请求的不同属性。多个谓词工厂可以通过逻辑与进行组合。l After 路由谓词工厂After 路由谓词工厂采用一个 datetime 类型的参数。此谓词匹配当前日期时间之后发生的请求。application.ymlspring:cloud

2022-02-07 20:59:18 381

原创 Sentinel自定义阻断异常处理类

目录BlockException 异常类及其子类BlockException异常默认处理类自定义BlockException异常处理参考:Spring Cloud Alibaba Sentinel(二)自定义熔断异常类_CodingAnHour-CSDN博客Spring Cloud Alibaba 服务容错 Sentinel 入门 | 码农家园 (codenong.com)在使用sentinel进行限流降级处理时,sentinel在发生blockException时默认返回仅仅是

2022-02-07 16:07:59 3046 1

原创 Sentinel流控规则之流控模式介绍

目录1.直接模式2.关联模式3.链路模式4.流控模式总结参考:Sentinel限流规则-流控模式之链路模式【图文】_mb5fd869d1d8388_51CTO博客SpringCloud Alibaba之Sentinel流控管理 - 知乎 (zhihu.com)Sentinel-流控模式之关联模式【图文】_mb5fdcae58218c5_51CTO博客1.直接模式Sentinel的流控模式代表的流控的方式,默认【直接】,还有关联,链路。Sentinel的流控效果:默

2022-02-07 14:25:20 1948

原创 springboot中RedisTemplate和StringRedisTemplate的使用

目录1.RedisTemplate和StringRedisTemplate的区别2. RedisTemplate和StringRedisTemplate的使用1.RedisTemplate和StringRedisTemplate的区别 两者的关系是StringRedisTemplate继承RedisTemplate。 两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理

2022-02-07 14:23:08 442

原创 spring boot redis序列化key-value乱码问题

问题现象最近使用spring-data-redis RedisTemplate 操作redis时发现存储在redis中的key不是设置的string值,像test:1这样的key乱码了。用Another.Redis.Desktop.Manager工具去查看时,发现变成了一串奇奇怪怪的字符串。前面还多出了许多类似\xac\xed\x00\x05t\x00这种字符串,如下图第二个key问题原因spring-data-redis的RedisTemplate<K, V>模板类在操

2022-02-07 14:21:00 759

原创 序列化和反序列化

目录1.背景知识序列化的定义为什么要序列化?什么情况下需要序列化?序列化的方式序列化技术选型的几个关键点2.JAVA序列化和反序列化Java 是如何实现序列化的?JAVA序列化中常见的问题3.Python序列化和反序列化4.跨语言序列化方式JSON序列化JSON进阶1.背景知识序列化的定义序列化:把对象转化为可传输的字节序列过程称为序列化。反序列化:把字节序列还原为对象的过程称为反序列化。为什么要序列化?如果光看定义我想你很难一

2022-02-07 14:19:03 434

原创 SpringBoot使用RedisTemplate

目录1.Redis五种基础数据结构2.SpringBoot连接Redis1 引入依赖2 配置redis连接3 编写测试类3.详解 RedisTemplate 的 API1 常用数据操作2.几种数据结构操作的具体用法1.Redis五种基础数据结构参考链接:Redis入门 - 数据类型:5种基础数据类型详解 | Java 全栈知识体系,摘抄如下,更详细见原文Redis基础文章非常多,关于基础数据结构类型,我推荐你先看下官方网站内容 (opens new window

2022-02-07 09:49:20 15409

原创 selenium自动化测试笔记

selenium可以实现web功能的自动化测试,本文主要介绍通过selenium实现UI自动化测试(脚本程序会打开浏览器自动完成一系列网站的点击滑动操作)1、使用selenium IDE录制脚本selenium最简单的使用方式就是selenium IDE录制脚本,selenium IDE是大部分浏览器拓展商店都能找到的浏览器插件,通过该插件我们可以在需要执行自动化测试的脚本上进行一系列操作,该插件能够自动记录这些操作,并根据记录结果生成脚本,可以生成python、JS、JAVA等语言的脚本程序2

2022-01-14 14:50:26 636 2

原创 git-SSH克隆远程仓库

1、生成SSH公钥和私钥参考查看本机 ssh 公钥,生成公钥,先查看本机有没有生成,没有再去ssh-keygen命令生成2、

2022-01-05 15:23:51 3344

原创 Go——数组索引

摘抄自MATLAB官方文档矩阵输入矩阵首先,以元素列表的形式输入矩阵。您只需遵循一些基本约定:• 使用空格或逗号分隔行的元素。• 使用分号 ; 表示每行末尾。• 使用方括号 [ ] 将整个元素列表括起来。要输入丢勒矩阵,只需在命令行窗口中键入即可A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]MATLAB 显示刚才您输入的矩阵:A =16 3 2 135 10 11 89 6 7 12...

2021-07-07 16:02:08 598

原创 工具使用——codeblocks快捷键

Ctrl+Shift+C 注释高亮代码 Ctrl+Shift+X 反注释高亮代码 F2 显示/隐藏信息板 Shift+F2 显示/隐藏管理板

2021-07-07 16:01:47 73

转载 Linux命令行帮助解析--各种符号意思

[]:内的内容意思是:可写可不写 例如:/home下就一个list 文件,使用ls --help中的 Usage: ls [OPTION]… [FILE]… {}:那就必须要在{}内给出的选择里选一个。 <>:表示必选命令行语法字符在命令行语法中,某些字符与格式有着特殊的意义与含义。本文档中的命令行语法使用以下字符格式:方括号 [ ]方括号 ( [ ] ) 表示里面的元素(参数、值或信息)是可选的。 您可以选择一个或多个条目,也可以不选。 不要将方括号本身也输入到命令行中。

2021-07-07 16:01:23 2316

转载 java——参数“ ...“的用法和意思(可变参数)

如这个jdbc中封装的绑定参数的方法:/** * 绑定参数 * @param pstmt * @param os */ public static void executebindParam(PreparedStatement pstmt,Object ...os){ int len = os.length; try { for (int i = 0; i < len; i++) { ...

2021-07-07 16:01:15 5035

转载 Go 中 slice 的设计和实现细节(Go 团队撰写的一篇很棒的博文)

slice用途:Go's slice type provides a convenient and efficient means of working with sequences of typed data.

2021-07-07 16:01:07 224

转载 Go——类型别名和类型定义

Golang语言中存在一个关键字type,type又有两种使用方式,一种是类型别名,一种是类型定义,是不是熟悉的C语言(define和typedef)味道?类型定义type Student struct { name String age int}type I int类型别名type Sdt = Studenttype I = int他们之间有什么区别呢?区别就是类型定义是完全定义了一种新的类型,而类型别名只是给现有的类型取了一个别名aliastype I in

2021-07-07 16:00:59 488

转载 C——typedef的作用

typedef in CThetypedefis a keyword used in C programming to provide some meaningful names to the already existing variable in theC program. It behaves similarly as we define the alias for the commands. In short, we can say that this keyword is used to...

2021-07-07 16:00:52 78

转载 Redis——在windows下设置密码

设置密码有两种方式。1. 命令行设置密码。运行cmd切换到redis根目录,先启动服务端>redis-server.exe另开一个cmd切换到redis根目录,启动客户端>redis-cli.exe -h 127.0.0.1 -p 6379客户端使用config get requirepass命令查看密码>config get requirepass1)"requirepass"2)"" //默认空客户端使用config set requirepass yo

2021-07-07 16:00:43 851 1

转载 MySQL-使用AS给表、表中的列取临时别名

别名是什么别名类似我们小时候父母给我取的小名,虽然叫法不同,但是实际上还是同一个对象。别名的作用 SQL 别名用于为表或表中的列提供临时名称。 SQL 别名通常用于使列名更具可读性。 SQL 一个别名只存在于查询期间。 别名的使用场景在下列情况下使用别名是有用的: 查询涉及多个表 用于查询函数 需要把两个或更多的列放在一起 列名长或可读性差 列的别名语法SELECT column_name [...

2021-07-07 16:00:33 3294

转载 Go by Example 中文 学习笔记

值// Go 拥有各值类型,包括字符串,整形,浮点型,布尔// 型等。下面是一些基本的例子。package mainimport "fmt"func main() { // 字符串可以通过 `+` 连接。 fmt.Println("go" + "lang") // 整数和浮点数 fmt.Println("1+1 =", 1+1) fmt.Println("7.0/3.0 =", 7.0/3.0) // 布尔型,还有你想要的逻辑运算符。

2021-07-07 16:00:25 277

转载 Go——用Println导致的占位符不起作用

占位符输出时直接打印占位符而并没替换成值,是因为使用的打印函数错误//错误的使用占位符方法package mainimport "fmt"func main(){ var a int = 10 fmt.Println("a的值为 %d\n",a)}输出结果只需要将fmt.Println 替换为 fmt.Printf1//正确的使用占位符方法package mainimport "fmt"func main(){ var a int = 10...

2021-07-06 19:15:03 514

空空如也

空空如也

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

TA关注的人

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