随笔分类 - Java
StampedLock快速入门
摘要:StampedLock是Java 8引入的一种乐观读锁和悲观写锁的实现,它提供了一种更高效的读写锁机制。下面是对StampedLock的实现原理、结构和核心方法的详细解释: 实现原理 StampedLock的实现基于乐观读锁和悲观写锁的机制,它使用一个名为stamp的整数来表示锁的状态。当获取读锁时
阅读全文
Java 中ReentrantLock快速入门
摘要:定义 ReentrantLock是Java中提供的一种可重入锁的实现。它的实现原理主要基于AQS(AbstractQueuedSynchronizer)框架。 AQS是Java并发包中同步器的基础框架,提供了一系列的同步操作方法,如获取锁、释放锁等。ReentrantLock通过继承AQS类来实现可
阅读全文
synchronized、ReentrantLock、CycleDetectingReentrantReadWriteLock、ReadWriteLock、ReentrantReadWriteLock等可重入锁的使用示例
摘要:可重入锁摘要 可重入锁是指同一个线程可以多次获取同一个锁,并且每次获取锁后都需要相应地释放锁。换句话说,可重入锁允许拥有锁的线程再次获取锁,而不会因为自己已经拥有锁而发生死锁。 可重入锁的重要性在于它提供了一种机制,使得线程可以安全地对共享资源进行访问,而不会因为自己已经拥有锁而被阻塞。当一个线程获
阅读全文
如何使用 Spring Cloud Config 实现配置中心
摘要:前言 随着应用程序规模不断扩大,管理配置信息变得越来越重要。Spring Cloud Config 提供了一种方便的方法来实现配置中心。在这篇文章中,我们将了解 Spring Cloud Config 的组件和架构,并演示如何使用它来管理应用程序的配置。 Spring Cloud Config 的组
阅读全文
org.springframework.http.converter.HttpMessageNotReadableException
摘要:今天我们要探讨一个常见的错误:`org.springframework.http.converter.HttpMessageNotReadableException.` 这个错误通常在处理RESTful请求的时候出现,表示某个请求的HTTP消息不能被读取。它通常是由于客户端和服务器端之间的非法或不一
阅读全文
This application has no explicit mapping for /error, so you are seeing this as a fallback.
摘要:在开发Web应用程序时,你可能会遇到上述错误消息:“This application has no explicit mapping for /error, so you are seeing this as a fallback.”这个错误消息意味着什么?该如何处理它?这个错误消息通常出现在Spr
阅读全文
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured
摘要:在使用Spring Boot进行应用开发时,常常需要对数据源进行配置。但是有时在配置中会出现Failed to configure a DataSource: 'url' attribute is not specified and no embe的错误,这是因为在进行数据源配置时,未指定url属性
阅读全文
@ConfigurationProperties简介
摘要:@ConfigurationProperties是Spring Boot中用于绑定属性配置文件中的属性值到Java Bean的注解。当我们在application.yml或application.properties文件中配置了某些属性值时,我们可以使用@ConfigurationPropertie
阅读全文
Spring Boot自动配置原理
摘要:Spring Boot自动配置是Spring Boot框架的一个重要特性。通过自动配置,我们可以减少很多冗余的配置,让开发者更加聚焦于业务逻辑的实现。本文将介绍Spring Boot自动配置的实现原理,并提供相应的源代码分析和使用示例。 ### Spring Boot自动配置原理 Spring Bo
阅读全文
Mybatis打印SQL语句常用方式
摘要:在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们。但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就会非常的难,这个时候经常会需要把组合之后的完整SQL语句打印出来,对调试非常有帮助的。 下面介绍几种控制台打
阅读全文
什么是Nacos
摘要:背景 微服务架构的兴起 随着云计算和容器技术的发展,微服务架构逐渐成为了企业构建分布式系统的首选架构。在微服务架构中,应用程序会被拆分成多个小型服务,每个服务只关注特定的业务逻辑,并通过网络调用来实现服务之间的通信。 微服务架构面临的挑战 虽然微服务架构可以带来很多好处,如更高的可伸缩性、更快的部署
阅读全文
bootstrap.yml与application.yml区别
摘要:一、bootstrap.yml或application.yml简介 SpringBoot默认支持properties和YAML两种格式的配置文件。前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。SpringBoot支持自动加载约定名称的配置文件,例如application.y
阅读全文
bootstrap.yml文件详解
摘要:一、bootstrap.yml或application.yml简介 SpringBoot默认支持properties和YAML两种格式的配置文件。前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。SpringBoot支持自动加载约定名称的配置文件,例如application.y
阅读全文
bootstrap.yml、bootstrap.properties、application.yml与application.properties
摘要:一、bootstrap.yml或application.yml简介 SpringBoot默认支持properties和YAML两种格式的配置文件。前者格式简单,但是只支持键值对。如果需要表达列表,最好使用YAML格式。SpringBoot支持自动加载约定名称的配置文件,例如application.y
阅读全文
Quick start tutorials for 23 common design patterns
摘要:I. Introduction Further reading Illustration of common design patterns UML Common 23 design patterns Java classic implementation (use common e-commerc
阅读全文
Flowable面试题
摘要:一、Flowable 简介 Flowable是一个基于Java的开源BPM框架,它主要基于Activiti中的一些组件,并在此基础上进行了扩展和升级。以下是Flowable的设计原理及架构解析: 架构 Flowable架构主要分为四部分:工作流引擎、应用程序接口(API)、模型器和任务表单设计器。
阅读全文
开源工作流引擎Flowable的面试题
摘要:一、Flowable 简介 Flowable是一个基于Java的开源BPM框架,它主要基于Activiti中的一些组件,并在此基础上进行了扩展和升级。以下是Flowable的设计原理及架构解析: 架构 Flowable架构主要分为四部分:工作流引擎、应用程序接口(API)、模型器和任务表单设计器。
阅读全文
最新最全的Activiti开源工作流引擎面试题
摘要:一、简介 Activiti是一个开源的BPM(Business Process Management)框架,可以帮助企业实现业务流程的电子化和自动化。以下是Activiti的设计原理及架构解析: 架构 Activiti架构主要分为三部分:引擎、API和公共库。其中,引擎负责执行具体任务,API提供了
阅读全文