缓存

首页 标签 缓存
# 缓存 #
关注
63426内容
学习数据结构和算法的框架思维
本文系统梳理数据结构与算法本质,主张“一切数据结构源于数组和链表”,算法核心是“穷举”。强调掌握遍历框架与思维模式(如递归、分解问题),学会无遗漏、无冗余地解决问题。通过归纳常见算法套路,帮助读者建立框架思维,以一驭万,高效刷题。
|
1小时前
|
1-常用过滤器介绍
Spring Security通过过滤器链实现安全控制,如SecurityContextPersistenceFilter管理上下文,UsernamePasswordAuthenticationFilter处理登录,CsrfFilter防范跨站请求伪造等。不同过滤器各司其职,按配置动态加载,共同构建完整安全体系。(238字)
|
1小时前
|
一场FullGC故障排查
本文记录了一次由Full GC引发的CPU使用率异常问题排查过程。通过分析JVM堆内存发现,大对象(List<Map>)导致老年代频繁占满,触发Full GC,进而引起CPU飙升。结合JPofiler工具定位到代码中Excel数据加载逻辑存在内存膨胀问题,最终提出优化方案并总结排查思路。
|
1小时前
|
七、ThreadLocal
ThreadLocal是线程本地变量,为每个线程提供独立的变量副本,避免线程间竞争。每个线程可独立操作自己的数据,互不干扰。适用于如任务耗时统计等场景,提升性能。子线程无法继承父线程的ThreadLocal值,但可通过InheritableThreadLocal实现数据传递。底层通过ThreadLocalMap存储,线程退出时自动清理,也可手动remove释放内存。
|
1小时前
|
五、Executors工厂类详解
本文深入解析Java中Executors类提供的12种线程池创建方法,涵盖newFixedThreadPool、newCachedThreadPool、newWorkStealingPool及ScheduledExecutorService等,对比其核心参数、工作原理与适用场景,并结合源码分析任务调度机制、线程复用策略与队列行为,重点探讨周期任务调度延迟、死循环任务影响等实际问题,帮助开发者准确选择和使用线程池,提升并发编程能力。
|
1小时前
|
One Trick Per Day
初始化Map应避免默认容量导致的扩容开销,推荐使用Guava的`newHashMapWithExpectedSize`或手动计算初始容量。,应显式通过`ThreadPoolExecutor`定义核心参数。`Arrays.asList`返回不可变列表,不支持增删操作,且与原数组共享数据。遍历Map时优先使用`entrySet`,减少遍历次数提升性能;JDK8可用`forEach`。`SimpleDateFormat`非线程安全,禁用static修饰,建议使用ThreadLocal或JDK8新时间API。并发更新记录需加锁,可采用数据库乐观锁(version)或缓存锁机制,确保数据一致性。
|
2小时前
|
应用架构图
在业务架构基础上,技术架构将需求转化为技术实现。它涵盖分层设计、技术选型与关键组件关系,包括单体四层结构(表现、业务、数据、基础层)和分布式SOA架构,明确应用内外调用关系及边界,形成完整技术体系图谱,支撑系统高效落地。(239字)
|
2小时前
|
应用架构图
技术架构是将业务需求转化为技术实现的关键过程,基于应用架构明确技术分层、框架、语言及关键技术选型。涵盖单体与分布式架构,界定系统内外调用关系与边界,形成完整技术体系图谱。
|
2小时前
|
自动装配机制
SpringBoot主启动类通过@SpringBootApplication注解实现自动装配,其核心由@ComponentScan、@SpringBootConfiguration和@EnableAutoConfiguration组成。该注解组合利用元注解定义行为,并通过@Import导入配置类,借助SpringFactoriesLoader加载spring.factories中预设的自动配置类,结合条件注解实现智能化Bean注入,从而简化开发配置。
|
2小时前
|
如何使用磁盘上的倒排文件进行检索?
利用倒排文件检索时,优先将词典加载至内存以提升效率。通过哈希表或B+树定位关键词,再读取对应文档列表(posting list)。若其过长,则采用分层索引(如跳表、B+树)按需加载;结合LRU缓存常用数据,减少磁盘IO,提高检索性能。
免费试用