一、AtomicReferenceFieldUpdater的用法 AtomicReferenceFieldUpdater是一个抽象的工具类,其底层是通过反射找到目标字段的内存偏移量,然后利用Unsafe.class提供的CAS(Compare-And-Swap)操作来原子地更新某个类中指定变量的值。 ...
问题 在某些Yapi上的项目,有些设置了项目级别前缀,有些没有设置,有些接口文档是手写的,有些是自动生成的。 因此会出现URL前缀重叠、缺失等问题,需要截断,或者追加 解决 如何移除前缀 if(it.containingClass().name().contains("com.slankka.cod ...
LockSupport简介 LockSupprot 用来阻塞和唤醒线程,底层实现依赖于 Unsafe 类。 LockSupport用来创建锁和其他同步类的基本线程阻塞原语。简而言之,当调用LockSupport.park时,表示当前线程将会等待,直至获得许可,当调用LockSupport.unpar ...
PHP 的问题不在语言本身,而在我们怎么写它 代码库烂了不是语言的锅,是赶工和惯性。 PHP 的口碑,几乎在每次技术讨论中都会被拎出来。应用慢、乱、不安全、改起来痛苦?总有人耸耸肩说:"嗯……毕竟是 PHP 嘛。" 这话很少出于技术判断,更像是一种习惯性甩锅。 事实比这简单,也更扎心:大多数 PHP ...
coolmonitor —— 酷监控,一个高颜值的监控工具,支持网站监控、接口监控、HTTPS 证书监控等多种监控类型,帮助开发者及运维人员实时掌握网站、接口运行状态。 ...
题⽬描述 给定单向链表的头指针和⼀个要删除的节点的值,定义⼀个函数删除该节点。返回删除后的链表的头节点。 此题对⽐原题有改动 题⽬保证链表中节点的值互不相同 该题只会输出返回的链表和结果做对⽐,所以若使⽤ C 或 C++ 语⾔,你不需要 free 或 delete 被删除的节点 数据范围: 0<=链 ...
秒杀活动时系统在干什么 PHP 高并发场景优化指南 秒杀活动是电商平台的关键战役,往往会带来流量和订单的剧烈飙升。秒杀期间,每一毫秒都很关键,后端需要同时扛住海量请求。对 PHP 应用来说,这尤其有挑战性,但只要优化到位,即使流量洪峰来了,用户体验也能稳住。 这篇文章会拆解 PHP 后端在秒杀期间需 ...
前言 按照个人习惯,项目伊始我会按照如下结构组织项目配置,也就是配置文件放在conf/目录,单独写一个配置模块pkg/config.py去读取加载。有的小项目还好,没什么配置项。但有的项目要调用很多第三方的接口,配置文件写了一堆接口地址、认证方式等,配置模块也相应增加了几百行。看着这快上千行的配置模 ...
是 MyBatis 中处理 SQL 语句与 XML 语法冲突的安全屏障。对包含 特殊字符 的 SQL 片段进行最小范围的 CDATA 包裹,既保证了安全,又确保了 MyBatis 动态 SQL 功能的完整性。 ...
题⽬描述 假设你有⼀个数组 prices ,⻓度为 n ,其中 prices[i] 是股票在第 i 天的价格,请根据这个价格数组,返回买卖股票能获得的最⼤收益 你可以买⼊⼀次股票和卖出⼀次股票,并⾮每天都可以买⼊或卖出⼀次,总共只能买⼊和卖出⼀次,且买⼊必须在卖出的前⾯的某⼀天 如果不能获取到任何利 ...
前言 实现一个周期性调用类。通过TaskTimer构造函数设置周期,通过setTimerFun传入要调用函数和参数,start启动,stop停止。比如要每30秒发送一个心跳包可以把发送包的函数传入定时器,定时器会创建一个线程周期性发送这个包。 实现 TaskTimer主要有开始、停止、设置调用函数与 ...
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, ...
自动化软件测试解决方案领导者 Parasoft,发布了 Jtest 和 dotTEST 两款产品的 2025.2 版本。此次更新凭借AI技术实现了软件测试的重大突破。让CI/CD流水线从单纯的质量“把关者”,转变为主动参与代码优化的“助力者”。 ...
前情提要 线上跑的代码找不到源码了,项目又需要调整某个字段的校验规则,早有耳闻知道可以通过Arthas完成这个场景的需求,实际动手试了试,在此记录一下。 警告!警告! # !!! 重要警告 !!! # 1. 生产环境谨慎使用,先测试 # 2. 修改前备份原始类 # 3. 确保修改符合JVM规范 # ...
jdbcTemplate jdbcTemplate是spring提供的一个jdbc模板类,是对jdbc的封装。 当然你也可以使用其他框架融入MyBatis、Hibernate。 GoF之代理模式 代理模式的作用 当一个对象需要受到保护的时候,可以使用代理对象去完成某个行为。 需要给某个对象进行功能增 ...
概述 AQS ( Abstract Queued Synchronizer )是一个抽象的队列同步器,通过维护一个共享资源状态( Volatile Int State )来表示同步状态 和一个先进先出( FIFO )的线程等待队列来完成资源获取的排队工作,通过CAS完成对State值的修改。 AQS ...
PHP 应用遭遇 DDoS 攻击时会发生什么 从入门到进阶的防护指南 暴风雨前的宁静 想象一下,黑色星期五或者某个大促活动。你用 PHP 搭建的电商平台正在迎接前所未有的流量,订单源源不断,用户热情高涨,PHP 应用拼尽全力在扛。然后——啪——网站突然崩了。 你查日志,到底怎么了?流量确实飙了,但这 ...
前言 SQLite 和 PostgreSQL 都支持 UPSERT 操作,即"有则更新,无则新增"。冲突列必须有唯一约束。 语法: PostgreSQL: INSERT ... ON CONFLICT (column) DO UPDATE/NOTHING SQLite: INSERT ... ON ...