PageHelper 分页插件使用中的那些“坑” 引言 在项目开发过程中,分页查询是常见的需求之一。PageHelper 是一个 MyBatis 的分页插件,它能够自动完成 MyBatis 的分页功能。然而,在使用过程中可能会遇到一些问题,特别是当手动在 SQL 中使用了 LIMIT 进行分页的情况 ...
对于绝大部分JAVA工程师而言,大部分的关键字也是能够看懂的,但还是相当一部分比较不常见的关键字,妨碍了代码阅读。 本文力图收集一些个人认为在CRUD机械工作中可能比较少见的一些关键字/保留字。 此类关键字主要用于修饰方法和类。 收集过程会持续一段时间,现在暂时没有时间也没有必要找出个人为人需要整理 ...
Java 当中使用 “google.zxing ”开源项目 和 “github 的 qrcode-plugin” 开源项目 生成二维码 @目录Java 当中使用 “google.zxing ”开源项目 和 “github 的 qrcode-plugin” 开源项目 生成二维码1. Java当中使用 ...
Consent Required在keycloak中是“授权所需”,或者是“同意必需“的意思,它类似于oauth2授权时的“确认”,当你在第三方认证后,通过oauth2协议,你可以把用户相关信息返回给应用程序,而这时,用户自己需要确认一下,自己的这些信息是否可以给应用程序。 为客户端配置Consen ...
使用场景 在微服务架构中,服务之间会进行大量的调用。为了防止某个服务被过多的请求压垮,导致整个系统崩溃,就需要对流量进行控制。同时,当某个服务出现故障时,为了防止故障扩散到整个系统,需要进行熔断操作。Sentinel提供了流量控制和熔断降级的功能,因此非常适合在这种场景下使用。 雪崩效应 在微服务系 ...
大家好,我是 V 哥。今天咱们来聊一聊 Java 后端确保 JavaScript 不被缓存的问题,先来了解一下为什么需要这样做,通常源于以下几种场景或问题: 1. 先来看几个问题 1. 文件更新后无法及时生效 浏览器缓存机制是为了加快加载速度和减少服务器压力,但有时会带来问题。当 JavaScrip ...
面试题:有 3 个独立的线程,一个只会输出 A,一个只会输出 B,一个只会输出 C,在三个线程启动的情况下,请用合理的方式让他们按顺序打印 ABC。 使用lock,Condition import java.util.concurrent.locks.Condition; import java.u ...
AQChat —— 一个已接入 AI 的极速、便捷的匿名在线即时 AI 聊天室。基于 Netty 以及 protobuf 协议实现高性能,对标游戏后端开发。 ...
大家好,我是木宛哥,今天和大家分享下——代码 CR 时针对恼人的空指针异常(NullPointerException)如何做到体系化去防控; 什么是空指针异常 从内存角度看,对象的实例化需要在堆内存中分配空间。如果一个对象没有被创建,那也就没有分配内存,当应用程序访问空对象时,实际上是访问一个“无效 ...
前言 我们在使用IDEA开发Java应用时,一般是需要配置maven仓库的,那么我们应该如何配置呢?此外,默认的maven仓库下载速度很慢,我们一般可以配置阿里云或者华为云仓库,这个又应该怎么配置呢? 如何配置maven及配置阿里云仓库 首先,我们打开设置面板。 然后,我们点击【Build,Exec ...
Mysql高级-day03 1. 应用优化 前面章节,我们介绍了很多数据库的优化措施。但是在实际生产环境中,由于数据库本身的性能局限,就必须要对前台的应用进行一些优化,来降低数据库的访问压力。 1.1 使用连接池 对于访问数据库来说,建立连接的代价是比较昂贵的,因为我们频繁的创建关闭连接,是比较耗费 ...
一,MybatisPlus基础 1.1要使用mybatisPlus需要的两个步骤; 1.引入MybatisPlus的依赖 点击查看代码 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter ...
项目改用Spring Data JDBC 并手动配置DataSource之后,@Transactional注解一直不起作用。这两天研究了一下,注解不起作用,主要是没有配置 TransactionManager 的事,配置完 TransactionManager 之后,@Transactional注解 ...
MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导致所有事务都无法继续执行的现象。在 InnoDB 存储引擎中,死锁是通过锁机制产生的,特别是在并发较高、业务逻辑复杂的情况下,更容易发生死锁。 一、MySQL 死锁的成因 MySQL 的死锁一般发生在 行级锁 上。常见的死锁成因包括: ...
Nacos2.3.2 在ubuntu下的部署 下载地址 发布历史 | Nacos 官网 https://download.nacos.io/nacos-server/nacos-server-2.3.2.zip 修改 application.properties文件 开启鉴权 ### 开启鉴权功能 ...
前言 生产者-消费者模式是一个十分经典的多线程并发协作模式,弄懂生产者-消费者问题能够让我们对并发编程的理解加深。 所谓的生产者-消费者,实际上包含了两类线程,一种是生产者线程用于生产数据,另一种是消费者线程用于消费数据,为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库,生产者 ...
1.Hystrix进入维护模式 1.1 是什么 Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。 了解,这是Netf ...
前言 我们在使用IDEA开发Java应用时,可以安装很多的插件来帮助我们高效的开发代码。 我们需要注意开发的编码规范,这时候就可以安装一款很有名的插件,阿里巴巴的编码规约插件。可以用这个插件,对我们的代码进行扫描,并且导出报告,那么我们应该怎么操作呢? 如何扫描代码并且导出报告 首先,我们点击上方的 ...
倒排索引 倒排索引的概念是基于MySQL这样的正向索引而言的。 技术应用在Elasticsearch,得益于倒排索引,用来实现高性能的搜索功能 正向索引 例如有一张名为tb_goods的表: id title price 1 小米手机 3499 2 华为手机 4999 3 华为小米充电器 49 4 ...
一 refresh_token刷新access_token Keycloak会话管理中,获取到accessToken和refreshToken后,基于accessToken交换用户数据或者参与KeycloakAPI的请求,当accessToken过期的时候,可使用refreshToken去交换新的a ...