- 博客(24)
- 问答 (1)
- 收藏
- 关注
原创 《缓存指南》
本文系统介绍了计算机缓存技术及其应用。首先阐述了缓存的基本概念和特征,包括命中率、最大空间和淘汰策略(FIFO、LRU、LFU)。其次详细分析了缓存在不同层级的位置实现,如浏览器、ISP、反向代理、本地/分布式缓存等。随后探讨了缓存相关技术(CDN)和常见问题(穿透、雪崩、一致性等)及其解决方案。文章还介绍了数据分布算法(哈希分布、顺序分布)和一致性哈希原理,最后给出了基于双向链表+HashMap的LRU算法实现。全文全面覆盖了缓存技术的核心知识点,为理解计算机系统性能优化提供了重要参考。
2025-08-15 18:03:36
882
原创 《负载均衡集群方案》
负载均衡集群通过将用户请求分发到多个无状态应用服务器节点,实现高可用性和伸缩性。常用的负载均衡算法包括轮询、加权轮询、最少连接和IP哈希等。转发方式有HTTP重定向、DNS解析、反向代理、网络层和链路层转发,其中直接路由(如LVS)因性能优越被广泛采用。此外,集群环境下需要解决Session管理问题,可采用粘性会话、Session复制或独立Session服务器等方式。更多技术文章请关注《代码长生论》微信公众号。
2025-08-08 14:41:45
532
原创 《API网关限流算法》
本文系统介绍了服务限流技术,从业务案例出发分析限流必要性,对比计数器、滑动窗口、漏桶和令牌桶四种算法的优缺点。重点演示了SpringCloud Gateway的令牌桶实现,包括配置、自定义限流规则和响应。针对分布式场景,提出Redis+Lua和Sentinel两种方案,并提供百万QPS优化技巧。最后总结了限流监控、常见问题及解决方案,形成完整的限流技术体系。
2025-08-07 11:53:06
394
原创 网关(Gateway)指南
本文介绍了SpringCloudGateway作为微服务API网关的核心功能与实现方案。文章对比了主流网关技术,重点讲解了SpringCloudGateway的基础配置、高级功能(限流、动态路由)及性能优化要点。同时提供了安全防护方案和性能监控指标,并给出企业级架构案例。最后针对不同规模企业给出技术选型建议:初创公司推荐SpringCloudGateway+Nginx,中大型企业建议Kong/APISIX+ServiceMesh,金融系统适合Envoy+自定义Filter。文章还包含常见故障排查方法,为开发
2025-08-06 11:09:18
825
原创 Nginx使用指南
Nginx是一款高性能的HTTP/反向代理服务器,由俄罗斯开发者伊戈尔·赛索耶夫创建,以BSD许可证发布。它以低内存消耗、高并发处理能力著称,支撑全球33.2%的网站和Twitter、Netflix等高流量平台。Nginx采用事件驱动模型,支持热部署和原生反向代理,配置简单高效。核心功能包括虚拟主机配置、负载均衡(轮询/最少连接/IP哈希)、静态文件缓存和安全防护(HTTPS/限流/WAF)。通过worker_processes调优、动静分离和状态监控可提升性能。典型应用场景包括千万级PV电商架构,常与LV
2025-08-05 10:47:51
900
原创 《事务(Transaction)全解析》
摘要:事务是数据库操作的最小逻辑单元,确保一组操作要么全部成功,要么全部失败(ACID特性:原子性、一致性、隔离性、持久性)。常见应用场景如银行转账。Spring提供@Transactional和TransactionTemplate两种事务管理方式。分布式事务可通过2PC、TCC、Saga或Seata等方案解决。优化建议包括避免长事务、合理选择隔离级别和索引优化。MySQL默认使用REPEATABLE READ隔离级别,不同级别影响并发性能和可能出现的问题(如脏读、幻读)。
2025-08-04 10:53:11
519
原创 Java对接DeepSeek API的完整指南
本文介绍了Java对接DeepSeek API的详细指南。首先说明获取API密钥和添加依赖的准备工作,接着分别演示了使用Apache HttpClient和OkHttp实现文本生成API对接的方法,包括请求构建和响应解析。此外还提供了图像识别API的对接示例,并给出最佳实践建议:错误处理、超时设置、异步调用等高级功能实现。最后介绍了流式响应处理的高级用法,并建议在实际项目中采取安全存储密钥、实现重试机制、添加速率限制等措施。文章提供了完整的代码示例,帮助开发者快速集成DeepSeek API功能。
2025-08-01 11:54:40
213
原创 《Java并发编程深度剖析:从JUC到虚拟线程 》
本文系统介绍了Java并发编程的核心技术与演进趋势。主要内容包括:1)JUC组件实现原理,如CAS原子操作、ConcurrentHashMap分段优化;2)锁机制演进,从偏向锁到重量级锁的性能对比;3)异步编程范式,展示CompletableFuture组合操作;4)虚拟线程(Project Loom)的革命性突破,对比传统线程的性能优势;5)并发问题诊断工具JFR和Arthas的使用方法;6)分布式锁实现与ThreadLocal内存泄漏防范;7)结构化并发等前沿技术。文章通过源码分析、性能数据对比和实战案
2025-07-31 11:00:17
255
原创 《代码质量提升指南》
《代码质量提升指南:从可读性到精简之道》 本文针对代码维护难题提出实用优化建议。在可读性方面,强调命名规范(避免歧义、使用表达力强的词汇)和代码风格(合理注释、格式统一)。控制流优化包括简化条件判断、减少嵌套层次。变量管理建议缩小作用域、及时拆分长表达式。函数设计原则提出"单一职责",通过抽取子函数分解复杂逻辑。最后提倡自然语言伪代码设计和避免过度工程,用标准库减少代码量。文章提供了从命名规范到整体架构的全方位代码质量提升方案,尤其适合面临"屎山"代码的开发者参考。
2025-07-30 10:37:24
852
原创 《我的第一个开源项目:从颤抖的双手到收获Star的成长之旅》
摘要:作者回忆了从开源新手到项目维护者的成长历程。首次提交PR时因害怕被拒而忐忑不安,在资深开发者的代码审查中领悟到可维护性的重要性。经历第一个Star的喜悦后,又因代码缺陷收到愤怒的Issue,从而学会对生产环境负责。文章提炼出给新手的实用建议,并指出开源的真谛在于传递接力棒,让每个贡献都成为他人脚手架的一部分。这段经历展现了开源社区如何通过代码审查、问题修复等互动,实现技术传承与共同成长。(149字)
2025-07-29 10:50:52
662
原创 《数据库SQL 语法》
本文介绍了SQL数据库的基础知识和常用操作,包括数据库创建、表操作、数据增删改查、过滤排序、分组计算、视图存储过程、触发器事务管理等核心概念。详细讲解了SELECT查询、JOIN连接、子查询、UNION组合等查询技巧,以及函数、通配符、计算字段等数据处理方法。同时涵盖了权限管理、字符集校对等高级内容,并提供了MySQL特有的存储过程、游标、触发器等实现方式。文章强调SQL语句优化和数据库安全的重要性,适合作为SQL入门和进阶参考。
2025-07-29 10:04:24
699
原创 《数据库系统原理》
本文系统讲解了数据库事务的核心概念与实现原理。首先介绍了事务的ACID特性(原子性、一致性、隔离性、持久性)及其相互关系,分析了MySQL的自动提交模式。其次详细阐述了并发环境下可能出现的数据不一致问题(丢失修改、脏读、不可重复读、幻读),并提出了通过封锁机制解决的方案。文章深入解析了MySQL的锁机制(读写锁、意向锁、三级封锁协议、两段锁协议),以及四种隔离级别的特点。特别重点介绍了MVCC多版本并发控制原理,包括版本号系统、Undo日志和ReadView机制。最后介绍了数据库设计理论(函数依赖、范式)和
2025-07-28 11:34:07
960
原创 《Java 虚拟机》
本文深入解析了JVM的核心机制,包括运行时数据区域、垃圾收集、内存分配与回收策略以及类加载机制。重点介绍了堆内存结构、分代收集算法、引用类型比较,以及CMS和G1收集器的特点。在类加载部分,详细说明了双亲委派模型的工作流程和自定义类加载器的实现方式。文章还探讨了FullGC触发条件和内存分配策略,为深入理解JVM运行原理提供了系统性的知识框架。
2025-07-25 14:20:56
875
原创 《Java Set 接口详解:无序不重复元素的集合》
本文介绍了Java中的Set接口及其常用实现类。Set是存储无序不重复元素的集合接口,主要实现包括:基于哈希表的HashSet(查找最快)、维护插入顺序的LinkedHashSet和基于红黑树的TreeSet(自动排序)。文章详细比较了各类性能特点,列举了基本操作方法,并展示了去重、集合运算等典型应用场景。特别提醒使用自定义对象时需要正确重写hashCode()和equals()方法,且Set非线程安全。合理选择Set实现能提升程序效率和可读性。
2025-07-24 11:45:46
344
原创 《Java List江湖风云录:ArrayList与LinkedList的爱恨情仇》
本文系统解析Java中List接口的主要实现类及其特性。ArrayList基于动态数组实现,随机访问高效(O(1))但插入删除性能较差;LinkedList采用双向链表结构,在首尾增删操作上具有优势(O(1))。文章通过实测数据对比不同场景下的性能表现,并指出Vector在多线程环境中的不足,推荐使用CopyOnWriteArrayList等现代并发集合。同时提供了初始化容量优化公式、遍历方式对比及排序查找等实用技巧,最后根据不同应用场景给出List实现的选择策略,帮助开发者提升集合使用效率。
2025-07-23 09:26:19
247
原创 Java Map武林大会:HashMap、TreeMap与ConcurrentHashMap的巅峰对决》
本文系统介绍了Java Map家族的各类实现及其特性:HashMap基于哈希表实现,高效但无序;TreeMap通过红黑树保持有序,时间复杂度O(logn);ConcurrentHashMap采用分段锁优化并发性能。文章还分析了常见陷阱(如NPE)、性能优化技巧(初始化容量计算)和冷门实现(LinkedHashMap实现LRU缓存),并提供了不同场景下的选择建议,帮助开发者根据排序、并发等需求合理选用Map实现。
2025-07-22 10:47:00
406
原创 Java I/O :从基础到高性能实践
使用try-with-resources确保资源释放。更多实用文章,请关注微信公众号《代码长生论》选择合适缓冲区大小(通常8KB-32KB)吞吐量可达传统BIO的5-10倍。复用Buffer对象减少GC压力。大文件/高并发:NIO或AIO。线程阻塞等待I/O操作完成。大量并发连接时资源消耗严重。内存占用减少30%-50%小文件/低并发:传统BIO。超高并发:Netty等框架。单机支持10万+并发连接。区分暂时性错误和致命错误。及时关闭不需要的连接。记录完整的错误上下文。
2025-07-21 14:45:21
244
原创 《Java线程:从并发新手到高并发达人的通关秘籍》
直接抛出RejectedExecutionException。"threadFactory":"自定义"你在多线程编程中踩过最深的坑是什么?title 线程池参数。VisualVM线程监控可视化。检查条件 → 虚假唤醒问题。:让提交任务的线程自己执行。吞吐量(ops/ms):丢弃队列中最老的任务。
2025-07-16 11:01:59
366
原创 Java基础——数据类型
在 jdk 1.8 所有的数值类缓冲池中,Integer 的缓冲池 IntegerCache 很特殊,这个缓冲池的下界是 - 128,上界默认是 127,但是这个上界是可调的,在启动 jvm 的时候,通过 -XX:AutoBoxCacheMax=<size> 来指定这个缓冲池的大小,该选项在 JVM 初始化的时候会设定一个名为 java.lang.IntegerCache.high 系统属性,然后 IntegerCache 初始化的时候就会读取该系统属性来决定上界。
2025-07-15 14:35:22
357
原创 MDAderson KB 爬虫API文档
这个就是整个网站要获取的数据 下期我们讲述如何通过爬虫获取网页具体的数据。6、提取表并保存到therapeutic_implication。8、提取临床试验并保存到md_clinical_trial表中。7、从表格中提取药物信息并保存到药物表格中。一、通过搜索基因提取32个基因。2、:提取到gene_info表。最后附一个表名称列表。
2025-02-11 09:54:11
272
空空如也
撤销当前分支中自己提交的代码
2022-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人