首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【Redis源码】Redis 启动过程分析

配置初始化 Redis服务启动首先做的第一步就是初始化配置。Redis初始化配置主要包括初始化命令表和加载配置两部分。...初始化ACL 权限信息 主要是通过加载redis.conf配置文件里面的配置信息,用于控制登录用户执行命令的权限,仔细详见:Redis 6 ACL源码详解 初始化命令表 在函数populateCommandTable...这时,redis就会调用loadServerConfig()函数来加载配置文件,这个过程会覆盖掉前面初始化默认配置文件的变量的值。...这个设计就是以Redis启动时多消耗一些时间为代价,换取运行的更小的延迟。...Redis使用不同的函数来兼容各个平台,在Linux平台使用epoll,在BSD使用kqueue,都不是的话,最终会使用select。

61550

【Android 启动过程】Activity 启动源码分析 ( ActivityThread 流程分析 二 )

ActivityStackSupervisor.attachApplicationLocked 三、ActivityStackSupervisor.realStartActivityLocked 前言 在上一篇博客 【Android 启动过程...】Activity 启动源码分析 ( ActivityThread 流程分析 一 ) 分析了从 ActivityThread 的 main() 函数启动 , ApplicationThread 绑定 ,...badApp = true; } } return true; } } ActivityManagerService 完整源码参考...ActivityStackSupervisor.java ; 三、ActivityStackSupervisor.realStartActivityLocked ---- 该方法步骤在 【Android 启动过程...】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 二 ) 二、AMS 进程中执行的相关操作 章节进行过讲解 , 不管是冷启动 , 还是热启动 , 都要调用

32010

源码分析 Netty:核心组件及启动过程分析

如果任务已经启动,则 mayInterruptIfRunning 参数确定是否执行此任务的线程应该以试图停止任务被中断。此方法返回后调用isDone 方法将返回 true 。...二 Netty启动过程分析 2.1 一个Netty Server示例 public class HttpServer { public static int DEFAULT_PORT = 8080;...2.2 配置分析 2.2.1 引导(BootStrap) 引导一个应用程序是指对它进行配置,并使它运行起来的过程——尽管该过程的具体细节可能并不如它的定义那样简单,尤其是对于一个网络应用程序来说...: 2.2.3 ChannelInitializer 在Server启动时,在childHandler()方法中设置了一个自定义的HttpServerChannelInitializer()。...三 总结 本篇从实例出发,了解Netty核心组件的概念、作用及串联过程

68000

【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 )

文章目录 一、Activity 启动源码分析 ( AMS | ActivityManagerService ) 1、Instrumentation 调用 AMS 方法 2、ActivityStarter...调用 AMS 方法 3、Process 启动新进程 二、Activity 启动源码分析 ( ActivityStarter ) 1、ActivityStarter.startActivityMayWait...ActivityStarter.startActivityUnchecked 方法 6、ActivityStarter.computeLaunchingTaskFlags() 方法 三、Activity 启动源码分析...ActivityRecord ) 五、ActivityStack 六、ActivityStackSupervisor 四、ActivityStack、TaskRecord、ActivityRecord 一、Activity 启动源码分析...} 完整代码参考 frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java ; 三、Activity 启动源码分析

1.2K20

HotSpot的启动过程(配视频进行源码分析

本文将详细介绍HotSpot的启动过程启动过程涉及到的逻辑比较复杂,细节也比较多,为了让大家更快的了解这部分知识,我录制了对应的视频放到了B站上,大家可以参考。...第4节-HotSpot的启动过程 下面我们开始以文章的形式简单介绍一下启动过程。...main.c的main()函数负责创建运行环境,以及启动一个全新的线程去执行JVM的初始化和调用Java程序的main()方法。...return rslt; } Linux 系统下(后面所说的Linux系统都是指基于Linux内核的操作系统)创建一个 pthread_t 线程,然后使用这个新创建的线程执行JavaMain()函数。...关于指针函数与函数指针、以及Linux下创建线程的相关知识点后面会介绍,到时候这里会给出链接。

95420

【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 二 )

文章目录 前言 一、热启动与冷启动选择 二、AMS 进程中执行的相关操作 三、通过 Binder 机制转到 ActivityThread 中执行的操作 总结 前言 上一篇博客 【Android 启动过程...】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 ) 分析的分支是启动 Activity 时 , 没有 Activity 对应的进程 , 需要先调用 Zygote...方法中 , 判定要启动的 Activity 是否存在 , 决定要使用冷启动还是热启动 ; 如果启动时 , 发现已经存在 Activity 对应进程 , 那么执行下面的热启动方法 : // 如果启动...ActivityThread 的内部类 IApplicationThread 的 scheduleTransaction 方法 ; 这样就进入到了 ActivityThread 主线程中 , 在该主线程中执行相关源码...; } } 完整代码参考 /frameworks/base/core/java/android/app/ClientTransactionHandler.java ; ---- 总结 本博客分析源码对应分支

1.1K10

【Android 启动过程】Activity 启动源码分析 ( ActivityThread -> Activity、主线程阶段 一 )

