个人日记
文章平均质量分 80
小沈同学呀
JAVA程序猿一枚,擅长分布式微服务、高并发、多线程等常规架构。记录成为架构师之路的点滴,分享工作中的各种疑难杂症。
展开
-
Spring Boot框架强大的事件驱动模型(ApplicationEvent)
SpringBoot框架提供了强大的事件驱动模型(ApplicationEvent),允许应用程序组件之间通过发布和监听事件来进行松耦合的通信。在实际的生产场景中,我们可以使用事件进行缓存、邮件、日志解耦,从而提高系统性能。原创 2024-04-25 17:29:56 · 795 阅读 · 5 评论 -
从0到1:Java构建高并发、高可用分布式系统的实战经验分享
在面对复杂的分布式系统构建时,不仅需要掌握扎实的技术栈,更要在实践中不断探索与优化,以满足日益增长的业务需求,同时保持对新技术的关注与学习,从而为团队带来更高效、稳定的系统解决方案。原创 2024-03-21 17:02:41 · 530 阅读 · 5 评论 -
【实战】VMware17虚拟机以及Centos7详细安装教程
很早之前就想分享一期关于虚拟机的博文,苦恼的是一直没有找到机会。这不最近我个人的阿里云服务器到期了,自己又不想续费,主要是太贵了。那么,现在就在本地电脑上安装个VMware17虚拟机吧,然后再安装一个Centos7系统,这不又可以愉快的玩耍了。打开VMware虚拟机,「文件 → 新建虚拟机 → 自定义 → 下一步」。自定义硬件 → 移除 「USB控制器、声卡」(这样可以让虚拟器启动的快一点)。至此,虚拟机中的硬件已经搭建完成。原创 2024-03-15 15:36:31 · 1924 阅读 · 1 评论 -
设计并实现一个并发安全的LRU(Least Recently Used,最近最少使用)缓存结构
使用了LinkedHashMap作为基础数据结构,并通过重写removeEldestEntry方法实现了缓存满时自动淘汰最久未使用的元素。同时,为了保证在多线程环境下的线程安全性,我们在get和put方法上加了synchronized关键字或者使用了ReentrantLock来确保同一时间只有一个线程能执行修改缓存的操作原创 2024-02-26 14:47:25 · 436 阅读 · 5 评论 -
【JAVA高级面试题】运用锁机制实现一个自定义的阻塞队列
实现一个自定义的阻塞队列,它应该支持以下功能:添加元素到队列末尾(如果队列已满,则阻塞添加线程直到有空间)从队列头部移除元素(如果队列为空,则阻塞获取元素的线程直到有元素可消费)查询队列是否为空查询队列是否已满要求使用Java的ReentrantLock和Condition类来实现线程间的同步。原创 2024-02-21 17:19:12 · 452 阅读 · 4 评论 -
【实战】SpringBoot自定义 starter及使用
Starter是Spring Boot中的一个非常重要的概念,Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件)进行自动配置。使用者只需要依赖相应功能的Starter,无需做过多的配置和依赖,Spring Boot就能自动扫描并加载相应的模块。原创 2024-01-20 17:05:07 · 1167 阅读 · 2 评论 -
GUI JFrame实战:六一节,爱她就给她画个哆啦A梦吧
用JAVA语言GUI图形用户界面渲染图像还是比较容易,主要用到了JFrame窗口容器。在实际的开发中只需要覆写窗口的paint图层,并使用Graphics图像的一些常用的构图方法即可。原创 2023-05-31 10:04:41 · 424 阅读 · 12 评论 -
我的创作纪念日
做一件事很难,一直坚持做一件事情更难,一直坚持踏踏实实的做一件事可谓是难上加难。作为一个技术博客分享者,我明白分享的技术点必须是有效能够解决实际问题的,而不是记流水账的软文,当然,这个也是我一直在做和追求的东西。原创 2023-07-17 10:08:09 · 276 阅读 · 4 评论