JVM调优二 2023-07-29 | Java 字数: 27k | 时长 ≈ 1:38 本文深入JVM即时编译器JIT,优化Java编译。 说到编译,一定会想到 .java 文件被编译成 .class 文件的过程,这个编译我们一般称为前端编译。 Java 的编译和运行过程非常复杂,除了前端编译,还有运行时编译。 由于机器无法直接运行 Java 生成的字节码,所以在运行时,JIT 或解释 ... 阅读全文 »
leetcode算法 2023-07-28 | 算法 字数: 201k | 时长 ≈ 12:11 leetcode算法练习。 1135最低成本联通所有城市最小生成树 图的生成树是一棵含有其所有的顶点的无环联通子图,一幅加权图的最小生成树( MST ) 是它的一颗权值(树中所有边的权值之和)最小的生成树。 并查集 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。常常在使用中以森 ... 阅读全文 »
推送系统的容灾建设与实践 2023-07-26 | 项目 字数: 6.5k | 时长 ≈ 23 mins. 本文介绍了推送系统容灾建设和关键技术方案,以及实践过程中的思考与挑战. 推送系统介绍vivo推送平台是vivo公司向开发者提供的消息推送服务,通过在云端与客户端之间建立一条稳定、可靠的长连接,为开发者提供向客户端应用实时推送消息的服务,支持百亿级的通知/消息推送,秒级触达移动用户。 推送系 ... 阅读全文 »
解密游戏推荐系统的建设之路 2023-07-26 | 项目 字数: 16k | 时长 ≈ 58 mins. 本文从零开始介绍了游戏推荐项目的发展历程,阐述了大型项目建设中遇到的业务与架构问题以及开发工程师们的解决方案,描绘了游戏推荐项目的特点以及业务发展方向,有着较好的参考与借鉴意义。 游戏推荐的背景与意义从信息获取的角度来看,搜索和推荐是用户获取信息的两种主要手段,也是有效帮助产品变现的两种方式,搜索是 ... 阅读全文 »
Jedis 参数异常引发服务雪崩案例分析 2023-07-26 | 项目 字数: 37k | 时长 ≈ 2:15 Redis 作为互联网业务首选的远程缓存工具而被大面积使用,作为访问客户端的 Jedis 同样被大面积使用。本文主要分析 Redis3.x 版本集群模式发生主从切换场景下 Jedis 的参数设置不合理引发服务雪崩的过程。 背景介绍Redis作为互联网业务首选的远程缓存工具而被被大家熟知和使用,在客户 ... 阅读全文 »
月光宝盒 2023-07-26 | 工具 字数: 5.1k | 时长 ≈ 18 mins. 月光宝盒是一个基于流量录制回放的自动化测试平台,通过录制回放取代编写脚本进行自动化回归,提升测试效率和覆盖率。因为其解决方案具有很强的通用性 月光宝盒 是什么?Moonbox(月光宝盒)是 JVM-Sandbox 生态下的一款流量录制回放产品。所谓流量录制回放是服务端通过挂载agent探针自动注册到 ... 阅读全文 »
Java类加载器 2023-07-25 | Java 字数: 36k | 时长 ≈ 2:12 本文介绍类加载过程及如何自定义加载器。 Java类加载器基本知识写好的代码经过编译变成了字节码,并且可以打包成 Jar 文件。然后 JVM 去加载需要的字节码,变成持久代/元数据区上的 Class 对象,接着才会执行我们的程序逻辑。 运行 java 程序的第一步就是加载 class 文件& ... 阅读全文 »
JVM常见问题 2023-07-25 | Java 字数: 21k | 时长 ≈ 1:15 本文讲述JVM相关的常见问题 1. 什么是 JVM?JVM 全称是 Java Virtual Machine,中文称为 Java 虚拟机。 JVM 是 Java 程序运行的底层平台,与 Java 支持库一起构成了 Java 程序的执行环境。 分为 JVM 规范和 JVM 实现两个部分。简单来说,Ja ... 阅读全文 »
常见GC算法 2023-07-25 | Java 字数: 12k | 时长 ≈ 43 mins. 大多数 JVM 都需要使用两种不同的 GC 算法——一种用来清理年轻代,另一种用来清理老年代。 我们可以选择 JVM 内置的各种算法。如果不通过参数明确指定垃圾收集算法,则会使用相应 JDK 版本的默认实现。 常见垃圾收集器串行 GC(Serial GC)串行 GC 对年轻代使用 mark-copy ... 阅读全文 »