学习笔记
未读
内容来源于网络,如有侵权请联系删除
Spring Bean 一共有几种作用域?一共有六种作用域:
singleton:默认是单例,含义不用解释了吧,一个 IOC 容器内部仅此一个
prototype:原型,多实例
request:每个请求都会新建一个属于自己的 Bean 实例,这种作用域仅存在 Spring Web 应用中
session:一个 http session 中有一个 bean 的实例,这种作用域仅存在 Spring Web 应用中
application:整个 ServletContext 生命周期里,只有一个 bean,这种作用域仅存在 Spring Web 应用中
websocket:一个 WebSocket 生命周期内一个 bean 实例,这种作用域仅存在 Spring Web 应用中
别背网上那些多年前的答案了,官网最新截图:
@Qualifier 注解有什么作用 ?@Qualifier 注解在 Spring 中的主要作用是用于在依赖注入时消除歧义。当一个类型有多个实现时,@Qualifier 注解可以指定需要注入哪一个具体的 Bean。
例如以下代码, ...
学习笔记
未读
984bd7d0fda1d4283309ed094b1d09bdb4aaa07101ec48a82e924744057e65ca9e9543db7d34981607828939c1f220a2a273cb65ed907c7b43d217f1d164cc099c65bd6d8d8d87bff162189489a7155866f9f939fbeaf2271e3dc090e69fd42482e2a625b21571761ac7e14a82604d15608d03ae4176dc730d56cc5de15529b57ff86b2115890c3cceef7fd94157fb2787df2fc39b0ec6625feae1e481b10c20c8e786c6f256f9fa0bb7989e0c116a98ffde20a3be20c17bb44dd4dc23c0cfa231d377afe5490b40bccfa0daea67b611859d7fa5440afeb791009258e9379aff4780ab4d398b1221ec5494f1b48428873e0acbc7c8a9c095d ...
内容来源于网络,如有侵权请联系删除
为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)?Java 8 移除永久代并引入元空间,主要是为了解决 PermGen 固定大小、容易导致内存溢出、GC 效率低的问题。元空间使用本地内存,具备更灵活的内存分配能力,提升了垃圾收集和内存管理的效率。
PermGen 的局限性
固定大小:永久代的内存空间大小在 JVM 启动时是固定的,容易出现 内存溢出(OutOfMemoryError),尤其是在动态加载大量类时。
类和方法的存储限制:永久代用于存放类的元数据(类信息、方法等),其容量受限,导致某些应用特别是在大量动态生成类或使用大量第三方库时,容易出现内存管理问题。
GC 效率低:永久代内大部分存放的类的元数据是都是被使用的,不是垃圾对象,因此无法被回收,回收的效率很低。
Metaspace 的改进
使用本地内存:元空间使用的是 本地内存(Native Memory),而不是 JVM 的堆内存,这样使得内存的分配更加灵活,避免了 PermGen 固定大小带来的局限性。
自动调整大小:元空间可以根据应用的需要 ...
内容来源于网络,如有侵权请联系删除
什么是 Java 的 StampedLock?StampedLock 是 Java 8 引入的一个锁机制,与传统的 ReentrantLock 和 ReadWriteLock 相比,StampedLock 通过引入乐观读锁和时间戳(stamp)的概念,提升了读写性能,尤其是在读多写少的场景下。
核心特性:
写锁(write lock):独占模式的锁,和 ReentrantLock 类似,保证写操作的排他性。
悲观读锁(read lock):共享模式的锁,多个线程可以同时持有读锁,但写锁需要等待。
乐观读锁(optimistic read lock):无需阻塞的读锁机制,允许在没有竞争的情况下进行快速读取。当检测到有写操作发生时,才会回退到悲观读锁或重试。
时间戳(stamp):
每个锁操作都会返回一个 stamp,代表了锁的状态,后续操作需要根据这个 stamp 来验证锁是否有效。
StampedLock 的优缺点优点:
乐观读模式提供了更高效的并发读操作,避免了传统锁机制下的线程阻塞。
更灵活的锁机制,允许不同的锁模式进行切换,适合不 ...
学习笔记
未读
984bd7d0fda1d4283309ed094b1d09bdb4aaa07101ec48a82e924744057e65ca9e9543db7d34981607828939c1f220a2a273cb65ed907c7b43d217f1d164cc099c65bd6d8d8d87bff162189489a7155866f9f939fbeaf2271e3dc090e69fd42482e2a625b21571761ac7e14a82604d15608d03ae4176dc730d56cc5de15529b57ff86b2115890c3cceef7fd94157fb2787df2fc39b0ec6625feae1e481b10c20c8e786c6f256f9fa0bb7989e0c116a98ffde20a3be20c17bb44dd4dc23c0cfa231d377afe5490b40bccfa0daea67b611859d7fa5440afeb791009258e9379aff4780ab4d398b1221ec5494f1b48428873e0acbc7c8a9c095d ...
内容来源于网络,如有侵权请联系删除
Java 中有哪些集合类?请简单介绍 ?Java 中的集合类主要分为两大类:Collection 接口和 Map 接口。前者是存储对象的集合类,后者存储的是键值对(key-value)。
Collection 接口下又分为 List、Set 和 Queue 接口。每个接口有其具体实现类。以下是主要的集合类:
List 接口:
ArrayList:基于动态数组,查询速度快,插入、删除慢。
LinkedList:基于双向链表,插入、删除快,查询速度慢。
Vector:线程安全的动态数组,类似于 ArrayList,但开销较大。
Set 接口:
HashSet:基于哈希表,元素无序,不允许重复。
LinkedHashSet:基于链表和哈希表,维护插入顺序,不允许重复。
TreeSet:基于红黑树,元素有序,不允许重复。
所以网上有些说 Set 是无序集合非常不准确,因为需要看具体的实现类。
Queue 接口:
PriorityQueue:基于优先级堆,元素按照自然顺序或指定比较器排序。
LinkedList:可以作为队列使用,支持 FIFO(先进 ...
学习笔记
未读
内容来源于网络,如有侵权请联系删除
JAVA基础你认为 Java 的优势是什么?我觉得可以从跨平台、垃圾回收、生态、面向对象四个方面来阐述。
跨平台首先 Java 是跨平台的,不同平台执行的机器码是不一样的,而 Java 因为加了一层中间层 JVM ,所以可以做到一次编写多平台(如 Windows、Linux、macOS)运行,即 「Write once,Run anywhere」。
编译执行过程是先把 Java 源代码编译成字节码,字节码再由 JVM 解释或 JIT 编译执行,而因为 JIT 编译时需要预热的,所以还提供了 AOT(Ahead-of-Time Compilation),可以直接把字节码转成机器码,来让程序重启之后能迅速拉满战斗力。
(解释执行比编译执行效率差,你想想每次给你英语让你翻译阅读,还是直接给你看中文,哪个快?)
垃圾回收Java 还提供垃圾自动回收功能,虽说手动管理内存意味着自由、精细化地掌控,但是很容易出错。
在内存较充裕的当下,将内存的管理交给 GC 来做,减轻了程序员编程的负担,提升了开发效率,更加划算!
生态现在 Java 生态圈太全了,丰富的第 ...
最近好多人都在折腾这个API,正好刚换了主题,我也来折腾下(主要别人铺好路了,不怕踩坑)
一、部署umami服务
引用站外地址
使用Docker搭建Umami统计,显示近一年的pv、uv数据的API搭建
@张洪Heo
此处使用Docker部署,需提前准备Docker环境
通过 Vercel 部署可参考文章:
引用站外地址
使用 Vercel 自建 Umami 服务
@The Wandering Allison
通过 Railway 部署可参考文章:
引用站外地址
使用 ...
博客折腾记
未读最近在交流群里发现很多人都在折腾怎么在公告栏显示访客欢迎语,感觉效果还不错,我也来折腾一下。
方案一
给主题添加来访者卡片
效果预览
配置步骤
安知鱼主题
申请API密钥注册青桔API,到密钥管理申请API_KEY即可,目前我们使用到的API是完全免费且无次数限制的。
现改用免费的 ip-api.com
创建JS文件在博客目录的 source 文件夹下创建 card-welcome.js 文件(也可以在source文件夹下另外新建文件夹)。
将以下内容复制到 card-welcome.js 中,并修改文件顶部配置信息
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 ...
最近看到洪哥的邮件模板,感觉很不错,又在原来的基础上进行了一些改造
引用站外地址
Twikoo评论回复邮件模板:Acrylic Mail 粉
@HEO
首先给头像添加了圆角样式,然后我不太喜欢粉色主题,改了下背景色为蓝色,另外发现博主模板无法显示${PARENT_NICK}和 ${PARENT_COMMENT},所以直接去掉了。
效果预览PC端效果
移动端效果
模板示例自行调整头像图片路径:https://blog.shiguang666.eu.org/img/avatar.png 这部分内容
游客模板1<div class="page flex-col"><div class="box_3 flex-col" style="display:flex;position:re ...















