草庐IT

$FallbackHome机制

全部标签

Apollo配置中心动态生效机制

看了其他大佬的文章记录一下自己追源码的过程。Apollo配置中心动态生效机制,是基于Http长轮询请求和Spring扩展机制实现的,在Spring容器启动过程中,Apollo通过自定义的BeanPostProcessor和BeanFactoryPostProcessor將参数中包含${…}占位符和@Value注解的Bean注册到Apollo框架中定义的注册表中。然后通过Http长轮询不断的去获取服务端的配置信息,一旦配置发生变化,Apollo会根据变化的配置的Key找到对应的Bean,然后修改Bean的属性,从而实现了配置动态生效的特性。需要注意的是,Apollo在配置变化后,只能修改Bean

Android Binder机制详解

Android系统中,涉及到多进程间的通信底层都是依赖于BinderIPC机制。Binder,英文意思是别针、回形针的意思,我们经常用回形针将两张纸别在一起,而在Android中,Binder用于将Client端与Service端别在一起。即把多个进程别在一起。比如:普通应用可以通过访问MusicService,而实现音乐的播放、暂停、停止功能。Binder工作在Linux层面,属于一个驱动,只是这个驱动没有硬件支持,或者说其操作的硬件是基于一小段内存。从线程的角度讲,Binder驱动运行在内核态,客户端调用Binder是通过系统调用来实现的。1.WhyneedandusedBinder?Li

Android Binder机制详解

Android系统中,涉及到多进程间的通信底层都是依赖于BinderIPC机制。Binder,英文意思是别针、回形针的意思,我们经常用回形针将两张纸别在一起,而在Android中,Binder用于将Client端与Service端别在一起。即把多个进程别在一起。比如:普通应用可以通过访问MusicService,而实现音乐的播放、暂停、停止功能。Binder工作在Linux层面,属于一个驱动,只是这个驱动没有硬件支持,或者说其操作的硬件是基于一小段内存。从线程的角度讲,Binder驱动运行在内核态,客户端调用Binder是通过系统调用来实现的。1.WhyneedandusedBinder?Li

聊聊Glide缓存机制

缓存机制简介1、缓存的图片资源原始图片(Source):即图片源的图片初始大小和分辨率;转换后的图片(Result):经过尺寸缩放和大小压缩等处理后的图片;当使用Glide加载图片时,Glide会默认根据View视图对图片进行压缩和转换,而不显示原始图。(这也是Glide加载速度高于Picasso的原因)2、缓存机制设计Glide的缓存功能设计成二级缓存:内存缓存和硬盘缓存。(从网络加载不属于缓存)内存缓存:防止重复将图片读入到内存,造成内存资源浪费,只缓存转换后的图片,而不是原始图片;磁盘缓存:防止重复从网络或其他地方下载和读取数据,可缓存原始图片和转换过后的图片,用户自行设置;在Glide

聊聊Glide缓存机制

缓存机制简介1、缓存的图片资源原始图片(Source):即图片源的图片初始大小和分辨率;转换后的图片(Result):经过尺寸缩放和大小压缩等处理后的图片;当使用Glide加载图片时,Glide会默认根据View视图对图片进行压缩和转换,而不显示原始图。(这也是Glide加载速度高于Picasso的原因)2、缓存机制设计Glide的缓存功能设计成二级缓存:内存缓存和硬盘缓存。(从网络加载不属于缓存)内存缓存:防止重复将图片读入到内存,造成内存资源浪费,只缓存转换后的图片,而不是原始图片;磁盘缓存:防止重复从网络或其他地方下载和读取数据,可缓存原始图片和转换过后的图片,用户自行设置;在Glide

Linux多核运行机制(SMP)

一、Linux内核兼容多处理器要求        有多个CPU处理器的系统中,Linux内核需要处理的问题:                1、公平共享:CPU的负载,需要公平地共享,不能出现某个CPU空闲,造成资源浪费。                2、可设置进程与CPU亲和性:可以为某些类型的进程与指定的处理器设置亲和性,可以针对性地匹配进程与处理器。                3、进程迁移:Linux内核可以将进程在不同的CPU处理器之间进行迁移。        Linux内核的SMP对称多处理器结构调度,核心就是将进程迁移到合适的处理器上,并且可以保持各个处理器的负载均衡。二、U

Linux多核运行机制(SMP)

一、Linux内核兼容多处理器要求        有多个CPU处理器的系统中,Linux内核需要处理的问题:                1、公平共享:CPU的负载,需要公平地共享,不能出现某个CPU空闲,造成资源浪费。                2、可设置进程与CPU亲和性:可以为某些类型的进程与指定的处理器设置亲和性,可以针对性地匹配进程与处理器。                3、进程迁移:Linux内核可以将进程在不同的CPU处理器之间进行迁移。        Linux内核的SMP对称多处理器结构调度,核心就是将进程迁移到合适的处理器上,并且可以保持各个处理器的负载均衡。二、U

ECF机制:信号 (Signal)

   💭写在前面:ECF(异常控制流) 机制是存在于系统的所有层级中的,所以这一块的知识我们需要系统地去学习。前几章我们探讨过了异常(Exceptions),由硬件触发,在内核代码中处理。讲解了进程的上下文切换(ProcessContextSwitch),"异常+内核代码"。本章我们将探讨信号(signal),将"异常+内核代码+用户代码"相结合!📜本文目录:0x00什么是内核(Shell)0x01简单的Shell示例0x02不用担心!ECF救你来了!(ECFComestotheRescue!)0x03信号(Signals)0x04接收信号(ReceivingaSignal)0x05未决信号和

ECF机制:信号 (Signal)

   💭写在前面:ECF(异常控制流) 机制是存在于系统的所有层级中的,所以这一块的知识我们需要系统地去学习。前几章我们探讨过了异常(Exceptions),由硬件触发,在内核代码中处理。讲解了进程的上下文切换(ProcessContextSwitch),"异常+内核代码"。本章我们将探讨信号(signal),将"异常+内核代码+用户代码"相结合!📜本文目录:0x00什么是内核(Shell)0x01简单的Shell示例0x02不用担心!ECF救你来了!(ECFComestotheRescue!)0x03信号(Signals)0x04接收信号(ReceivingaSignal)0x05未决信号和

PyTorch 之 简介、相关软件框架、基本使用方法、tensor 的几种形状和 autograd 机制

文章目录一、PyTorch简介二、PyTorch软件框架1.Anaconda下载2.Anaconda安装3.AnacondaNavigator打不开问题(不适用所有)4.PyTorch环境创建5.PyTorch下载6.Jupyter中配置PyTorch三、PyTorch基本使用方法四、tensor的几种形状1.Scalar(标量)2.Vector(向量)3.Matrix(矩阵)五、PyTorch的autograd机制1.autograd机制2.举例说明3.一个简单的线性回归模型本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/6139890