Wesley13 Wesley13
4年前
Android关于Dex拆分(MultiDex)技术详解
一、前言关于Android中的分包技术,已经不是什么新的技术了,网上也有很多解析了,但是他们都是给了理论上的知道和原理解析,并没有详细的案例说明,所以这里我们就来详细讲解一下Android中dex拆分技术的解析。在讲解之前,我们还是先来看一下为什么有这个技术的出现?google为什么提供这样的技术。二、背景在开发应用时
Stella981 Stella981
4年前
ClickHouse中的低基数字段优化
在ClickHouse中,String字符串类型相比其他数据类型而言,一个显著的差异是String类型的大小是不固定的。所以除了常规的列字段压缩手段之外,还延伸出了一些额外的优化思路。在《ClickHouse原理解析与应用实践》(你没看错,这是最终敲定的书名)这本书的_数据定义_章节中,曾提过在一些场合可以使用Enum枚举类型代替Stri
Stella981 Stella981
4年前
Lua中table的实现
本文来自《Lua设计与实现》的阅读笔记,推荐Lua学习者可以购买一本,深入浅出讲解lua的设计和实现原理,很赞,哈哈Lua中对于表的设计,是基于数组和散列表,和其他语言不同,对于数组的下标是从1开始的,对于散列表而言,只要其键值补位nil,都可以存储在其中。一、table的基本类型定义首先看看table的数据定义,参考源码lobject.
Stella981 Stella981
4年前
NewSQL和TiDB入门
TiDB已经在项目中使用,从了解来看,它主要解决的是分布式事务的问题,而我们实际使用场景,却是大数据量下不需要关注分表;最近实在忙加懒,一直没时间看TiDB的原理。今天看了下PingCAP3篇入门介绍,收获挺多;首先TiDB的存储使用的是KV,名字叫TiKV,实际数据落地使用的是Facebook开源的RocksDB;RocksDB只能支持单机存储
Stella981 Stella981
4年前
Kubernetes 弹性伸缩全场景解析(三)
在上一篇文章中,给大家介绍和剖析了HPA的实现原理以及演进的思路与历程。本文我们将会为大家讲解如何使用HPA以及一些需要注意的细节。autoscaling/v1 实践v1的模板可能是大家平时见到最多的也是最简单的,v1版本的HPA只支持一种指标—— CPU。传统意义上,弹性伸缩最少也会支
Stella981 Stella981
4年前
Container内部进程监控
目前市场上的虚拟化技术种类很多,例如moby(docker)、LXC、RKT等等。在带来方便应用部署和资源充分利用的好处的同时,如何监控相应Container及其内部应用进程成为运维人员不可避免遇到的新情况。UAV.Container从虚拟化技术的基础原理和Linux操作系统的内核特性出发,得到Container容器和内部进程的各维度监控数据,使无论是虚拟
Wesley13 Wesley13
4年前
CSS 清除浮动 伪类
参考链接:https://www.cnblogs.com/yingsu/p/7261904.html不清楚浮动的结果和影响不再描述,清除浮动的代码别处也有很多,每种方法都有十分简洁的代码,我今天学到的是有伪类来清除浮动。他的原理简单来说就是再已经浮动的元素后面添加一个什么也没有的元素,以此来消除子元素因为浮动而让父元素塌陷的一种解决办法。
Stella981 Stella981
4年前
Container及其内部进程监控剖析
目前市场上的虚拟化技术种类很多,例如moby(docker)、LXC、RKT等等。在带来方便应用部署和资源充分利用的好处的同时,如何监控相应Container及其内部应用进程成为运维人员不可避免遇到的新情况。UAV.Container从虚拟化技术的基础原理和Linux操作系统的内核特性出发,得到Container容器和内部进程的各维度监控数据,使无论是虚拟机
Stella981 Stella981
4年前
Registry 容器镜像服务端细节
引言通常我们在使用集群或者容器的时候,都会接触到存储在本地的镜像,也或多或少对本地镜像存储有一定的了解。但是服务端的镜像存储细节呢?本文主要介绍容器镜像的服务端存储结构,对于自建镜像服务或是对容器镜像底层原理或优化有兴趣的同学可以了解一下。相关开源项目目前容器镜像服务相关的开源项目主要有以下两个。R
Stella981 Stella981
4年前
JavaScript:垃圾收集机制
  JavaScript具有自动垃圾收集机制。也就是说,执行环境会负责管理代码执行过程中使用的内存。开发人员不必关心内存分配和回收问题。  垃圾收集机制的原理:找到不再继续使用的变量,然后进行释放其占用的内存。所以,垃圾收集器会按照固定的时间间隔(或代码执行中设定的收集时间)持续执行这一操作。  垃圾收集器会跟踪哪些变量有用哪些变量没用,对没用的变量