SF
vivo 互联网技术
vivo 互联网技术
注册登录
关注博客
注册登录
主页
关于
RSS
字节码引用检测原理与实战
vivo互联网技术
2021-12-07
阅读 10 分钟
2.7k
本章中的字节码重点研究Java 字节码,Java字节码(Java bytecode)是Java虚拟机执行的一种指令格式。可以通过javap -c -v xxx.class(Class文件路径) 命令来查看一个Class对应的字节码文件,如下图所示:
vivo 敏感词匹配系统的设计与实践
vivo互联网技术
2021-12-06
阅读 6 分钟
3.1k
谛听系统是vivo的内容审核平台,保障了vivo各互联网产品持续健康的发展。谛听支持审核多种内容类型,但日常主要审核的内容是文本,下图是一个完整的文本审核流程,包括名单匹配、敏感词匹配、AI机器审核、人工审核四个环节。待审核文本需要顺次通过名单匹配、敏感词匹配、AI机器审核三个流程,若结果为嫌疑则需要人工审...
Redis线程模型的前世今生
vivo互联网技术
2021-11-30
阅读 13 分钟
2.6k
众所周知,Redis是一个高性能的数据存储框架,在高并发的系统设计中,Redis也是一个比较关键的组件,是我们提升系统性能的一大利器。深入去理解Redis高性能的原理显得越发重要,当然Redis的高性能设计是一个系统性的工程,涉及到很多内容,本文重点关注Redis的IO模型,以及基于IO模型的线程模型。
服务API版本控制设计与实践
vivo互联网技术
2021-11-29
阅读 4 分钟
3.5k
笔者曾负责vivo应用商店服务器开发,有幸见证应用商店从百万日活到几千万日活的发展历程。应用商店客户端经历了大大小小上百个版本迭代后,服务端也在架构上完成了单体到服务集群、微服务升级。
Chrome 插件特性及实战场景案例分析
vivo互联网技术
2021-11-23
阅读 6 分钟
9.3k
提起Chrome扩展插件(Chrome Extension),每个人的浏览器中或多或少都安装了几个插件,像一键翻译、广告屏蔽、录屏等等,通过使用这些插件,可以有效的提高我们的工作效率;但有时候,我们想要的某个功能市面上没有现成的插件,作为开发者自然而然想到,自己是否可以动手开发一个定制化的插件?网上目前很多不错的关于Chr...
vivo统一告警平台设计与实践
vivo互联网技术
2021-11-22
阅读 6 分钟
3.2k
一套监控系统检测和告警是密不可分的,检测用来发现异常,告警用来将问题信息发送给相应的人。vivo监控系统1.0时代各个监控系统分别维护一套计算、存储、检测、告警收敛逻辑,这种架构下对底层数据融合非常不利,也就无法实现监控系统更广泛场景的应用,所以需要进行整体规划,重新对整个监控系统架构进行调整,在这样的...
Android Activity Deeplink启动来源获取源码分析
vivo互联网技术
2021-11-16
阅读 9 分钟
5.2k
针对不同的跳入类型,app可能会选择提供不一致的服务,这个时候就需要对外部跳入的应用进行区分。一般来讲,我们会使用反射来调用Acticity中的mReferrer字段来获取跳转来源的包名。
如何“拼”出一个页面-游戏中心模块化实践
vivo互联网技术
2021-11-15
阅读 7 分钟
2k
vivo游戏中心是一款垂类的应用商店,为用户提供了多元化游戏的下载渠道。随着游戏中心手游品类的丰富,各品类用户的量级也不断增加,不同游戏偏好的用户核心关注点也不同,从预约、测试、首发、更新到维护,不同游戏生命周期节点的运营需要突出的重点不同。
深入剖析 RocketMQ 源码 - 消息存储模块
vivo互联网技术
2021-11-09
阅读 23 分钟
3.6k
RocketMQ 是阿里巴巴开源的分布式消息中间件,它借鉴了 Kafka 实现,支持消息订阅与发布、顺序消息、事务消息、定时消息、消息回溯、死信队列等功能。RocketMQ 架构上主要分为四部分,如下图所示:
vivo 全球商城:商品系统架构设计与实践
vivo互联网技术
2021-11-08
阅读 3 分钟
2.4k
一、前言随着用户量级的快速增长,vivo官方商城v1.0的单体架构逐渐暴露出弊端:模块愈发臃肿、开发效率低下、性能出现瓶颈、系统维护困难。从2017年开始启动的v2.0架构升级,基于业务模块进行垂直的系统物理拆分,拆分出来业务线各司其职,提供服务化的能力,共同支撑主站业务。商品模块是整个链路的核心,模块的增多严...
深入剖析Redis客户端Jedis的特性和原理
vivo互联网技术
2021-11-02
阅读 23 分钟
3k
Redis的Java生态的客户端当中包含Jedis、Redisson、Lettuce,不同的客户端具备不同的能力是使用方式,本文主要分析Jedis客户端。
高并发场景下JVM调优实践之路
vivo互联网技术
2021-11-01
阅读 9 分钟
4.3k
一、背景2021年2月,收到反馈,视频APP某核心接口高峰期响应慢,影响用户体验。通过监控发现,接口响应慢主要是P99耗时高引起的,怀疑与该服务的GC有关,该服务典型的一个实例GC表现如下图:可以看出,在观察周期里:平均每10分钟Young GC次数66次,峰值为470次;平均每10分钟Full GC次数0.25次,峰值5次;可见Full GC非...
Android构建工具--AAPT2源码解析(一)
vivo互联网技术
2021-10-26
阅读 26 分钟
6.8k
一、什么是AAPT2在Android开发过程中,我们通过Gradle命令,启动一个构建任务,最终会生成构建产物“APK”文件。常规APK的构建流程如下:(引用自Google官方文档)编译所有的资源文件,生成资源表和R文件;编译Java文件并把class文件打包为dex文件;打包资源和dex文件,生成未签名的APK文件;签名APK生成正式包。老版本的A...
你分库分表的姿势对么?——详谈水平分库分表
vivo互联网技术
2021-10-25
阅读 11 分钟
2.8k
提起分库分表,对于大部分服务器开发来说,其实并不是一个新鲜的名词。随着业务的发展,我们表中的数据量会变的越来越大,字段也可能随着业务复杂度的升高而逐渐增多,我们为了解决单表的查询性能问题,一般会进行分表操作。
高效动画实现原理-Jetpack Compose 初探索
vivo互联网技术
2021-10-19
阅读 8 分钟
3.6k
Jetpack Compose是Google推出的用于构建原生界面的新Android 工具包,它可简化并加快 Android上的界面开发。Jetpack Compose是一个声明式的UI框架,随着该框架的推出,标志着Android 开始全面拥抱声明式UI开发。Jetpack Compose存在很多优点:代码更加简洁直观、应用开发效率显著提升、Kotlin API功能直观、预览工具强大...
Redis大集群扩容性能优化实践
vivo互联网技术
2021-10-18
阅读 12 分钟
4.2k
某些业务对Redis集群访问时延比较敏感,例如现网环境对模型实时读取,或者一些业务依赖读取Redis集群的同步流程,会影响业务的实时流程时延。业务侧可能无法接受。
深入剖析 Spring WebFlux
vivo互联网技术
2021-10-12
阅读 13 分钟
5.4k
WebFlux 是 Spring Framework5.0 中引入的一种新的反应式Web框架。通过Reactor项目实现Reactive Streams规范,完全异步和非阻塞框架。本身不会加快程序执行速度,但在高并发情况下借助异步IO能够以少量而稳定的线程处理更高的吞吐,规避文件IO/网络IO阻塞带来的线程堆积。
设计模式如何提升 vivo 营销自动化业务扩展性 | 引擎篇01
vivo互联网技术
2021-10-11
阅读 14 分钟
3.7k
营销业务本身极具复杂多变性,特别是伴随着数字化营销蓬勃发展的趋势,在市场的不同时期、公司发展的不同阶段、面向不同的用户群体以及持续效果波动迭代,都会产生不同的营销策略决策。
深入理解Netty---从偶现宕机看Netty流量控制
vivo互联网技术
2021-09-28
阅读 6 分钟
5.6k
目前移动端的使用场景中会用到大量的消息推送,push消息可以帮助运营人员更高效地实现运营目标(比如给用户推送营销活动或者提醒APP新功能)。
vivo全球商城-营销价格监控方案的探索
vivo互联网技术
2021-09-27
阅读 3 分钟
2.6k
官网商城促销优惠的类型越来越多,能影响最终用户实付价的优惠就有抢购、满减、优惠券、代金券等。实际业务操作中存在不同促销优惠由不同运营配置的情况,如果运营间内部没有对齐的情况下,就会出现正常情况下不会同时设置的优惠被用户叠加享受,出现最终实付价低于成本价的可能。
深入剖析RocketMQ源码-NameServer
vivo互联网技术
2021-09-23
阅读 36 分钟
3.8k
通过上图可以看到,RocketMQ的核心组件主要包括4个,分别是NameServer、Broker、Producer和Consumer,下面我们先依次简单说明下这四个核心组件:
Percolator模型及其在TiKV中的实现
vivo互联网技术
2021-09-22
阅读 8 分钟
3.8k
Percolator是Google在2010年发表的论文《Large-scale Incremental Processing Using Distributed Transactions and Notifications》中提出的一种分布式事务解决方案。在论文中该方案是用来解决搜索引擎的增量索引问题的。
源码解读Dubbo分层设计思想
vivo互联网技术
2021-09-14
阅读 21 分钟
2.2k
如图描述Dubbo实现的RPC整体分10层:service、config、proxy、registry、cluster、monitor、protocol、exchange、transport、serialize。
vivo营销自动化技术解密|开篇
vivo互联网技术
2021-09-13
阅读 5 分钟
3.9k
营销自动化是指专门为营销部门或组织设计的软件平台和技术,可以更有效地在线进行多渠道营销并使重复性任务自动化。营销部门和销售人员通过制定任务和流程的操作标准,然后由IT系统进行解释、存储和执行,从而提高效率并减少人为错误。
从源码角度分析 MyBatis 工作原理
vivo互联网技术
2021-09-07
阅读 23 分钟
5.5k
一、MyBatis 完整示例这里,我将以一个入门级的示例来演示 MyBatis 是如何工作的。注:本文后面章节中的原理、源码部分也将基于这个示例来进行讲解。完整示例源码地址1.1. 数据库准备在本示例中,需要针对一张用户表进行 CRUD 操作。其数据模型如下: {代码...} 1.2. 添加 MyBatis如果使用 Maven 来构建项目,则需将下面...
Node.js 应用全链路追踪技术——[全链路信息获取]
vivo互联网技术
2021-09-06
阅读 11 分钟
4.6k
Node.js 应用也不例外,这里将分成两篇文章进行介绍;第一篇介绍 Node.js 应用全链路信息获取, 第二篇介绍 Node.js 应用全链路信息存储展示。
带你走进MySQL全新高可用解决方案-MGR
vivo互联网技术
2021-08-31
阅读 13 分钟
8.5k
相信很多人对MGR这个词比较陌生,其实MGR(全称 MySQL Group Replication 【MySQL 组复制】)是Oracle MySQL于2016年12月发布MySQL 5.7.17推出的一个全新高可用和高扩展的解决方案。具备以下特性:
vivo全球商城时光机 - 大型促销活动保障利器
vivo互联网技术
2021-08-30
阅读 6 分钟
2.7k
官网商城在双11、双12等大促期间运营同学会精心设计许多给到用户福利的促销活动,当促销活动花样越来越多后就会涉及到很多的运营配置工作(如指定活动有效期,指定活动启停状态,指定活动参与商品等等)。
Android模块化开发实践
vivo互联网技术
2021-08-24
阅读 7 分钟
6.1k
随着业务的快速发展,现在的互联网App越来越大,为了提高团队开发效率,模块化开发已经成为主流的开发模式。正好最近完成了vivo官网App业务模块化改造的工作,所以本文就对模块化开发模式进行一次全面的介绍,并总结模块化改造经验,帮助兄弟项目避坑。
vivo商城计价中心 - 从容应对复杂场景价格计算
vivo互联网技术
2021-08-23
阅读 6 分钟
6.9k
拆分后的促销系统初期只是负责了营销活动玩法的维护,促销中最为重要的计价业务仍然遗留在商城主站业务中,且由于历史建设问题,商城核心交易链路中商详页、购物车、下单这三块关于计价逻辑是分开独立维护的,没有统一,显然随着促销优惠的增加或者玩法的变动,商城侧业务重复开发量会显著加大。
上一页
1
…
More
7
8
9
(current)
10
11
…
More
下一页
上一页
9
(current)
下一页