有没有想过 Shallow 和 Retained heap 之间的区别? Eclipse MAT(内存分析器工具)是分析 JVM 堆 Dump 文件的强大工具。当尝试分析内存相关的问题时,它非常方便。在 Eclipse MAT 内存分析的报告中会显示对象两种类型的 Heap 信息: Shallow Heap Retained Heap 在本文中,我们主要讨论它们之间的区别, […]
有没有想过 Shallow 和 Retained heap 之间的区别? Eclipse MAT(内存分析器工具)是分析 JVM 堆 Dump 文件的强大工具。当尝试分析内存相关的问题时,它非常方便。在 Eclipse MAT 内存分析的报告中会显示对象两种类型的 Heap 信息: Shallow Heap Retained Heap 在本文中,我们主要讨论它们之间的区别, […]
在应用系统中,使用缓存不算非常难的事,但是设计好一套缓存策略比较麻烦,这样既能起到好的缓存效果也能在合适的时候更新缓存。 今天我们聊聊缓存。 不过,在计算机科学中,有很多种缓存。我们先聊聊缓存的类型,再谈应用系统中的缓存。 我们会涉及哪些缓存知识? 这里我把缓存分为两类: 非应用缓存:难以被程序员干预、控制和使用的缓存,但是我们能通过选择合适的数据结构,写出缓存友好的代码。 […]
一篇新论文:Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4 总结下来就是 26 条有效的提示词技巧,绝大部分都很熟悉了,不过温习一下也不错! 1 - 与大型语言模型 (LLM) 交流无需使用礼貌用语,如“请”、“谢谢”等,直接表达需求即可。 2 - 在提示中指明目标受 […]
2023 年注定会成为一个里程碑,它标志着人工智能创新的一个转折点……同时,这一年对于开源 AI 来说也意义非凡。让我们快速回顾一下: 1月 - ChatGPT 成为史上增长速度最快的应用程序 2月 - Meta 推出了 Llama-1,这是一个研究型许可证项目 - 第一个实用的大型开源模型横空出世,引发了一轮研究和创新的热潮 - Runway 推出了基于 Stable D […]
本系列共三篇文章, 本文是系列第2篇——进阶篇,详细讲解 MAT 各种工具的核心功能、用法、适用场景,并在具体实战场景下讲解帮大家学习如何针对各类内存问题。 《JVM 内存分析工具 MAT 的深度讲解与实践——入门篇》 介绍 MAT 产品功能、基础概念、与其他工具对比、Quick Start 指南。 《JVM 内存分析工具 MAT 的深度讲解与实践——进阶篇》 展开并详细讲 […]
作为一个开发,日常工作中免不了要画一些图,无论是技术架构图还是业务流程图。基于个人的一些经验,作者分享了他的作图方法,给大家一点思路提供参考,希望在未来的工作、生活中都能有所帮助。
笔者在一线互联网公司,经历过数次大型系统的重构项目,也多次担任技术负责人,经历的重构项目包含:日吞吐量数万亿的计算型系统、基础架构中间件系统、高并发高稳定性要求的C端系统、业务复杂性较高的B端系统等。 同时了解到大型重构项目风险高、难度大、易流产,因此总结了本文供大家参考学习交流。 任何系统在持续的演进迭代的历程中,都难免因各类因素导致迈向重构,比如:系统可塑性与业务需求无 […]
引言 JVM 内存分析往往由团队较资深同学来做,本系列帮助读者全面深度掌握 MAT 的使用方法。即使没有分析实践经验,也能快速成为内存分析高手! 本系列共计3篇: 《JVM 内存分析工具 MAT 的深度讲解与实践——入门篇》介绍 MAT 产品功能、基础概念、与其他工具对比、Quick Start 指南。 《JVM 内存分析工具 MAT 的深度讲解与实践——进阶篇》展开并详细 […]
SQL优化是数据库稳定高效的基础,那么日常开发中常见的SQL优化技巧有哪些呢? 一、回顾:MySQL的执行过程 回顾 MySQL的执行过程,帮助介绍如何进行SQL优化。 (1)客户端发送一条查询语句到服务器; (2)服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据; (3)未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQL […]
限流是一种控制访问速率的策略,用于限制系统、服务或API接口的请求频率或数量。它的目的是为了保护系统免受过多请求的影响,防止系统因过载而崩溃或变得不可用。限流是一种重要的性能优化和资源保护机制。 限流的好处有以下几个: 保护系统稳定性:如果系统接受太多请求,超出了其处理能力,可能导致系统崩溃或响应时间急剧增加,从而影响用户体验。限流可以帮助控制请求速率,确保系统稳定运行。 […]
作者:vivo 互联网服务器团队 - Zhou Shaobin 本文主要介绍了Spring事务传播性的相关知识。 Spring中定义了7种事务传播性: PROPAGATION_REQUIRED PROPAGATION_SUPPORTS PROPAGATION_MANDATORY PROPAGATION_REQUIRES_NEW PROPAGATION_NOT_SUPPOR […]
互联网时代越来越多的实时协作软件出现,例如在线点餐、文档编辑、在线绘图等。 今天来聊聊这些场景一般如何实现的。 场景和问题 实时协作软件一般用于多个人同时操作(也包括一个人多个会话)。例如 Google Doc 可以支持同时编辑文档,并将多人编辑的结果合并到一起展示,而且能相互看到其它人的操作。 但是,在实现过程中会有非常多的技术问题和业务逻辑问题需要考虑: Web 平台如 […]
大部分程序员都会遇到过类似的 Bug:用户创建或者更新的数据在查询时偏移了 8 个小时。 我们有时候会在网上找一些文章,胡乱的配置后问题修复了,但是过一段时间后往往又会出现。 时间和时区的问题往往就像幽灵一样发生在程序员身上。 这一期的系统设计话题我们来盘点一下时间的问题,澄清相关的概念,以及相关的解决方案。 生活中的时间和时区 古人尸佼说,天地四方曰宇,往古来今曰宙,其中 […]
这个话题来自网友提交和项目上真实的案例,即如何实现企业内部多个应用之间的数据交换。 这个话题非常实用,我们先从问题开始聊起(在很多系统设计的过程中,我们发现问题比答案有时候更有价值,因为问题贴合业务价值)。 问题 案例 1 业务和推荐系统集成 假设有两个系统,分别是 A 系统和 B 系统。A 系统是一个事务处理系统,而 B 系统则是一个算法和推荐系统。A 系统向 B 系统提 […]
在上一部分,分层架构的目的是为了将业务规则剥离出来在单独的领域层中进行实现。再回顾一下领域驱动设计的分层中应用层代码的实现。 @Override public void pay(int orderId, float amount) { DesignerOrder order = designerOrderRepository.selectByKey(orderId); // […]
BeanUtils (1) BigDecimal (1) CDC (1) ETL (1) github (1) heap (1) LLaMa (1) MAT (5) MDM (1) Sora (1) TCP (1) 业务图 (1) 企业应用 (1) 停机迁移 (1) 内存泄露 (4) 协议 (1) 可用性 (1) 基础设施层 (1) 堆内存 (1) 堆外存 (1) 大事记 (1) 实时协作 (1) 对象转换 (1) 应用架构 (1) 异常 (3) 技术规范 (1) 技术选型 (4) 提示工程 (1) 数据交换 (1) 数据共享 (1) 数据双写 (1) 日期 (1) 时间 (1) 时间线 (1) 术语 (1) 架构方案 (14) 流程图 (1) 精度 (1) 线程模型 (1) 经验分享 (1) 网络编程 (2) 解耦 (1) 软件复杂性 (1) 软件工程 (1) 重构 (4) 重试 (1) 隔离级别 (1) 集群扩容 (1) 领域层 (3) 领域模型 (1)
COPYRIGHT © 2014-2024 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang