SF
vivo 互联网技术
vivo 互联网技术
注册登录
关注博客
注册登录
主页
关于
RSS
手把手教你实现Android编译期注解
vivo互联网技术
2021-07-27
阅读 11 分钟
5.4k
从早期令人惊艳的ButterKnife,到后来的以ARouter为首的各种路由框架,再到现在谷歌大力推行的Jetpack组件,越来越多的第三方框架都在使用编译期注解这门技术,可以说不管你是想要深入研究这些第三方框架的原理 还是要成为一个Android高级开发工程师,编译期注解都是你不得不好好掌握的一门基础技术。
灵活运用分布式锁解决数据重复插入问题
vivo互联网技术
2021-07-26
阅读 7 分钟
3.1k
许多面向用户的互联网业务都会在系统后端维护一份用户数据,快应用中心业务也同样做了这件事。快应用中心允许用户对快应用进行收藏,并在服务端记录了用户的收藏列表,通过用户账号标识OpenID来关联收藏的快应用包名。
深度解析 Lucene 轻量级全文索引实现原理
vivo互联网技术
2021-07-20
阅读 13 分钟
8.8k
一、Lucene简介1.1 Lucene是什么?Lucene是Apache基金会jakarta项目组的一个子项目;Lucene是一个开放源码的全文检索引擎工具包,提供了完整的查询引擎和索引引擎,部分语种文本分析引擎;Lucene并不是一个完整的全文检索引擎,仅提供了全文检索引擎架构,但仍可以作为一个工具包结合各类插件为项目提供部分高性能的全文...
从源码分析Hystrix工作机制
vivo互联网技术
2021-07-19
阅读 24 分钟
4.5k
一、Hystrix解决了什么问题?在复杂的分布式应用中有着许多的依赖,各个依赖都有难免在某个时刻失败,如果应用不隔离各个依赖,降低外部的风险,那容易拖垮整个应用。举个电商场景中常见的例子,比如订单服务调用了库存服务、商品服务、积分服务、支付服务,系统均正常情况下,订单模块正常运行。但是当积分服务发生异常...
打通“任督二脉”:Android 应用安装优化实战
vivo互联网技术
2021-07-13
阅读 5 分钟
5.6k
疑问:(1)了解APK安装流程有什么好处(2)了解APK安装流程可以解决什么问题一、可以在安装流程里做什么安装就分为下面三个阶段,每个阶段可以做些什么工作,可以帮助我们优化安装流程,解决安装后的一些问题呢?(1)安装前、安装中:这两个阶段,第三方应用做不了什么,一般是应用分发APP应用商店、游戏中心、浏览器...
初探 Redis 客户端 Lettuce:真香!
vivo互联网技术
2021-07-12
阅读 9 分钟
12.6k
一、Lettuce 是啥?一次技术讨论会上,大家说起 Redis 的 Java 客户端哪家强,我第一时间毫不犹豫地喊出 "Jedis, YES!"“Jedis 可是官方客户端,用起来直接省事,公司中间件都用它。除了 Jedis 外难道还有第二个能打的?”我直接扔出王炸。刚学 Spring 的小张听了不服:“SpringDataRedis 都用 RedisTemplate!Jedis?不存...
Android系统Bitmap内存分配原理与优化
vivo互联网技术
2021-07-06
阅读 7 分钟
8.7k
笔者最近致力于vivo游戏中心稳定性维护,在分析线上异常时,发现有相当一部分是由OutOfMemory引起。谈及OOM,我们一般都会想到内存泄漏,其实,往往还有另外一个因素——图片,如果对图片使用不当的话,很容易吃掉大量内存,从而导致异常。
富文本编辑器之游戏角色升级ing
vivo互联网技术
2021-07-05
阅读 10 分钟
4k
一、前言想必大家看到这个标题,心中不禁会浮现几个问题:什么是富文本编辑器?富文本编辑器和游戏角色有什么关系?为什么是升级ing?什么是富文本编辑器——富文本编辑器集成了格式设置、媒体嵌入、社交互动等一系列编辑功能,所见即所得的给用户提供多元的展示效果。譬如论坛、社区、评论等等都用到了富文本编辑器。和游...
解放生产力,自动化生成vue组件文档
vivo互联网技术
2021-06-29
阅读 5 分钟
5.6k
Vue框架在前端开发中应用广泛,当一个多人开发的Vue项目经过长期维护之后往往会沉淀出很多的公共组件,这个时候经常会出现一个人 开发了一个组件而其他维护者或新接手的人却不知道这个组件是做什么的、该怎么用,还必须得再去翻看源码,或者压根就没注意到这个组件 的存在导致重复开发。这个时候就非常需要维护对应的组...
vivo商城促销系统架构设计与实践-概览篇
vivo互联网技术
2021-06-28
阅读 4 分钟
3.4k
随着商城业务渠道不断扩展,促销玩法不断增多,原商城v2.0架构已经无法满足不断增加的活动玩法,需要进行促销系统的独立建设,与商城解耦,提供纯粹的商城营销活动玩法支撑能力。
十亿级流量下,我与Redis时延小突刺的战斗史
vivo互联网技术
2021-06-22
阅读 14 分钟
3.5k
某一日收到上游调用方的反馈,提供的某一个Dubbo接口,每天在固定的时间点被短时间熔断,抛出的异常信息为提供方dubbo线程池被耗尽。当前dubbo接口日请求量18亿次,报错请求94W/天,至此开始了优化之旅。
详解Apache Dubbo的SPI实现机制
vivo互联网技术
2021-06-21
阅读 13 分钟
9.1k
SPI全称为Service Provider Interface,对应中文为服务发现机制。SPI类似一种可插拔机制,首先需要定义一个接口或一个约定,然后不同的场景可以对其进行实现,调用方在使用的时候无需过多关注具体的实现细节。在Java中,SPI体现了面向接口编程的思想,满足开闭设计原则。
Android客户端网络预连接优化机制探究
vivo互联网技术
2021-06-17
阅读 10 分钟
6.3k
一般情况下,我们都是用一些封装好的网络框架去请求网络,对底层实现不甚关注,而大部分情况下也不需要特别关注处理。得益于因特网的协议,网络分层,我们可以只在应用层去处理业务就行。但是了解底层的一些实现,有益于我们对网络加载进行优化。本文就是关于根据http的连接复用机制来优化网络加载速度的原理与细节。
你有一份Rx编程秘籍请签收
vivo互联网技术
2021-06-15
阅读 6 分钟
2.1k
在学习Rx编程的过程中,理解Observable这个概念至关重要,常规学习过程中,通常需要进行多次“碰壁”才能逐渐“开悟”。这个有点像小时候学骑自行车,必须摔几次才能掌握一样。当然如果有办法能“言传”,则可以少走一些弯路,尽快领悟Rx的精妙。
干货:ANR日志分析全面解析
vivo互联网技术
2021-06-08
阅读 13 分钟
15.6k
开发阶段:通过工具检查各个方法的耗时,卡顿情况,发现一处修改一处。线上阶段:这个阶段主要依靠监控工具发现ANR并上报,比如matrix。分析阶段:如果线上用户发生ANR,并且你获取了一份日志,这就涉及了本文要分享的内容——ANR日志分析技巧。
深入浅出负载均衡
vivo互联网技术
2021-06-07
阅读 20 分钟
4.2k
垂直扩展:在网站发展早期,可以从单机的角度通过增加硬件处理能力,比如 CPU 处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升。但是,单机是有性能瓶颈的,一旦触及瓶颈,再想提升,付出的成本和代价会极高。这显然不能满足大型分布式系统(网站)所有应对的大流量,高并发,海量数据等挑战。
dex优化对Arouter查找路径的影响
vivo互联网技术
2021-06-01
阅读 4 分钟
5.6k
1、通过aapt打包资源文件res,对应生成R.java、resources.arsc和res文件(二进制&非二进制保持原来的代码)
基于开源Tars的动态负载均衡实践
vivo互联网技术
2021-05-31
阅读 6 分钟
4k
官方的描述是:TARS是一个支持多语言、内嵌服务治理功能,与Devops能很好协同的微服务框架。我们在开源的基础上做了很多适配内部系统的事情,比如与CICD构建发布系统、单点登录系统的打通,但不是这次我们要介绍的重点。这里想着重介绍一下我们在现有的负载均衡算法之外实现的动态负载均衡算法。
Mybatis-Plus的应用场景及注入SQL原理分析
vivo互联网技术
2021-05-25
阅读 8 分钟
5k
一、背景1.1 传统Mybatis的弊端1.1.1 场景描述假设有两张表:一张商品表、一张订单表,具体表的字段如下:现有如下需求:分别根据id查询商品表和订单表所有信息根据支付状态和通知状态查询订单表信息对订单表增加一个订单状态,根据订单状态查询订单信息1.1.2 需求需求a:根据id查询商品表: {代码...} 根据id查询订单表...
玩转直播系列之消息模块演进(3)
vivo互联网技术
2021-05-24
阅读 8 分钟
4.2k
即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的作用。
Kafka万亿级消息实战
vivo互联网技术
2021-05-18
阅读 18 分钟
4.4k
本文主要总结当Kafka集群流量达到 万亿级记录/天或者十万亿级记录/天 甚至更高后,我们需要具备哪些能力才能保障集群高可用、高可靠、高性能、高吞吐、安全的运行。
玩转直播系列之RTMP协议和源码解析(2)
vivo互联网技术
2021-05-17
阅读 16 分钟
11.2k
实时消息传输协议(Real-Time Messaging Protocol)是目前直播的主要协议,是Adobe公司为Flash播放器和服务器之间提供音视频数据传输服务而设计的应用层私有协议。RTMP协议是目前各大云厂商直线直播业务所公用的基本直播推拉流协议,随着国内直播行业的发展和5G时代的到来,对RTMP协议有基本的了解,也是我们程序员必须...
Tars-Java客户端源码分析
vivo互联网技术
2021-05-08
阅读 14 分钟
2.7k
在分布式计算中,远程过程调用(Remote Procedure Call,缩写 RPC)允许运行于一台计算机的程序调用另一个地址空间计算机的程序,就像调用本地程序一样,无需额外地为这个交互作用涉及到的代理对象构建、网络协议等进行编程。
玩转直播系列之从 0 到 1 构建简单直播系统(1)
vivo互联网技术
2021-05-07
阅读 9 分钟
5.6k
随着5G时代的到来,音视频行业也可能迎来一个行业的春天,直播则是新视频行业一直以来的一个重要的产品形态,从最初的秀场直播,游戏直播,到今年由于疫情,目前比较火的在线教育直播,带货直播等,各类新的直播形式则是越来越多的展示在大众面前。
如何把 Caffeine Cache 用得如丝般顺滑?
vivo互联网技术
2021-04-28
阅读 10 分钟
6.5k
在推荐服务中,虽然允许少量请求因计算超时等原因返回默认列表。但从运营指标来说,越高的“完算率”意味着越完整的算法效果呈现,也意味着越高的商业收益。(完算率类比视频的完播率,成功完成整个推荐线上流程计算的请求次数/总请求次数)
commons-pool2 池化技术探究
vivo互联网技术
2021-04-27
阅读 11 分钟
7.2k
我们经常会接触各种池化的技术或者概念,包括对象池、连接池、线程池等,池化技术最大的好处就是实现对象的重复利用,尤其是创建和使用大对象或者宝贵资源(HTTP连接对象,MySQL连接对象)等方面的时候能够大大节省系统开销,对提升系统整体性能也至关重要。
系统高可用之健康检查和健康度量那些事
vivo互联网技术
2021-04-26
阅读 6 分钟
4.7k
随着互联网的快速发展,同类同质产品之间的竞争越来越大,产品之间一个重要的差异就是用户体验。影响用户体验的,除了产品设计因素外,技术层面也是一个重要的影响因素,主要体现在服务的可用性和响应速度。提升服务可用性和响应速度如此重要,为了实现这样的目标,必须要有相应的手段,其中健康检查就是保障服务可用性...
加密原理详解:对称式加密VS非对称式加密
vivo互联网技术
2021-04-21
阅读 5 分钟
6.2k
小红和小明是情侣,一天,小红给小明发短信说:“亲爱的,我银行卡上没有钱了,你给我转1万块吧。”有过上当受骗经历的人都知道这有可能是小偷偷了小红手提包,然后拿手机发的短信。不过我们小明学过加密原理,于是他回复说:“你直接拿我的银行卡刷吧,密码加上我们第一次约会的日期就是663156。”很明显,只有小明和小红知...
抢购倒计时自定义控件的实现与优化
vivo互联网技术
2021-04-20
阅读 18 分钟
3.3k
但是国内的电商应用大部分都仅支持中文,不适配其他的语言,因此当倒计时与其他文案处于同一行展示时,无需考虑倒计时的展示方式。在海外应用中,由于需要适配各种语言,有些小语种的文案较长,因此当倒计时和其他文案处于同一行展示时,需要充分考虑多语言的适配,如何优雅地完成倒计时自适应显示是一个值得深思的问题。
深入剖析共识性算法 Raft
vivo互联网技术
2021-04-19
阅读 9 分钟
3.9k
Raft 是一种为了管理日志复制的分布式一致性算法。Raft 出现之前,Paxos 一直是分布式一致性算法的标准。Paxos 难以理解,更难以实现。Raft 的设计目标是简化 Paxos,使得算法既容易理解,也容易实现。
上一页
1
…
More
8
9
10
(current)
11
12
…
More
下一页
上一页
10
(current)
下一页