详解Java ReentrantReadWriteLock读写锁的原理与实现

目录概述原理概述加锁原理图解过程源码解析解锁原理图解过程源码解析概述ReentrantReadWriteLock读写锁是使用AQS的集大成者,用了独占模式和共享模式。本文和大家一起理解下R...

2022-12-30

Spring事务管理详细讲解

目录事务回顾spring事务操作基于注解声明事务@Transactional注解使用事务传播机制事务隔离级别@Transactional其他属性基于XML 声明式事务完全注解开发说明:基于atguigu学习...

2022-12-30

Spring零基础入门WebFlux响应式编程

目录简介响应式编程Reactor信号操作符SpringWebflux执行流程和API注解实现SpringWebflux说明:基于atguigu学习笔记。简介Webflux是 Spring5 添加新的模块,用于 web 开发的,功能...

2022-12-30

java语言自行实现ULID过程底层原理详解

目录前提ULID出现的背景ULID规范组成排序规范的表示形式编码单调性溢出错误处理二进制布局ULID使用实现ULIDULID性能评估小结前提最近发现各个频道推荐了很多ULID相关文章,这...

2022-12-30

Java C++题解eetcode940不同的子序列 II

目录题目要求思路一:动态规划+转移优化JavaC++Rust思路二:求和(调api)JavaC++Rust总结题目要求思路一:动态规划+转移优化Javaclass Solution { public int distinctSubseqII(S...

2022-12-30

详细介绍Spring的配置文件

目录1. Spring的配置文件的命名2. Spring配置文件中有什么3. set注入4. 构造注入1. Spring的配置文件的命名答:Spring的配置文件是放在resources文件夹下面的,一般我们都会给...

2022-12-30

一文带你深入剖析Java线程池的前世今生

目录由线程到线程池线程在做什么为什么需要线程池线程池实现原理总结由线程到线程池线程在做什么灵魂拷问:写了那么多代码,你能够用一句话简练描述线程在干啥吗?public class...

2022-12-30

Java利用StampedLock实现读写锁的方法详解

目录概述StampedLock介绍演示例子性能对比总结概述想到读写锁,大家第一时间想到的可能是ReentrantReadWriteLock。实际上,在jdk8以后,java提供了一个性能更优越的读写锁并发类S...

2022-12-30

Eureka源码解析服务离线状态变更

目录环境1. 服务离线的方式1.1 基于Actuator监控器实现1.2 直接向Eureka Server提交请求1.3 特殊状态CANCEL_OVERRIDE2. 服务下架源码2.1 cancelScheduledTasks()2.2 unregi...

2022-12-30

Spring boot 使用QQ邮箱进行一个验证登入功能

目录Spring boot 使用QQ邮箱进行一个验证登入QQ邮箱开启权限创建发送验证码的请求Controller注册,登录验证Spring boot 使用QQ邮箱进行一个验证登入QQ邮箱开启权限在QQ邮箱设...

2022-12-30

Java网络编程之简易聊天室的实现

目录一、题目描述二、解题思路三、代码详解一、题目描述题目实现:运行客户端,连接服务器。二、解题思路首先需要启动上题的ServerSocketFrame服务,这样客户端运行时,才能连接上...

2022-12-30

Java引用类型interface的用法总结

目录interface作为成员变量法术接口和实现英雄角色interface作为方法参数和返回值类型interface作为成员变量接口是对方法的封装,对应游戏当中,可以看作是扩展游戏角色的技能...

2022-12-30

Spring JdbcTemplate执行数据库操作详解

目录如何使用数据库操作添加修改删除查询批量操作说明:基于atguigu笔记。JdbcTemplate 是 Spring 对 JDBC 的封装,目的是使JDBC更加易于使用,JdbcTemplate是Spring的一部分。Jd...

2022-12-30

Java postgresql数组字段类型处理方法详解

在实际开发中遇到postgresql中定义的数组字段,下面解决两个问题,如何定义数组字段的默认值为空格数组,以及如何再java实体类中直接使用数组对象接受数据或把数据存入数据库。1....

2022-12-30

基于雪花算法实现增强版ID生成器详解

目录基于雪花算法的增强版ID生成器快速开始配置解析目前提供两个配置类详情生产推荐使用方式JMH 性能测试测试机硬件情况Sequence 配置参数JMH参数测试结果Tip基于雪花算法...

2022-12-30

Spring中自动注入的两种方式总结

目录1. 前言2. set注入和构造注入3. 什么情况下要使用自动注入4. 自动注入之byName5. 自动注入之byType注入1. 前言Spring的核心技术IOC(Intorol of Converse控制反转)的实...

2022-12-30

Maven依赖管理之parent与dependencyManagement深入分析

目录一、parent依赖管理二、dependencyManagement 依赖管理三、实例分析单一模块情况多模块情况父模块 pom.xml子模块 pom.xml四、properties标签一、parent依赖管理作用:定...

2022-12-30

Mybatis执行SQL时多了一个limit的问题及解决方法

目录报错原因解决方式一:方式二:方式三:报错check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 10' at line...

2022-12-30

Spring的同一个服务会加载多次的问题分析及解决方法

目录问题现象问题分析解决方案问题现象最近在本地调试公司的一个Web项目时,无意中发现日志中出现了两次同一个服务的init记录,项目都是基于Spring来搭建的,按理说服务都是单例...

2022-12-30

Java注解之Elasticsearch的案例详解

学会了技术就要使用,否则很容易忘记,因为自然界压根就不存在什么代码、变量之类的玩意,这都是一些和生活常识格格不入的东西。只能多用多练,形成肌肉记忆才行。在一次实际的产品...

2022-12-30

详解Java如何利用位操作符创建位掩码

目录位掩码举个例子编码解码提取一个比特第一比特任意位置的位提取多个比特应用一个比特掩码总结在本文中,我们来看看如何使用位操作符实现低级别的位掩码。我们将看到我们如...

2022-12-30

Spring超详细讲解AOP面向切面

目录简介AOP底层原理代理概念JDK动态代理实现Spring中的AOP相关术语AspectJ实现AOP不同通知类型实现相同的切入点抽取增强类优先级完全使用注解开发说明:基于atguigu学习笔记...

2022-12-30

Java C++题解leetcode1441用栈操作构建数组示例

目录题目要求思路:模拟【双指针】JavaC++Rust题目要求思路:模拟【双指针】按题意模拟即可:一个指针cur依次指向target中的每个元素,另一个指针i依次指向1∼n的数字;对i所指向...

2022-12-30

Java设计模式之状态模式

实际开发中订单往往都包含着订单状态,用户每进行一次操作都要切换对应的状态,而每次切换判断当前的状态是必须的,就不可避免的引入一系列判断语句,为了让代码更加清晰直观,我们引...

2022-12-30

详解Java注解实现自己的ORM

搞过Java的码农都知道,在J2EE开发中一个(确切地说,应该是一类)很重要的框架,那就是ORM(Object Relational Mapping,对象关系映射)。它把Java中的类和数据库中的表关联起来,可以像操作...

2022-12-30

Eureka源码阅读解析Server服务端启动流程实例

目录环境1.spring cloud整合eureka server demo1.1 新建spring boot项目pom.xml文件添加配置文件1.2 启动类1.3 启动2. spring cloud自动装配eureka server源码解析2.1 @Ena...

2022-12-30

一文了解Java读写锁ReentrantReadWriteLock的使用

目录概述ReentrantReadWriteLock介绍实战案例验证读读共享模式验证读写互斥模式真实缓存例子概述ReentrantReadWriteLock不知道大家熟悉吗?其实在实际的项目中用的比较少,反正...

2022-12-30

基于Hutool的图片验证码功能模块实现

目录简介Hutool名称的由来基于Hutool的图片验证码功能模块实现1.背景2.方案设计2.1 方案步骤2.2 Hutool工具类引入2.5 方案交互图3.模块编写4.接口测试简介Hutool是一个小而...

2022-12-30

Java C++题解leetcode902最大为N的数字组合数位DP

目录题目要求阅读理解思路:数位DPJavaC++总结题目要求题目链接阅读理解思路:数位DPJavaclass Solution { public int atMostNGivenDigitSet(String[] digits, int n) {...

2022-12-30

mybatisPlus条件构造器常用方法小结

目录首先是.select其他条件 首先是.select在MP查询中,默认查询所有的字段,如果有需要也可以通过select方法进行指定字段。其中要注意的细节:wrapper.select("pname") .e...

2022-12-30

Java聊天室之使用Socket实现通信功能

目录一、题目描述二、解题思路三、代码详解一、题目描述题目实现:使用套接字实现了服务器端与客户端的通信。运行程序,在服务器端的文本框中输入信息,然后按回车键,客户端就会收...

2022-12-30

Java聊天室之实现接收和发送Socket

目录一、题目描述二、解题思路三、代码详解一、题目描述题目实现:网络通信,实现信息的发送和接收。二、解题思路创建一个服务器类:ServerSocketFrame,继承JFrame类写一个getserv...

2022-12-30

Java在Word中插入上标和下标的实现方法

目录前言程序环境配置安装Spire.Doc for Java使用Java在Word中插入上标和下标步骤代码实现效果图在某些情况下,你可能需要在Microsoft Word中插入上标和下标。例如,当你正在创...

2022-12-30

Java中泛型的示例详解

目录泛型概述使用泛型的好处泛型的定义与使用定义和使用含有泛型的类含有泛型的方法含有泛型的接口泛型通配符通配符基本使用通配符高级使用----受限泛型泛型概述我们都知道...

2022-12-30

BeanFactory和FactoryBean的区别示例详解

目录正文BeanFactory和FactoryBean的区别1、BeanFactory2、FactoryBean正文这个之前经常会遇到别人问 但是一直不是很能理解 工作开发中我对于bean的使用比较少 就是偶尔启...

2022-12-30

Schedule定时任务在分布式产生的问题详解

目录正文一、搭建基本环境二、问题::执行时间延迟和单线程执行三、为什么会出现上述问题?四、解决方式4.1、修改配置文件4.2、执行逻辑改为异步执行4.3、异步定时任务4.4、小...

2022-12-30

Java设计模式之策略模式

在一个收银系统中,如果普通用户、中级会员、高级会员分别对应着不同的优惠策略,常规编程就要使用一系列的判断语句,判断用户类型,这种情况下就可以使用策略模式。一、概念理解策...

2022-12-30

一文带你搞懂Java中的递归

目录概述递归累加求和计算1 ~ n的和代码执行图解递归求阶乘递归打印多级目录综合案例文件搜索文件过滤器优化Lambda优化概述递归:指在当前方法内调用自己的这种现象。递归的...

2022-12-30

Dubbo扩展点SPI实践示例解析

目录正文扩展点配置:扩展实现类:拦截配置文件:调用拦截扩展:拦截扩展说明:常用约定:实现细节:扩展点的几个特点:扩展点自动包装扩展点自动装配扩展点自适应扩展点自动激活正文Dubbo...

2022-12-30

SpringBoot利用jpa连接MySQL数据库的方法

目录添加依赖配置数据库连接 创建测试数据库表Java代码部分做个简单的代码测试where语句与查找数据添加依赖在pom文件中添加如下依赖<!--添加Jpa依赖--> <dependency...

2022-12-30

Java在PowerPoint中添加上标和下标的实现方法

目录前言程序环境配置安装Spire.Presentation for Java添加上标和下标代码实现前言当我们在演示文稿中添加商标、版权或其他符号时,我们可能希望该符号出现在某个文本的上方...

2022-12-30

java开发中防止重复提交的几种解决方案

目录一、产生原因二、幂等三、解决方案1. 方案对比2. 代码实现总结一、产生原因对于重复提交的问题,主要由于重复点击或者网络重发请求, 我要先了解产生原因几种方式:点击提交...

2022-12-30

Java聊天室之解决连接超时问题

目录一、题目描述二、解题思路三、代码详解一、题目描述题目实现:在进行网络编程时,由于进行网络连接是比较消耗资源的,因此,可以对连接的等待时间进行设置,如果在规定的时间没有...

2022-12-30

Java多线程案例之阻塞队列详解

目录一.阻塞队列介绍1.1阻塞队列特性1.2阻塞队列的优点二.生产者消费者模型2.1阻塞队列对生产者的优化三.标准库中的阻塞队列3.1Java提供阻塞队列实现的标准类3.2Blockingqu...

2022-12-30

Java面试题之MD5加密的安全性详解

目录1.彩虹表什么是彩虹表2.解决方案3.实现代码总结MD5 是 Message Digest Algorithm 的缩写,译为信息摘要算法,它是 Java 语言中使用很广泛的一种加密算法。MD5 可以将任意字...

2022-12-30

SpringBoot 2.5.5整合轻量级的分布式日志标记追踪神器TLog的详细过程

目录项目整合项目结构添加依赖logback-spring.xml请求类ControllerSpanId的生成规则 TLog业务标签演示示例1示例二示例三示例四示例五 随着微服务盛行,很多公司都把系统按照...

2022-12-30

mybatis-plugin插件执行原理解析

mybatis-plugin插件执行原理今天主要是在看mybatis的主流程源码,其中比较感兴趣的是mybatis的plugin功能,这里主要记录下mybatis-plugin的插件功能原理。plugin集合列表:在构建...

2022-12-30

Java必会的Synchronized底层原理剖析

目录1. synchronized作用2. synchronized用法3. synchronized加锁原理synchronized作为Java程序员最常用同步工具,很多人却对它的用法和实现原理一知半解,以至于还有不少人认...

2022-12-30

ConcurrentHashMap 存储结构源码解析

目录引言1 ConcurrentHashMap 1.71.存储结构2. 初始化3. put4. 扩容 rehash5. get2 ConcurrentHashMap 1.81. 存储结构2. 初始化 initTable3. put4. get3 总结引言思考:HashT...

2022-12-30

一文了解Java 线程池的正确使用姿势

目录概述线程池介绍线程池创建ThreadPoolExecutor创建Executors创建newFixedThreadPoolnewCachedThreadPoolnewSingleThreadExecutornewScheduledThreadPoolnewWorkStealing...

2022-12-30
返回顶部
顶部