- 博客(64)
- 收藏
- 关注
原创 类加载器 & 双亲委派机制
类加载器(ClassLoader) 是 Java 虚拟机(JVM)加载字节码文件(.class)到内存,并转换成 Class 对象的组件。双亲委派机制是 Java 类加载器的一种工作方式。当某个类加载器加载一个类时,它会先请求它的 父类加载器 尝试加载。如果父类加载器找不到这个类,它才会自己尝试加载。目的:防止核心类库被篡改(如 java.lang.String 不能被用户定义的类替换)。提高加载效率,避免重复加载同一个类。
2025-02-12 17:23:17
718
原创 MySQL InnoDB常用锁总结(行锁、间隙锁、临键锁、表锁)
在高并发数据库系统中,锁机制是保障数据一致性和事务隔离性的重要手段。MySQL 的 InnoDB 存储引擎提供了多种锁类型,包括行锁、间隙锁、临键锁和表锁。本文将详细介绍这些锁的原理、使用场景及其注意事项,并结合案例进行说明。
2025-01-07 17:26:39
1204
原创 常用的限流方案思路和实现
计数器滑动窗口算法是计数器固定窗口算法的改进,解决了固定窗口切换时可能会产生两倍于阈值流量请求的缺点。滑动窗口算法在固定窗口的基础上,将一个计时窗口分成了若干个小窗口,然后每个小窗口维护一个独立的计数器。当请求的时间大于当前窗口的最大时间时,则将计时窗口向前平移一个小窗口。平移时,将第一个小窗口的数据丢弃,然后将第二个小窗口设置为第一个小窗口,同时在最后面新增一个小窗口,将新的请求放在新增的小窗口中。同时要保证整个窗口中所有小窗口的请求数目之和不能超过设定的阈值。
2024-04-02 15:58:12
784
原创 Spring事务管理
Spring框架为事务管理提供了全面的支持,它简化了事务管理的复杂性,使得开发人员能够更专注于业务逻辑的实现。Spring支持声明式事务和编程式事务两种方式。声明式事务:通过在配置文件中进行事务的配置,或者通过在方法上使用@Transactional注解,可以非常方便地实现事务的管理。这种方式不需要编写大量的事务管理代码,因此在实际开发中得到了广泛的应用。编程式事务:通过编写代码来管理事务的边界,包括事务的开始、提交、回滚等操作。
2024-03-06 10:12:53
1150
1
原创 Java String之正则表达式
最近做项目时,遇到了限制输入字符格式的问题,采用了Java String的正则表达式,下面针对正则表达式使用进行概述。
2023-10-15 19:29:16
925
原创 写一个starter(spring boot)
自定义一个spring boot starter,介绍spring boot starter的相关原理
2023-07-08 15:14:15
462
原创 Netty入门
Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。Netty 主要针对在 TCP 协议下,面向 Client 端的高并发应用,或者 Peer-to-Peer 场景下的大量数据持续传输的应用。Netty 本质是一个 NIO 框架,适用于服务器通讯相关的多种应用场景。
2023-06-04 17:04:26
777
原创 Elasticsearch入门
elasticsearch是一个开源的分布式搜索分析引擎,被用作全文检索、结构化搜索、分析这三个功能的组合。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
2023-05-13 14:12:36
587
原创 Java线程池详解
Java线程池是Java并发学习中的一个重要知识点,线程池在实际开发过程中有着重要的作用,也是面试过程中重要的考题。针对线程池的核心参数,运行机制进行详细描述。
2023-05-07 15:04:33
874
原创 Java序列化和反序列化
序列化:将对象数据转化为方便磁盘存储或网络传输的格式,即将对象转为二进制形式。反序列化:把磁盘存储或者网络传输的数据转化为对象的形式,即将二进制转化乘对象。
2022-09-11 15:21:59
271
原创 Sparse Spatial Transformers for Few-Shot Learning
一篇将transformer结构融入到小样本学习中的论文
2022-07-04 10:55:05
873
2
原创 理解Spring Bean的创建过程和生命周期
众所周知,Spring IOC将bean创建的工作转移给了Spring容器类,可以看作一个工厂,比较常见的容器类有BeanFactory和ApplicationContext(实现了BeanFactory接口,提供了更多功能,如国际化)。同时,容器类的底层可以看作一个Map结构,key为beanname,value为bean实例。..................
2022-06-28 10:24:47
335
原创 String类型值不可变的原因
String类型值不可变的原因,误区:不能修改的原因是因为final关键字修饰了value数组。final修饰value数组只能说明value所指的引用地址不可修改,数组对应堆中的内容是可以变
2022-06-22 10:10:17
178
原创 三个线程顺序打印ABC
题目实现三个线程,一个线程打印a,一个线程打印b,一个线程打印c,三个线程同时执行,要求打印出10个连着的abc。实现使用Lock和Conditionimport java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class MyThreadOut { static Lock
2022-03-27 10:15:05
1573
转载 1T文件如何排序
1T文件如何排序先根据你的内存将大文件分段,比如:你的可用内存有1GB,那么就要将大文件分成1TB / 1GB = 1000段然后将每段依次读入内存,在内存中使用内部排序算法(例如快速排序,堆排序等)将其排好序,然后将其输出成各个分段文件,例如:file1,file2,…,file1000然后对这一千个分段文件的文件头(或文件指针),建立一颗败者树,用来选取当前最小的元素(或最大的元素,依你的排序要求而定)并将这最小的元素输出到最终的输出文件里。重复这一过程,直到1000个分段文件全部被输出。删
2022-03-20 19:05:19
939
原创 Java ::符号的作用
Java :: 符号的作用引用静态方法ContainingClass::staticMethodName引用特定对象的实例方法containingObject::instanceMethodName引用特定类型的任意对象的实例方法ContainingType::methodName引用构造函数ClassName::new待补充…...
2022-01-11 19:44:54
571
原创 Git常用操作
Git常用操作主要用来日常记录:Git的结构图#同步更新git fetchgit merge origin/mater## git pull = git fecth + git merge <branch>git pull <branch>#合并分支git merge <branch>#丢弃修改 https://www.jianshu.com/p/565306500575##未addgit checkout -- <filename>
2022-01-09 19:01:00
107
原创 设计模式--状态模式
状态模式状态模式,又称状态对象模式,状态模式是对象的行为模式。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。状态模式的示意性类图如下所示: 状态模式所涉及到的角色有:● 环境(Context)角色,也成上下文:定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个具体状态类的实例
2021-12-03 09:36:18
88
原创 Rethinking Few-Shot Image Classification: a Good Embedding Is All You Need
Rethinking Few-Shot Image Classification: a Good Embedding Is All You Need(ECCV)Abstract 目前针对元学习的研究主要集中在设计一个元学习算法,尝试从少量样本中获得样本的元知识,从而将元知识泛化应用到新的任务中。小样本学习是元学习中广泛应用的重要基准(benchmarks)之一。在本文中,作者发现一个性能好的embedding model要比复杂的元学习算法更加高效。所以文章从如何获得较优性能的Embed
2021-12-01 10:14:03
1935
原创 String类相关(底层,创建过程等)解读
String类详解源码:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; /** Cache the hash code for the string */ pri
2021-11-02 08:54:57
315
原创 Linux下的定时任务(at, crontab)
Linux下的定时任务(at, crontab)atat命令,只执行一次,可以看作是延时任务at命令格式at (选项)(参数)ctrl + D结束命令输入示例:1)使用相对时间执行命令时间单位可以是minutes(分钟)、hours(小时)、days(天)或weeks(星期)at now +3 minutes2)使用绝对时间执行命令它接受HH:MM形式的时间在一天的特定时间允许一项工作at 20:00 2008-10-1 在具体时间执行at允许复杂的时间规范,扩展
2021-10-17 09:48:11
503
1
原创 Java容器之Stack和Deque
Java容器之Stack和DequeStackJava的集合类并没有单独的Stack接口,有一个遗留类叫做Stack(栈,后进先出)。主要方法如下图所示:在Java Doc里建议使用Deque接口替代Stack完成栈的功能,为什么呢?因为Stack是继承Vector,Vector是由数组实现线程安全(方法使用synchronized修饰)的集合类,它包含了大量集合处理的方法,而Stack复用了Vector的方法实现进栈和出栈的操作,基于数组实现相比于链表实现,效率上受影响。同时,因为继承Vect
2021-10-14 21:31:10
1891
原创 最近最少使用算法(LRU)
最近最少使用算法(LRU)LRU 英文全称 ”Least Recently Used“,即最近最少使用,属于典型的内存管理算法。LRU用通俗的话来说就是最近被频繁访问的数据会具备更高的留存,淘汰那些不常被访问的数据。力扣,146、LRU缓存机制运用你所掌握的数据结构,实现一个LRU(最近最少使用)缓存机制。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 k
2021-09-27 19:58:32
4079
原创 开集识别(Open Set Recognition)
开集识别闭集识别 训练集中的类别和测试集中的类别是一致的,最常见的就是使用公开数据集进行训练,所有数据集中的图像的类别都是已知的,没有未知种类的图像。传统的机器学习的算法在这些任务上已经取得了比较好的效果。开集识别简述 现实场景中更多的是开放和非静态的环境,比如,一些没有见过的情况会意外出现。针对这一挑战提出的方法有持续学习、迁移学习、域适应、零样本、少样本学习、开集识别和分类等。 开集识别简单定义是,一个在训练集上训练好的模型,当利用一个测试集(该
2021-09-01 14:02:29
21188
4
原创 Dual-awareness Attention for Few-Shot Object Detection
Should I Look at the Head or the Tail? Dual-awareness Attention for Few-Shot Object Detection论文链接:https://arxiv.org/pdf/2102.12152.pdfIntroduction现有的少样本目标检测存在的问题:全局池化会导致严重的空间信息损失。基于卷积的注意力对于分布变化的目标之间关系的建模不够有效,会导致空间失调(spatial misalignment)。直接将多张同
2021-08-25 14:35:19
1235
原创 JVM内存模型
JVM内存模型内存区域划分jdk 1.8之前jdk 1.8程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完。另外,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。从上面的介绍中我们知道程序计数器主要有两个作用:
2021-08-24 10:34:44
99
原创 Few-Shot Object Detection via Sample Processing
Few-Shot Object Detection via Sample Processing来源 IEEE AccessIntroduction正样本的缺失是限制少样本目标检测性能的主要原因,样本太少导致的结果是过拟合和模型泛化能力差本文从少样本目标检测的样本角度出发,对于一个样本 a 和两个类别 M、N ,如果 a 的标签为类别 M 那么对于 M 来说它是正样本,对于 N 来说他就是负样本。另外根据模型判断的难易程度,它又可以定义为难样本和易样本。结合这两种维度的定义,样本类型可以分为四个类别
2021-08-04 19:04:00
606
2
原创 并发学习之锁类型概述
锁的概述乐观锁与悲观锁悲观锁指对数据被外界修改持保守态度,认为数据很容易就会被其他线程修改,所以在数据被处理前先对数据进行加锁,并在整个数据处理过程中,使数据处于锁定状态。悲观锁的实现往往依靠数据库提供的锁机制,即在数据库中,在对数据记录操作前给记录加排它锁。如果获取锁失败,则说明其他数据正在被其他线程修改,当前线程则等待或者抛出异常。如果获取锁成功,则对记录进行操作,然后提交事务后释放排它锁。乐观锁是相对悲观锁来说的,它认为数据在一般情况下才不会造成冲突,所以在访问记录前不会加排它锁,而是在进行数据
2021-07-23 15:06:56
126
原创 Context-Transformer: Tackling Object Confusion for Few-Shot Detection(AAAI20)
Context-Transformer: Tackling Object Confusion for Few-Shot Detection(AAAI20)论文题目: Context-Transformer: Tackling Object Confusion for Few-Shot Detection论文地址:https://arxiv.org/pdf/2003.07304.pdfIntroduction少样本目标检测使用的一个常用策略是迁移学习(transfer learning)——在源域
2021-07-13 10:47:11
508
原创 MySQL索引知识
MySQL索引学习索引创建创建表时创建(unique 代表唯一索引 fulltext代表全文索引 spatial代表空间索引)create table student( id int primary key, name varchar(255), sex varchar(10), index(name))使用create index创建索引(不能创建主键索引)create index index_name on table_name(co
2021-07-12 17:38:54
159
原创 FSCE: Few-Shot Object Detection via Contrastive Proposal Encoding
FSCE: Few-Shot Object Detection via Contrastive Proposal Encoding论文:Few-Shot Object Detection via Contrastive Proposal Encoding (CVPR2021)Introduction深度卷积网络的学习一般都需要大量的标记数据进行训练,但是对于人来说,通过几张新类别图片就可以快速学习到新类别并进行识别。两阶段的微调方法(TFA)在少样本目标检测上有着比较大的潜力,TFA只是简单地冻结
2021-06-09 16:57:28
3889
1
原创 目标检测中的检测指标
目标检测中检测指标IOUIOU称为交并比,预测框和真实框区域交集和并集的比值,图示如下代码实现def iou(box1, box2): ''' 两个框(二维)的 iou 计算 注意:边框以左上为原点 box:[top, left, bottom, right] ''' in_h = min(box1[2], box2[2]) - max(box1[0], box2[0]) in_w = min(box1[3], box2[3]
2021-06-02 16:11:09
370
1
原创 Multi-Scale Positive Sample Refinement for Few-Shot Object Detection
Multi-Scale Positive Sample Refinement for Few-Shot Object Detection来源:https://arxiv.org/abs/2007.09384 ECCV2020简介尺度不变性在一般的有监督的目标检测器中得到广泛研究,对于少样本目标检测(FSOD)的影响特别大,在样本数量有限的情况下,尺度问题更复杂。如下图所示,样本数量少的情况下目标尺度分布会比大量样本的情况下更加发散。特征金字塔网络建立多个尺度的特征图来检测不同大小的目标,被认为
2021-05-22 12:38:15
1180
原创 Few-shot Object Detection via Feature Reweighting
Few-shot Object Detection via Feature Reweighting论文链接:https://arxiv.org/abs/1812.01866Introduction
2021-04-25 16:19:47
920
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人