JVM实战—9.线上FGC的几种案例
本文详细探讨了JVM性能优化中的几个关键案例与问题。首先分析了如何优化每秒十万QPS的社交APP,通过增加Survivor区大小和优化内存碎片解决频繁Full GC的问题。接着讨论了垂直电商后台系统FGC的深度优化,定制JVM参数模板以降低GC频率。还探讨了不合理设置JVM参数导致频繁FGC的情况,并提出了解决方案。此外,针对线上系统每天数十次FGC的问题,定位到大对象是主要原因,并通过调整新生代大小等参数优化。同时,分析了电商大促活动中因System.gc()调用导致系统卡死的现象,建议禁用显式GC。
Mybatis一级缓存、二级缓存详讲
本文介绍了MyBatis中的查询缓存机制,包括一级缓存和二级缓存。一级缓存基于同一个SqlSession对象,重复查询相同数据时可直接从缓存中获取,减少数据库访问。执行`commit`操作会清空SqlSession缓存。二级缓存作用于同一namespace下的Mapper对象,支持数据共享,需手动开启并实现序列化接口。二级缓存通过将数据存储到硬盘文件中实现持久化,为优化性能,通常在关闭Session时批量写入缓存。文章还说明了缓存的使用场景及注意事项。
重学Java基础篇—Java对象创建的7种核心方式详解
本文全面解析了Java中对象的创建方式,涵盖基础到高级技术。包括`new关键字`直接实例化、反射机制动态创建、克隆与反序列化复用对象,以及工厂方法和建造者模式等设计模式的应用。同时探讨了Spring IOC容器等框架级创建方式,并对比各类方法的适用场景与优缺点。此外,还深入分析了动态代理、Unsafe类等扩展知识及注意事项。最后总结最佳实践,建议根据业务需求选择合适方式,在灵活性与性能间取得平衡。
1-bit大模型还能再突破!新一代BitNet架构启用4位激活值
BitNet a4.8 是一种新型的 1-bit 大语言模型架构,由微软研究院和中国科学院大学提出。该模型通过混合量化与稀疏化技术,在注意力和前馈网络中使用 4 位激活值,中间状态采用 8 位量化,有效减少量化误差。相比 BitNet b1.58,BitNet a4.8 在性能相当的情况下显著提升了推理速度,并支持 3 位 KV 缓存。其两阶段训练策略从 8 位逐步适应到 4 位激活值,简化了训练过程。尽管存在特定任务上的局限性,BitNet a4.8 为 1-bit LLM 的发展提供了新方向,未来可进一步优化并拓展至更多领域。
Redis如何优化频繁命令往返造成的性能瓶颈?
频繁的命令往返是Redis性能优化中需要重点关注的问题。通过使用Pipeline、Lua脚本、事务、合并命令、连接池以及合理设置网络超时,可以有效减少网络往返次数,优化Redis的性能。这些优化措施不仅提升了Redis的处理能力,还能确保系统在高并发情况下的稳定性和可靠性。
AI变革药物研发:深势科技的云原生实践之路
阿里云与深势科技联合推出Bohrium®科研云平台和Hermite®药物计算设计平台,通过分子模拟技术大幅缩短药物研发周期、降低成本并提升成功率,为生物医药行业带来变革。
【YashanDB知识库】要有好的跑批性能,有哪些参数要注意
本文来自YashanDB官网,主要探讨了在使用YashanDB进行批量任务时如何优化性能。文章列举了影响跑批性能的关键参数,并提供了最佳配置建议,涵盖空间划分、快照管理、统计信息收集及参数调整等方面。适用版本为YashanDB 23.2及以上。通过合理配置如REDO参数、IO模式、并行度和内存设置等,可显著提升批量任务的执行效率。更多性能调优内容可参考官方文档。
YashanDB共享集群V23.3 新特性解读
本文根据YashanDB集群首席架构师孟凡彬在“2024年国产数据库创新生态大会”上的演讲整理,聚焦YashanDB共享集群近一年的新特性。内容涵盖主备集群方案、存储架构优化、在线即时恢复技术、智能全局缓存刷盘策略等,大幅提升高可用性与性能。此外,还介绍了4节点共享集群的高性能实现、内核能力增强及未来规划,如在线弹性伸缩、多机执行优化等。YashanDB企业版和个人版已开放下载,欢迎体验。
崖山数据库YashanDB的共享集群机制初探
YashanDB共享集群是崖山数据库系统的核心特性,支持单库多实例并发读写,确保强一致性与高可用性。基于Shared-Disk架构和Cohesive Memory技术,实现数据页协同访问及资源控制。其核心组件包括YCK、YCS和YFS,提供金融级RPO=0、RTO<10秒的高可用能力。通过自研“七种武器”(如页内锁、去中心化事务管理等),优化性能并解决读写冲突。相比Oracle RAC,YashanDB在TPC-C测试中性能高出30%,适用于金融、电信等关键领域,推动国产化替代进程。
HarmonyOS ArkTS声明式UI开发实战教程
本文深入探讨了ArkTS作为HarmonyOS生态中新一代声明式UI开发框架的优势与应用。首先对比了声明式与命令式开发的区别,展示了ArkTS如何通过直观高效的代码提升可维护性。接着分析了其核心三要素:数据驱动、组件化和状态管理,并通过具体案例解析布局体系、交互组件开发技巧及复杂状态管理方案。最后,通过构建完整TODO应用实战,结合调试优化指南,帮助开发者掌握声明式UI设计精髓,感受ArkTS的独特魅力。文章鼓励读者通过“破坏性实验”建立声明式编程思维,共同推动HarmonyOS生态发展。