自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ReentrantLock的lockInterruptibly和lock响应中断区别

这种方式对于代码阅读来说还是比较清楚的,只不过有个问题,就是如果忘了加try finally或忘 了写lock.unlock()的话导致锁没释放,很有可能导致一些死锁的情况,synchronized就没有这个风险。确实是不一样的,此时获取的锁已经不是this了,而this对象指向的class,也就是类锁。以上分析错误,m1()是this.m1(),this是该函数所属类的当前对象,其实就是task,所以是拿到task的内置锁,m1和m2是同一个内置锁。不是同一个锁,所以不能互斥,各执行各的。

2024-04-05 20:39:38 712

原创 ProtoBuf及整合到SpringBoot

protobuf是跨语言的,并且自带一个编译器(protoc),只需要用protoc进行编译,就可以编译成Java、Python、C++、C#、Go等多种语言代码,然后可以直接使用,不需要再写其它代码,自带有解析的代码。Protobuf(Google Protocol Buffer)是Google公司开发的一种跨语言和平台的序列化数据结构的方式,是一个灵活的、高效的用于序列化数据的协议。3、将生成的MessageUser.java放到对应的位置,如com\example\demo\protobuf。

2023-04-16 00:18:44 1605

原创 关于@Override toString()方法的应用

关于@Override toString()方法的应用

2023-01-28 16:11:47 450 1

原创 MyBatis学习笔记10 联合查询(二)

MyBatis学习笔记10 联合查询(二)

2023-01-26 20:03:29 339

原创 MyBatis学习笔记9 联合查询(一)

MyBatis学习笔记9 联合查询(一)

2023-01-26 19:57:17 200

原创 MyBatis学习笔记8 主配置文件

MyBatis学习笔记8 主配置文件

2023-01-26 19:36:25 94

原创 Mybatis学习笔记7 动态SQL

Mybatis学习笔记7 动态SQL

2023-01-26 19:16:48 87

原创 Mybatis学习笔记6 模糊查询like

Mybatis学习笔记6 模糊查询like

2023-01-22 19:54:52 2595

原创 Mybatis学习笔记5 resultMap配置学习

mybatis学习笔记5 resultMap配置学习

2023-01-22 18:23:11 405

原创 MyBatis学习笔记4 # 和 $的区别

MyBatis学习笔记4 # 和 $的区别

2023-01-04 23:42:06 181

原创 MyBatis学习笔记3 参数传递

MyBatis学习笔记3 参数传递

2023-01-04 23:26:20 74

原创 MyBatis学习笔记2 getMapper

MyBatis学习笔记2 getMapper

2023-01-04 11:46:34 131

原创 MyBatis学习笔记1 简单CURD

使用MyBatis实现基本CURD

2023-01-04 11:18:32 61

原创 BeanPropertyRowMapper 的用法

BeanPropertyRowMapper 的用法

2023-01-01 22:08:47 446

原创 BeanFactory(下)

BeanFactory(下)

2022-12-23 17:33:34 53

原创 BeanFactory(上)

BeanFactory(上)

2022-12-23 16:57:17 72

原创 eclipse项目如何使用IDEA打开

eclipse项目如何使用IDEA打开

2022-12-23 09:09:46 276

原创 @Configuration注解

@Configuration注解

2022-12-22 17:08:56 1995

原创 IDEA配置SpringMVC项目的tomcat启动

IDEA配置SpringMVC项目的tomcat启动

2022-12-22 10:01:18 2638

原创 ScheduledExecutorService的使用及守护线程

ScheduledExecutorService的使用及守护线程

2022-12-12 16:26:26 1072

原创 Java 8 Optional类使用的实践经验

Java 8 Optional类使用的实践经验

2022-12-12 16:01:33 100

原创 Java中类的复用

类的复用

2022-12-12 15:55:27 756

原创 Arrays.asList() 详解

Arrays.asList()详解

2022-12-12 15:34:08 18927 1

原创 Spring懒加载

Spring懒加载

2022-12-09 15:08:54 361

原创 SWAGGER注解说明

SWAGGER注解说明

2022-12-09 15:01:42 524

原创 Spring常见注解

Spring常见注解

2022-12-09 14:56:04 594

原创 lombok注解整理

lombok注解整理

2022-12-09 14:46:28 1643

原创 Java 注解(Annotation)(下)

Java 注解(Annotation)

2022-12-09 11:51:47 100

原创 Java 注解(Annotation)(上)

Java注解

2022-12-09 11:32:05 380

原创 Java泛型简介

泛型简介

2022-12-09 11:19:35 242

原创 springboot之接受数据的三种方式@requestParam,@requestBody和@PathVariable

springboot之接受数据的三种方式@requestParam,@requestBody和@PathVariable

2022-12-09 08:25:07 4332

原创 interface接口简介

interface接口简介

2022-12-09 08:09:37 213

原创 Java中双冒号(::)运算操作符

Java中双冒号(::)运算操作符

2022-12-09 07:50:33 3691

原创 可重入锁\不可重入锁+乐观锁\悲观锁+公平锁\非公平锁+可中断锁

可重入锁\不可重入锁+乐观锁\悲观锁+公平锁\非公平锁+可中断锁

2022-12-08 23:54:52 453

原创 多线程知识总结

多线程知识总结

2022-12-08 23:51:23 326

原创 多线程之countDownLatch

countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。

2022-12-08 23:44:54 220

原创 lambda之Stream流式编程

lambda之Stream流式编程

2022-12-08 22:42:40 573

原创 interface接口简介

interface接口简介

2022-12-08 22:35:19 140

原创 Java8 Stream的flatmap方法使用

Java8 Stream的flatmap方法使用

2022-12-08 22:00:52 5200 1

原创 Java终止线程的三种方式

Java 终止线程的三种方式

2022-12-08 21:57:53 1198

空空如也

空空如也

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

TA关注的人

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