问题 在某些Yapi上的项目,有些设置了项目级别前缀,有些没有设置,有些接口文档是手写的,有些是自动生成的。 因此会出现URL前缀重叠、缺失等问题,需要截断,或者追加 解决 如何移除前缀 if(it.containingClass().name().contains("com.slankka.cod ...
LockSupport简介 LockSupprot 用来阻塞和唤醒线程,底层实现依赖于 Unsafe 类。 LockSupport用来创建锁和其他同步类的基本线程阻塞原语。简而言之,当调用LockSupport.park时,表示当前线程将会等待,直至获得许可,当调用LockSupport.unpar ...
题⽬描述 给定单向链表的头指针和⼀个要删除的节点的值,定义⼀个函数删除该节点。返回删除后的链表的头节点。 此题对⽐原题有改动 题⽬保证链表中节点的值互不相同 该题只会输出返回的链表和结果做对⽐,所以若使⽤ C 或 C++ 语⾔,你不需要 free 或 delete 被删除的节点 数据范围: 0<=链 ...
是 MyBatis 中处理 SQL 语句与 XML 语法冲突的安全屏障。对包含 特殊字符 的 SQL 片段进行最小范围的 CDATA 包裹,既保证了安全,又确保了 MyBatis 动态 SQL 功能的完整性。 ...
题⽬描述 假设你有⼀个数组 prices ,⻓度为 n ,其中 prices[i] 是股票在第 i 天的价格,请根据这个价格数组,返回买卖股票能获得的最⼤收益 你可以买⼊⼀次股票和卖出⼀次股票,并⾮每天都可以买⼊或卖出⼀次,总共只能买⼊和卖出⼀次,且买⼊必须在卖出的前⾯的某⼀天 如果不能获取到任何利 ...
spring对junit的支持 主要是自动从spring容器中获取bean。不用手动获取了。 spring对junit4的支持 1.引入spring和junit4的依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>s ...
事务支持 什么是事务? 在一个业务流程中,需要多条DML(insert、delete、update)语句联合才能完成。这些语句必须同时成功或者同时失败。这样才能保证数据安全。 多条DML同时成功或者同时失败,叫做事务。 事务处理的四个过程 开启事务 执行业务代码 提交事务(没出现异常,提交成功。co ...
题目描述 把 n 个骰⼦扔在地上,所有骰⼦朝上⼀⾯的点数之和为 s 。输⼊ n ,打印出 s 的所有可能的值出现的概率。 你需要⽤⼀个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰⼦所能掷出的点数集合中第 i ⼩的那个的概率。 示例1: 输⼊: 1 输出: [0.16667,0.16667, ...
前情提要 线上跑的代码找不到源码了,项目又需要调整某个字段的校验规则,早有耳闻知道可以通过Arthas完成这个场景的需求,实际动手试了试,在此记录一下。 警告!警告! # !!! 重要警告 !!! # 1. 生产环境谨慎使用,先测试 # 2. 修改前备份原始类 # 3. 确保修改符合JVM规范 # ...
jdbcTemplate jdbcTemplate是spring提供的一个jdbc模板类,是对jdbc的封装。 当然你也可以使用其他框架融入MyBatis、Hibernate。 GoF之代理模式 代理模式的作用 当一个对象需要受到保护的时候,可以使用代理对象去完成某个行为。 需要给某个对象进行功能增 ...
概述 AQS ( Abstract Queued Synchronizer )是一个抽象的队列同步器,通过维护一个共享资源状态( Volatile Int State )来表示同步状态 和一个先进先出( FIFO )的线程等待队列来完成资源获取的排队工作,通过CAS完成对State值的修改。 AQS ...
操作系统使用文件描述符来指代一个打开的文件,对文件的读写操作,都需要文件描述符指向存储设备的不透明标识符。Java虽然在设计上使用了抽象程度更高的流来作为文件操作的模型,但是底层依然要使用文件描述符与操作系统交互,而Java世界里文件描述符的对应类就是FileDescriptor。同时,Java规定 ...
基于AQS实现的ReentrantLock 这里的源码用的Java8版本 lock方法 当ReentrantLock类的实例对象尝试获取锁的时候,调用lock方法, 会进入sync的lock方法,其中Sync是ReentrantLock的一个内部类,ReentrantLock构造方法会默认使用非公平 ...
题⽬描述 输⼊⼀个⻓度为n 的整型数组array ,数组中的⼀个或连续多个整数组成⼀个⼦数组,找到⼀个具有 最⼤和的连续⼦数组。 ⼦数组是连续的,⽐如[1,3,5,7,9] 的⼦数组有[1,3] , [3,5,7] 等等,但是[1,3,7] 不是⼦数组 如果存在多个最⼤和的连续⼦数组,那么返回其中⻓ ...
spring框架创建bean就是利用反射机制 反射机制的代码如下: public static void main(String[] args) throws Exception { System.out.println("Hello, World!"); // 使用反射机制调用方法 // 获取类 ...
在上一篇《分布式锁的代价与选择:为什么我们最终拥抱了Redisson?》中,我们聊到了手写 SETNX 的"茹毛饮血"时代。既然选择了 Redisson,就意味着我们已经告别了那些让人提心吊胆的死锁噩梦。
很多时候,我们以为只是调用了一个简单的 lock.lock(),但背后其实是一整套复杂的自动续... ...
题⽬描述 在⼀个m × n的棋盘的每⼀格都放有⼀个礼物,每个礼物都有⼀定的价值(价值⼤于 0)。你可以从棋盘的左上⻆开始拿格⼦⾥的礼物,并每次向右或者向下移动⼀格、直到到达棋盘的右下⻆。给定⼀个棋盘及其上⾯的礼物的价值,请计算你最多能拿到多少价值的礼物? 如输⼊这样的⼀个⼆维数组, [ [1,3,1 ...
bean的生命周期 粗略划分5步 实例化bean 调用的是无参数的构造方法 bean属性赋值 执行set注入 初始化bean 调用bean的init()方法,需要自己写,自己配 使用bean 销毁bean 调用bean的destroy(),需要自己写,自己配 注意:自定义的init()和destro ...
本文主要内容 对于多选项的值,如何保存?本文提供了一种非常规的方案。 对于记录在数据库中的多选项的值,如何快速查询那些记录是包含了某个(某些)选项?本文使用了“与位运算”解决查询问题。 源码地址:https://github.com/HackyleShawe/JavaBackEndDemos/tre ...
题⽬描述 给你⼀根⻓度为 n 的绳⼦,请把绳⼦剪成整数⻓的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳⼦的⻓度记为 k[1] ,..., k[m] 。请问 k[1] * k[2] * ... * k[m] 可能的最⼤乘积是多少?例如,当绳⼦的⻓度是 ...