【Java】Synchronized-你知道Java是如何上锁的吗?
Synchronized锁获取与升级流程——从偏向锁到重量级锁 synchronized 关键字是 Java 并发编程的元老,很多人对它的印象还停留在“重量级”、“性能差”。但从 JDK 1.6 开始,synchronized 引入了锁升级机制,使其变得非常智能。 这套机制的核心思想是“按需分配”,在无竞争或…...
Java中的字符串及相关类的介绍
🔺jdk1.8 String底层是char[],字符数组。 1.String不是Java基本数据类型,不可以被继承,因为final关键字修饰. 2.String和StringBuilder、StringBuffer的区别 2.1 String的值创建后不能修改,修改String操作会创建新的String对象。 2.2 StringBuffer synchronized关键字保证线…...
ABP - 工作单元(Unit of Work)[UnitOfWorkAttribute、IUnitOfWorkManager、UnitOfWorkOptions]
一、工作单元(Unit of Work) 核心辅助类:IUnitOfWorkManager:管理工作单元。 UnitOfWorkAttribute:标记方法为工作单元(自动事务)。 UnitOfWorkOptions:工作单元配置选项(如事务隔离级别、超时时间)。在ABP框架中,工作单元(Unit of Work,简称UoW) 是管理数据一致…...
LeetCode刷题笔记
LeetCode刷题笔记 10.24题目 258各位相加 题目描述: 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 示例 1: 输入: num = 38 输出: 2 解释: 各位相加的过程为: 38 --> 3 + 8 --> 11 11 --> 1 + 1 --> 2 由于 2 是一位数,…...
[NOIP2023] 双序列拓展 题解
神题! 题目可以转化成能否使得所有 \(f_i\gt g_i\) 或者 \(f_i\lt g_i\),只考虑处理 \(f_i\lt g_i\) 的情况,\(f_i\gt g_i\) 的情况交换 \(X\)、\(Y\) 即可。 首先有一个很简单的 \(O(qnm)\) 的 dp,记 \(dp_{i,j}\) 表示 \(X\) 的前 \(i\) 个数和 \(Y\) 的前 \(j\) 个数是否…...
洛谷 P9530 Fish 2
...
洛谷 P7011 Escape
房间情况记为 \(a_u\)。 首先,判定能否逃走,可以在 \(t\) 点下面挂一个编号为 \(n+1\) 的点,权值为 \(+\infty\)。判定就转化为,能否在题设限制中,最终的体力达到 \(+\infty\)。 然后考虑这个英雄会怎么走。 他可能会以一种弯弯扭扭,徘徊多次的姿态在树上游荡。具体地,他…...
你可以把它喂给AI让AI猜猜我在干什么
// code by 樓影沫瞬_Hz17 #include <bits/stdc++.h> using namespace std;#define getc() getchar_unlocked() #define putc(a) putchar_unlocked(a) #define en_ putc(\n) #define e_ putc( )// #define int long long using pii = pair<int, int>;template<c…...
【深入浅出Nodejs】异步非阻塞IO
概览:本文介绍了阻塞I/O、非阻塞I/O、多路复用I/O和异步I/O 四种模型,在实际的操作系统和计算机中I/O本质总是阻塞的,通过返回fd状态和轮询的方式来使I/O在应用层不阻塞,然后通过多路复用的方式更高效实现这种不阻塞的效果。然后介绍了Node中异步I/O的实现,由于计算机本身…...
135. 分发糖果
题目链接:135. 分发糖果 - 力扣(LeetCode)解析:两边都有link的,分两边分别看class Solution { public:int candy(vector<int>& ratings) {int n = ratings.size();vector<int> left(n);for (int i = 0; i < n; i++) {if (i > 0 && ratings[…...
【Java-JMM】Happens-before原则
一、什么是 Happens-before 原则 Happens-before 原则是 Java 内存模型(JMM)的核心概念,用于定义多线程环境下操作之间的内存可见性关系。 核心理解:如果操作 A happens-before 操作 B,那么 A 的执行结果对 B 可见。这个原则主要解决了 Java 并发编程中的两个关键问题:可…...
P6072 『MdOI R1』Path
给定一颗无根树 \(|T|\)。 求两条点不相交的路径,使得两条路径上边权的异或和加起来最大。 \[|T| \le 3\times 10^4 \] 这是一个经典 trick: 对于求两条点不相交路径,我们可以枚举点 \(x\),使得其中一条在 \(x\) 的子树内,另外一条在 \(x\) 的子树外。不难发现这样覆盖了所…...
P1601题解
题意 就是A+B,相信大家都能理解,对于Python来说很简单,对C++崽就不友好了 解析 下面提供一种解法(代码中的BitInt500这个类,别问我那个什么int128函数,不顶事): 1.创建数组 2.从字符串构造大型整数 3.大整数加法(直接加肯定不行,用了逐位加法) 4.输出函数(只是懒得在程序…...
10-23 好题选讲总结
10-23 好题选讲总结 P13779 「o.OI R2」试机题 - 洛谷 注意特殊的数据范围。 \(K=2\) 就是黑白染色,然后检查黑白点数是否相等,\(K=3\) 可以 \(O(n^2)\) DP 设 \(f_{i,j,0/1}\) 表示子树内选了 \(j\) 个与 \(i\) 颜色相同的点,当前是否有相邻的同色点。 猜想 \(K\ge 4\) 一定…...
关于驻马店市 2025 中小学信息学竞赛的记录(入门级)(未完)
全网好像都没有关于这个神秘竞赛的内容。 包括它的神秘举办方:驻马店市计算机学会。ZCF? 因此我决定写一篇记录,同时公布关于这个比赛的 几乎 所有信息。————题记By CasKPART 1. 赛前通知 本人是驻马店第*初级中学的学生,报的是入门级。 以下是比赛前老师发给我的通知:…...
关于Markdown的使用
因为在使用Markdown来编写博客,这里将会给出一些Markdown的笔记来方便后续使用。 标题采用#来表示几级标题,例如#为一级,##为二级。 这是一个一级标题 这是一个二级标题 字体采用*或者_来表示,一个表示斜体,两个表示粗体,三个表示粗斜体(注意采用** xxxx **的格式)。 …...
自定义Spring Cloud LoadBalancer实践
Spring Cloud负载均衡概述 在不同的Spring Cloud版本中,采用了不同的负载均衡组件。 具体来说,在Spring Cloud 2020.0版本之前,默认负载均衡器为Netflix推出的Ribbon,自Spring Cloud 2020.0版本起,Ribbon已经被标记为过时,官方推荐使用Spring Cloud LoadBalancer。 在本文…...
游记——驻马店市2025中小学信息学竞赛(未完)
全网好像都没有关于这个神秘竞赛的内容。 包括它的神秘举办方:驻马店市计算机学会。ZCF? 因此我决定写一篇游记,同时公布关于这个比赛的 几乎 所有信息。————题记By CasKPART 1. 赛前通知 以下是比赛前老师发给我的通知: 1.《关于举办…………的通知》 [驻计算机[2025]…...
线段树上二分
全局二分: 考虑将问题差分成 “最后一个小于等于 k” 或 “第一个大于等于 k” 的形式,然后考虑先递归左/右儿子。 Code(以找第一个大于等于 k 为例):inline int get(int x, int l, int r, int k) {if (l == r) return l;pushdown(x, l, r);if (maxn[lson] >= k) retur…...
ABP - SqlSugar [SqlSugarModule、ISqlSugarClient、SqlSugarRepository]
SqlSugar ORM 集成 核心辅助类:SqlSugarModule:SqlSugar集成模块(需手动引入社区包)。 ISqlSugarClient:SqlSugar核心客户端。 SqlSugarRepository<T>:基于SqlSugar的仓储实现。你关注到了ABP与SqlSugar ORM的集成细节,这个组合能兼顾ABP的模块化架构和SqlSugar的…...