TransactionExecutor execute -> executeCallbacks 方法 四、LaunchActivityItem.execute 总结 前言 上一篇博客 【Android 启动过程...】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 二 ) 分析到 , 在 AMS 进程通过 Binder 机制调用 ActivityThread 中的...core/java/android/app/ActivityThread.java 三、TransactionExecutor execute -> executeCallbacks 方法 ---- 分析...mTransactionExecutor = new TransactionExecutor(this) 成员的 mTransactionExecutor.execute(transaction) 方法 , 执行事务的过程...TransactionExecutor.executeCallbacks 中调用了 item.execute(mTransactionHandler, token, mPendingActions) 代码 , 下面继续分析

54410

linux启动过程解析

Linux中,Boot Loader通常安装在硬盘的MBR (Master Boot Record)或EFI系统分区。...内核初始化的过程包括以下几个步骤: 加载驱动程序:内核会加载与硬件设备对应的驱动程序,并初始化这些设备。驱动程序通常存储在内核模块中,可以在运行时加载和卸载。...启动init进程:内核会在用户空间启动第一个进程——init进程。init进程是所有进程的祖先进程,它负责启动和管理所有其他进程和服务。...这些初始化脚本通常包括以下几个步骤: 启动系统服务:系统服务是一些后台进程,如网络服务、邮件服务、Web服务等等。它们在系统启动时自动启动,并在后台运行,以提供各种功能和服务。...用户登录阶段: 当图形界面启动后,用户可以在屏幕上看到登录窗口,输入用户名和密码后,登录管理程序会验证用户身份并启动相应的会话。

1.3K30

Tomcat启动过程源码解读

根据Tomcat源码来看一下Tomcat启动过程都做了什么 部分代码为主要流程代码,删去了try-catch以及一些校验逻辑,方便理解主流程 先来一张启动过程时序图,了解一下启动顺序 Tomcat启动的入口类...在Tomcat服务开启过程启动的一些列组件、容器,都继承了org.apache.catalina.util.LifecycleBase这个抽象类,其中的init()、start() 方法、stop()...int i = 0; i < services.length; i++) { 54 services[i].init(); 55 } 56 } 再举一个具体的例子: 回到刚才的启动过程中...总结一下启动的Tomcat启动过程 在Catalina的load方法里,就已经调用了StandardServer里的init方法,一层一层初始化了globalNamingResources,StandardService...参考文章: tomcat源码分析-Connector初始化与启动 tomcat源码分析-Container初始化与加载 tomcat源码分析-http请求在Container中的执行路线 tomcat源码解析

1.1K90

Activity启动过程分析

一、Activity启动前的进程关系 init进程:init是所有linux程序的起点,是Zygote的父进程。解析init.rc孵化出Zygote进程。...Launcher:Zygote进程孵化的第一个App进程是Launcher 1.1、什么是init进程 Android是基于linux系统的,手机开机之后,linux内核进行加载。...每个应用程序都是运行在各自的Dalvik虚拟机中,应用程序每次运行都要重新初始化和启动虚拟机,这个过程会耗费很长时间。Zygote会把已经运行的虚拟机的代码和内存信息共享。...三、具体的启动过程 3.1、流程概述 Launcher:Launcher通知AMS要启动activity startActivitySafely->startActivity->Instrumentation.execStartActivity...IApplciationThread.scheduleTransaction() 此时完成 ActivityManagerService->ApplicationThread发消息,暂停Activity的过程

95574

ActivityManagerService启动过程分析

ActivityManagerService提供的主要功能:        (1)统一调度各应用程序的Activity        (2)内存管理        (3)进程管理 上一篇我们分析Android...启动过程的文章中我们分析到了SystemServer,当时我们只是简单的描述了下,Android启动过程分析,我们还是来看一张启动的流程图, ?...一、ActivityManagerService 创建过程 mActivityManagerService = mSystemServiceManager.startService(             ...new CoreSettingsObserver(this); //mUsageStatsService.monitorPackages(); 四、AMS systemReady过程...运行runnable接口,启动SystemUI,启动persistent应用程序,启动home,发送ACTION_BOOT_COMPLETE广播 public void systemReady(final

92780

Android启动过程分析

Android系统启动过程 首先看一张Android框架结构图 Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。...启动过程如下图所示:(图片来自网上,后面有地址) 一 Init进程的启动   init进程,它是一个由内核启动的用户级进程。...启动过程就是代码init.c中main函数执行过程:system\core\init\init.c 在函数中执行了:文件夹建立,挂载,rc文件解析,属性设置,启动服务,执行动作,socket监听…… 下面看两个重要的过程...其中Command 就是系统支持的一系列命令,如:export,hostname,mkdir,mount,等等,其中一部分是 linux 命令, 还有一些是 android 添加的,如:class_start...  :init_parse_config_file( )存入到   action_queue、   action_list、 service_list中,解析过程可以看一下parse_config函数,

1K60

Activity 启动源码分析

Android 应用程序启动过程 Activity启动过程可以分为两种:一种是根activity的启动过程,另一种是普通activity启动过程。...根activity指的是应用程序启动的第一个activity,因此也可以理解为应用程序的启动过程。普通activity除根activity以外的其他activity。...根Activity启动流程 点击桌面应用图标,Launcher进程将启动Activity的请求以Binder的方式发送给了AMS。...ActivityStarter:Activity启动的控制器,处理Intent与Flag对Activity启动的影响,具体说来有: 寻找符合启动条件的Activity,如果有多个,让用户选择; 校验启动参数的合法性...Activity 启动流程源码分析 Activity 调用startActivity最终都会调用startActivityForResult方法 public void startActivityForResult

84630
领券