• 2024-10-12第 2 章 基础支持层(下)
    2.6DataSourceMyBatis提供了两个javax.sql.DataSource接口实现,分别是PooledDataSource和UnpooledDataSource。MyBatis使用不同的DataSourceFactory接口实现创建不同类型的DataSource。2.6.1工厂方法模式在工厂方法模式中,定义一个用于创建对象的工厂接口,并根
  • 2024-10-11【API文档】apache.的BooleanUtils类
    org.apache.commons.lang3.BooleanUtils类方法分析方法签名功能或适用场景入参详细解释publicstaticbooleanand(finalboolean...array)对一组boolean值进行与操作array:一组boolean值publicstaticBooleanand(finalBoolean...array)对一组Boolean对象进
  • 2024-10-11HikariPool
    springboot默认连接池 https://www.jianshu.com/p/eb85103f29d6 HikariPool数据库连接池配置详解justonemoretry关注IP属地:北京0.2362022.05.1215:41:47字数1,847阅读21,9771.简介Hikari连接池目前公认是性能最高的数据库连接池,同时也是SpringBoot2.0以后
  • 2024-10-10[JOI 2013 Final]彩灯
    [JOI2013Final]彩灯题意给出一个\(01\)序列,可以把一段区间反转。求反转后序列最长的交替子段,即\(010101\ldots\)或\(101010\ldots\)。思路首先发现一个性质,反转的一定是一段交替子段。因为反转不交替子段对答案的贡献不优。枚举反转哪一段交替子段,统计左右两边的
  • 2024-10-10[JOI 2013 Final]JOIOI 塔
    [JOI2013Final]JOIOI塔题意给出一个由\(\text{JOI}\)组成的字符串,可从中取出一些子序列。求最多取出多少\(\text{IOI}\)和\(\text{JOI}\)。思路若答案\(x\)可行,则所有\(y<x\)均可行,若答案\(x\)不可行,则所有\(y>x\)均不可行。这样就可以可行性二分。考虑如
  • 2024-10-10[JOI 2013 Final]现代豪宅
    [JOI2013Final]现代豪宅题意给出一个\(n\timesm\)的网格图,每两个格子之间有一扇门。初始上下方向的门都是开着的,左右方向的门是关着的。有一些格子有按钮,可以把打开的门关上,关上的门打开。走一步需要一秒,按按钮需要一秒,求从\((1,1)\)到达\((n,m)\)的最小步数。思路
  • 2024-10-10[JOI 2013 Final]搭乘 IOI 火车
    [JOI2013Final]搭乘IOI火车题意给出两个由\(\text{OI}\)组成的字符串\(S,T\)。可以删除每个字符串的前缀和后缀。每次从剩下部分的第一位取出一个字符放到新的字符串中。要求新字符串必须以\(\text{I}\)开头结尾,相同的字符不能相邻,求新字符串的最大长度。思路定义
  • 2024-10-10Java 函数式编程(1 万字)
    此笔记来自于B站黑马程序员goodJava历史版本及其优势函数式编程,StreamAPI一.函数伊始函数、函数对象函数对象行为参数法延迟执行a-lambdab-方法引用复习小测Math::random()->Math.random()Math::sqrt(doublenumber)->Math.sqrt(number)Stude
  • 2024-10-08了解final关键字在Java并发编程领域的作用吗?
    在Java并发编程领域,final关键字扮演着一个至关重要的角色。虽然很多同学熟悉final用于修饰变量、方法和类的基本用法,但其在并发环境中的应用和原理却常常被忽视。final关键字不仅仅是一个简单的修饰符,它在多线程编程中确保对象状态的可见性和不变性,这对于构建线程安全的应用至关重
  • 2024-10-08简单说说 ReentrantLock
            ReentrantLock底层依赖AQS进行实现,是一种可重入的锁。        在ReentrantLock中实现公平锁和非公平锁。        在公平锁中,当调用lock方法,会先判断队列是否存在等待中的节点,如果队列无节点,会尝试去获取锁,如果获取到了锁,则执行业务代码,如果
  • 2024-10-06ReentrantLock 实现原理
    文章目录ReentrantLock基本使用可重入锁等待可中断设置超时时间公平锁条件变量ReentrantLock原理加锁流程解锁流程可重入锁原理可打断原理公平锁原理条件变量原理ReentrantLock基本使用在Java中,synchronized和ReentrantLock都是用于确保线程同步的锁,都属于
  • 2024-10-06[JOI 2024 Final] 建设工程 2
    [JOI2024Final]建设工程2题意给出一张图和\(S\),\(T\)。可在任意两点\(u,v(u<v)\)之间添加一条长度为\(L\)的边(只可添加一次)。求有多少种添加方案使得\(S\)到\(T\)的最短路长度\(\leK\)。思路首先,若\(S\)到\(T\)的最短路已经\(\leK\),答案为\(\frac{n\t
  • 2024-10-04JOI 2020 Final
    A-長いだけのネクタイ(JustLongNeckties)JOI公司开了一个派对。有\(n+1\)条领带,第\(i\)条领带的长度是\(a_i\)。有\(n\)名员工,第\(i\)名员工适合长度不超过\(b_i\)的领带。对于一种将\(n\)条领带配对给\(n\)的人的方案,设第\(i\)条领带匹配了第\(j\)
  • 2024-10-02JOI 2018 Final
    A-ストーブ(Stove)有\(n\)个客人将要来访,第\(i\)个客人的来访时间为\([a_i,a_i+1]\),保证\(\foralli\in[1,n),a_i<a_{i+1}\)。在每个客人来访时,你都需要保证暖炉是亮着的(初始时暖炉为熄灭状态)。你可以在任意时刻熄灭暖炉,但每次点亮都需要消耗一根火柴,且你
  • 2024-10-01Mockito 是借助什么技术来 mock final 类和 final 方法的
    Mockito借助JavaAgent和字节码操作技术来实现对final类和final方法的mock。具体来说,它主要依赖于以下两个关键技术:1.JavaAgent(InstrumentationAPI)Mockito通过使用JavaAgent来实现运行时的字节码操作,这允许在程序加载类时修改类的字节码行为,从而突破final
  • 2024-09-29[Spring]事务失效之static和final
    在Spring中,事务的处理是通过AOP(面向切面编程)机制实现的。通常,Spring使用代理模式来拦截方法调用并在合适的时机开启、提交或回滚事务。而final和static关键字可能导致事务失效的主要原因与代理机制的局限性有关。下面我们将详细解释为什么final和static关键字会导
  • 2024-09-29CAS原子类:AtomicLongArray源码解析
    AtomicLongArray内部维护了一个int类型的数组,需要先复习下数组对象的在内存中的结构,这对接下来对数组类型原子类的理解至关重要。一、数组对象的内存结构我们运行以下代码并将数组对象的内存结构通过JOL工具打印出来,关于这部分知识,参考之前的文章:深入理解Java对象结构publiccl
  • 2024-09-26Java高效编程(2):面对多个构造参数时考虑使用构建器模式
    解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界在Java编程中,静态工厂和构造函数都存在一个局限性:当可选参数数量较多时,它们的扩展性较差。以表示食品包装上营养成分标签的类为例,这些标签包含几个必需字段——如份量大小、每容器的份数和每份的卡路里——以及超
  • 2024-09-25P9726 [EC Final 2022] Magic
    首先注意到能产生贡献的只有\(l_i,r_i\),虽然这是废话,因为每个点都有一个唯一对应的\(l_i\)或\(r_i\),但我认为刚刚的性质还是挺有用的,因为这启发我们考虑每个点的贡献,然而对于一个点可选可不选,并考虑每个的贡献,点之间有些限制,这非常网络流。于是我们去分析这些性质,发现有包含
  • 2024-09-25关于 ReentrantLock 中锁 lock() 和解锁 unlock() 的底层原理浅析
    关于ReentrantLock中锁lock()和解锁unlock()的底层原理浅析一、描述如下代码,当我们在使用ReentrantLock进行加锁和解锁时,底层到底是如何帮助我们进行控制的啦?staticLocklock=newReentrantLock();publicstaticvoidmain(String[]args){/
  • 2024-09-252024EC Finals 游记
    期末考试刚结束就坐上了去往上海的火车,由于大二在12号上午还有考试,我们一起在12号下午从北京出发,也就没有参加热身赛的机会。看了看热身赛的榜,感觉每个学校的队伍都非常强力,像区域赛那样夺杯的概率显然为0,希望能争取一下金牌。13号由于记错集合时间,我和金老师(蓝色线段树成员
  • 2024-09-252024 CCPC Final 游记
    CCPCFinal2023赛季国内的最后一战,也算是最艰难的一次。去成都参加CCPCFinal的周末正好还撞上了我的高代月考和苏子佩的概率论考试,请假了还没有补考机会,不会直接记0分吧(不愧是北下关周考大学)。周五早上坐飞机去往成都,这还是苏子佩和StarSilk第一次坐飞机,而且StarSilk
  • 2024-09-25final 关键字
    java提供了以关键字给我们使用,可以修饰父类成员方法,让其只能被子类使用,不能重写。final:最终的,不可改变的点击查看代码classFu7{publicfinalvoidfun1(){System.out.println("江川是世界上最帅且有钱的男人!");}}classZi7extendsFu7
  • 2024-09-25android 10 禁止通过adb命令的方式删除特定APK
    —a/frameworks/base/services/core/java/com/android/server/pm/PackageManagerShellCommand.java+++b/frameworks/base/services/core/java/com/android/server/pm/PackageManagerShellCommand.java@@-1636,84+1636,88@@classPackageManagerShellCommandextends
  • 2024-09-24CCPC 2023 Final
    \(A.\)考虑合法的b序列长什么样,我们倒着做,把+变成-,在所有\(b_{i}>b_{i+1}\)的\(i\)操作\(b_{i}-b_{i+1}\)次前缀,后缀同理,最终要求b全部相等非负即满足条件。考虑前缀(后缀)操作本质是从某个地方开始后下降次数,那么我们设\(b_{0}=b_{n+1}=inf\),最终只需要判断\(\sum|b_{i}-b_{i+1}