简
3年前
彻底理解安卓应用无响应机制
引言不论从事安卓应用开发,还是安卓系统研发,应该都遇到应用无响应(ANR,ApplicationNotResponding)问题,当应用程序一段时间无法及时响应,则会弹出ANR对话框,让用户选择继续等待,还是强制关闭。绝大多数人对ANR的了解仅停留在主线程耗时或CPU繁忙会导致ANR。面试过无数的候选人,几乎没有人能真正从系统级去梳理清晰ANR的
并发编程
并发编程笔记本博客根据学习而做的笔记,链接如下一、基本概念1、进程与线程进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的。当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。进程
作业帮 Kubernetes 原生调度器优化实践
作者吕亚霖,2019年加入作业帮,作业帮架构研发负责人,在作业帮期间主导了云原生架构演进、推动实施容器化改造、服务治理、GO微服务框架、DevOps的落地实践。简介调度系统的本质是为计算服务/任务匹配合适的资源,使其能够稳定高效地运行,以及在此的基础上进一步提高资源使用密度,而影响应用运行的因素非常多,比如CPU、内存、IO、差异化的资源设备等等一系列因
Stella981 Stella981
3年前
KVM 虚拟化原理探究(5)— 网络IO虚拟化
IO虚拟化简介前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理。作为一个完整的风诺依曼计算机系统,必然有输入计算输出这个步骤。传统的IO包括了网络设备IO,块设备IO,字符设备IO等等,在KVM虚拟化原理探究里面,我们最主要介绍网络设备IO和块设备IO,其实他们的原理都很像,但是在虚拟化层又分化开了,这也是为什么网络设备
Wesley13 Wesley13
3年前
C语言编译器为什么能够用C语言编写?
不知道大家有没有想过一个问题:C语言编译器为什么能够用C语言编写?所谓C语言编译器,就是把编程得到的文件,比如.c,.h的文件,进行读取,并对内容进行分析,按照C语言的规则,将其转换成cpu可以执行的二进制文件。在学习C/C或者想要学习C/C可以加入我们的学习交流QQ群:954607083,领取学习资料其本质在于对文件的读入,分析,及
Wesley13 Wesley13
3年前
解读阿里云oss
摘要:osssdk断点续传功能使用及其相关原理前言 移动端现状 随着移动端设备的硬件水平的不断提高,如今的cpu,内存等方面都大大的超过了一般的pc电脑,因此在现今的程序中,合理的使用多线程去完成一些事情是非常有必要的。 多线程上传的好处我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产
Wesley13 Wesley13
3年前
Java HashMap的死循环
在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成RaceCondition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然出现问题。但是,我发现近几年,很多人都经历过这个事(在网上查“
Wesley13 Wesley13
3年前
2019备考[嵌入式系统设计师]之“存储管理篇”
通过分析历年考题发现,在存储管理方面的题目蛮多的,应该是一个重要考点。无论是概念、理论、分析和计算都相当容易出题。这里就先拿这个点说说吧,其他的以后有时间再写了。1、存储器系统的层次架构计算机系统的存储器被组织成一个金字塔的层次结构。自上而下为:CPU内部寄存器、芯片内部高速缓存(cache)、芯片外部高速缓存(SRAM、SDRAM、
Wesley13 Wesley13
3年前
90%的人会遇到性能问题,如何用1行代码快速定位?
导读:如何在众多异常性能指标中,找出最核心的那一个,进而定位性能瓶颈点,最后进行性能调优。整篇文章会按照代码、CPU、内存、网络、磁盘等方向进行组织,针对对某一个优化点,会有系统的「套路」总结,便于思路的迁移实践。1.代码相关遇到性能问题,首先应该做的是检查否与业务代码相关——不是通过阅读代码解决问题,而是通过
Kubernetes 资源拓扑感知调度优化
作者星辰算力团队,星辰算力平台基于深入优化云原生统一接入和多云调度,加固容器运行态隔离,挖掘技术增量价值,平台承载了腾讯内部的CPU和异构算力服务,是腾讯内部大规模离线作业、资源统一调度平台。背景问题源起近年来,随着腾讯内部自研上云项目的不断发展,越来越多的业务开始使用云原生方式托管自己的工作负载,容器平台的规模因此不断增大。以Kubernetes