刷新
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 ...

Mac电脑上传ZIP图片压缩包时垃圾文件清理问题解决

博主头像 问题解决记录:Mac系统上传目录时的垃圾文件清理 问题背景 在上传图片系统中,当用户使用苹果本(Mac)压缩并上传目录时,系统出现异常。经过排查发现,Mac 系统在压缩时会自动生成大量隐藏文件和元数据目录,这些"垃圾文件"在解压后会干扰系统的正常业务逻辑。 Mac 系统自动生成的垃圾文件包括: .D ...

剑指offer-69、数字序列中某⼀位的数字

博主头像 题⽬描述 数字以 0123456789101112131415... 的格式作为⼀个字符序列,在这个序列中第 2 位(从下标 0 开始计算)是 2 ,第 10 位是 1 ,第 13 位是 1 ,以此类题,请你输出第 n 位对应的数字。 示例1 输⼊:0 返回值:0 示例2 输⼊:2 返回值:2 示例 ...

剑指offer-68、调整数组顺序使奇数位于偶数前⾯(⼆)

博主头像 题⽬描述 输⼊⼀个⻓度为 n 整数数组,数组⾥⾯可能含有相同的元素,实现⼀个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前⾯部分,所有的偶数位于数组的后⾯部分,对奇数和奇数,偶数和偶数之间的相对位置不做要求,但是时间复杂度和空间复杂度必须如下要求。 数据范围:0 ≤ n ≤ 50000,数 ...

wso2~通过三方IDP的token置换wso2的token

博主头像 参数:https://datatracker.ietf.org/doc/html/rfc7523 oauth2.0中的三方另类授权 了解OAuth 2.0中特定的授权类型(Grant Type)对于构建安全的认证流程至关重要。下面为你详细介绍这三种基于URN声明的扩展授权类型。 设备代码授权 ...

CopyOnWriteArrayList:写时复制机制与高效并发访问

博主头像 前言 Vector无论是add方法还是get方法都加上了synchronized修饰,当多线程读写List必须排队执行,很显然这样效率比较是低下的,CopyOnWriteArrayList是读写分离的,好处是提高线程访问效率。 CopyOnWrite容器即写时复制的容器。通俗的理解是当往一个容器添加 ...

123···50>