刷新
spring-事务管理

博主头像 事务支持 什么是事务? 在一个业务流程中,需要多条DML(insert、delete、update)语句联合才能完成。这些语句必须同时成功或者同时失败。这样才能保证数据安全。 多条DML同时成功或者同时失败,叫做事务。 事务处理的四个过程 开启事务 执行业务代码 提交事务(没出现异常,提交成功。co ...

剑指offer-74、n个骰⼦的点数

博主头像 题目描述 把 n 个骰⼦扔在地上,所有骰⼦朝上⼀⾯的点数之和为 s 。输⼊ n ,打印出 s 的所有可能的值出现的概率。 你需要⽤⼀个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰⼦所能掷出的点数集合中第 i ⼩的那个的概率。 示例1: 输⼊: 1 输出: [0.16667,0.16667, ...

记录使用Arthas修改线上源码重新加载的一次过程

博主头像 前情提要 线上跑的代码找不到源码了,项目又需要调整某个字段的校验规则,早有耳闻知道可以通过Arthas完成这个场景的需求,实际动手试了试,在此记录一下。 警告!警告! # !!! 重要警告 !!! # 1. 生产环境谨慎使用,先测试 # 2. 修改前备份原始类 # 3. 确保修改符合JVM规范 # ...

spring6-代理模式和AOP

博主头像 jdbcTemplate jdbcTemplate是spring提供的一个jdbc模板类,是对jdbc的封装。 当然你也可以使用其他框架融入MyBatis、Hibernate。 GoF之代理模式 代理模式的作用 当一个对象需要受到保护的时候,可以使用代理对象去完成某个行为。 需要给某个对象进行功能增 ...

5、FileDescriptor的源码和使用注意事项(windows操作系统,JDK8)

博主头像 操作系统使用文件描述符来指代一个打开的文件,对文件的读写操作,都需要文件描述符指向存储设备的不透明标识符。Java虽然在设计上使用了抽象程度更高的流来作为文件操作的模型,但是底层依然要使用文件描述符与操作系统交互,而Java世界里文件描述符的对应类就是FileDescriptor。同时,Java规定 ...

基于AQS实现的ReentrantLock

博主头像 基于AQS实现的ReentrantLock 这里的源码用的Java8版本 lock方法 当ReentrantLock类的实例对象尝试获取锁的时候,调用lock方法, 会进入sync的lock方法,其中Sync是ReentrantLock的一个内部类,ReentrantLock构造方法会默认使用非公平 ...

剑指offer-73、连续⼦数组的最⼤和(⼆)

博主头像 题⽬描述 输⼊⼀个⻓度为n 的整型数组array ,数组中的⼀个或连续多个整数组成⼀个⼦数组,找到⼀个具有 最⼤和的连续⼦数组。 ⼦数组是连续的,⽐如[1,3,5,7,9] 的⼦数组有[1,3] , [3,5,7] 等等,但是[1,3,7] 不是⼦数组 如果存在多个最⼤和的连续⼦数组,那么返回其中⻓ ...

spring6-注解式开发

博主头像 spring框架创建bean就是利用反射机制 反射机制的代码如下: public static void main(String[] args) throws Exception { System.out.println("Hello, World!"); // 使用反射机制调用方法 // 获取类 ...

Redisson 使用手册:从 API 误区到看门狗失效,在此终结分布式锁的噩梦

博主头像 在上一篇《分布式锁的代价与选择:为什么我们最终拥抱了Redisson?》中,我们聊到了手写 SETNX 的"茹毛饮血"时代。既然选择了 Redisson,就意味着我们已经告别了那些让人提心吊胆的死锁噩梦。 很多时候,我们以为只是调用了一个简单的 lock.lock(),但背后其实是一整套复杂的自动续... ...

剑指offer-72、礼物的最⼤价值

博主头像 题⽬描述 在⼀个m × n的棋盘的每⼀格都放有⼀个礼物,每个礼物都有⼀定的价值(价值⼤于 0)。你可以从棋盘的左上⻆开始拿格⼦⾥的礼物,并每次向右或者向下移动⼀格、直到到达棋盘的右下⻆。给定⼀个棋盘及其上⾯的礼物的价值,请计算你最多能拿到多少价值的礼物? 如输⼊这样的⼀个⼆维数组, [ [1,3,1 ...

spring6-bean的生命周期与循环依赖

博主头像 bean的生命周期 粗略划分5步 实例化bean 调用的是无参数的构造方法 bean属性赋值 执行set注入 初始化bean 调用bean的init()方法,需要自己写,自己配 使用bean 销毁bean 调用bean的destroy(),需要自己写,自己配 注意:自定义的init()和destro ...

一种多选项的高效存取(存储、查询)解决方案

博主头像 本文主要内容 对于多选项的值,如何保存?本文提供了一种非常规的方案。 对于记录在数据库中的多选项的值,如何快速查询那些记录是包含了某个(某些)选项?本文使用了“与位运算”解决查询问题。 源码地址:https://github.com/HackyleShawe/JavaBackEndDemos/tre ...

剑指offer-71、剪绳子(进阶版)

博主头像 题⽬描述 给你⼀根⻓度为 n 的绳⼦,请把绳⼦剪成整数⻓的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳⼦的⻓度记为 k[1] ,..., k[m] 。请问 k[1] * k[2] * ... * k[m] 可能的最⼤乘积是多少?例如,当绳⼦的⻓度是 ...

Java中的数据类型

博主头像 Java 数据类型详解 目录 数据类型分类 基本数据类型 引用类型 基本类型 vs 引用类型 包装类 String 详解 字符串常量池 内存布局 对象生命周期 常见问题 数据类型分类 Java 数据类型 ├── 基本类型(8种) │ ├── 整数类型:byte, short, int, long │ ...

收入写RAFT算法(一)Leader选举

Raft Leader 选举实现文档 目录 1. 概述 2. 核心概念 3. 涉及的类及其职责 4. 实现细节 4.1 节点状态与转换 4.2 选举超时机制 4.3 投票请求处理 4.4 选举发起流程 4.5 投票响应处理 4.6 心跳机制 4.7 安全性保证 5. 测试指南 6. 使用示例 7. ...

keycloak~分布式部署中会话过期清理机制

博主头像 Keycloak 分布式部署中会话过期清理机制 在 Keycloak 分布式部署(使用外部独立部署的 Infinispan)的架构下,sessions 和 clientSessions 的过期清理涉及两种不同的部署模式,机制略有不同: 架构模式 1:Embedded + Remote Store(嵌 ...

剑指offer-70、把数字翻译成为字符串

博主头像 题⽬描述 有⼀种将字⺟编码成数字的⽅式:'a'->1, 'b->2', ... , 'z->26'。 现在给⼀串数字,返回有多少种可能的译码结果 示例1 输⼊:"12" 返回值:2 说明:2种可能的译码结果(”ab” 或”l”) 示例2 输⼊:"31717126241541717" 返回值:192 ...

<1234···42>