- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 浅谈马尔可夫决策过程(一)
1.基本概念 Markov Chain/Markov process:具有马尔可夫性质的随机过程。 Markov Property用公式表示为: P(st+1 | st, st-1, …) = P(st+1 | st)。简单说就是当前时刻的状态仅仅和上一个时刻的状态有关。这个性质感觉更多的是从工程上考虑问题得出的,因为这样可以极大的简化计算,并且有一定的合理性。 State Transition Matrix:状态转移概率矩阵定义了所有状态的转移概率。 ...
2020-09-06 12:08:49
2576
1
原创 Android service解析
1.什么是service2.Service的启动过程3.Service的绑定过程1.什么是service Service是Android中实现程序后台运行的解决方案,它主要用来处理与用户界面无关的业务逻辑。 Service分为本地服务和远程服务:区分这两种服务就是看客户端和服务端是否在同一个进程中。 本地服务:服务和启动服务的activity在同一个进程中...
2020-05-31 15:53:38
654
原创 Android应用进程创建解析
通过之前博客的介绍,我们知道所有的android应用程序进程都是由Zygote创建的。Zygote进程通过复制自身的方法来创建一个新的应用程序进程。这样创建的新的应用程序进程就会获得一个虚拟机实例,有了这个虚拟机实例之后,这个应用程序进程就可以将Java开发的应用程序组件运行起来。应用程序进程在创建的时候除了获得一个虚拟机实例之外,还可以获得一个binder线程池和一个消息循环。这样运行在...
2020-04-08 22:39:18
650
原创 SystemServer启动解析
Zygote是所有Android中所有应用的鼻祖。Zygote fork的第一个进程就是SystemServer,其在手机中的进程名为 system_server。Zygote和SystemServer这两个进程任何一个进程的死亡,都会导致JAVA世界的崩塌。SystemServer 进程承载着整个framework的核心服务,例如创建 ActivityManagerService、Pow...
2020-03-29 22:36:58
900
原创 JAVA内存区域解析
1.虚拟机 虚拟机从软件层面屏蔽了不同操作系统在底层硬件与指令上的区别,java之所以能够跨平台,就是因为虚拟机屏蔽了各个操作系统之间的差异。 不同平台JVM的实现各不相同,所以同样的java代码生成的机器码肯定是不一样的,因为不同的操作系统底层的硬件指令集...
2020-03-28 21:39:04
157
原创 Zygote启动流程解析
1.什么是Zygote? Zygote是Android系统创建的第一个Java进程,它是所有Java进程的父进程。Zygote进程作为Socket的Server端,接收处理系统中创建进程的请求。Android中的应用进程的创建都是应用进程通过Binder发送请求给SystemServer,SystemServer再发送Socket消息给Zygote进程,统一由Zygote进程创建出来的。...
2020-03-21 21:33:59
1342
原创 Android 10.0 Activity启动详解(二)
Android 10.0 Activity启动详解(一) 我们在上一篇博客中已经介绍了关于Activity的一些基础概念。这一篇博客我们以Android 10.0的代码来分析Activity的启动流程。 Activity的启动主要包括以下几个步骤: 1.应用通过startActivity或是startActivityForResult方法向ActivityMa...
2020-03-11 21:49:30
3036
4
原创 Android 10.0 Activity启动详解(一)
Activity的相关知识非常繁杂,一直想写篇博客总结一下。本篇博客以android 10.0代码来分析Activity的启动流程,希望能够对大家带来一点帮助。1.Activity的管理 在开始分析activity的启动流程之前,我们先做一些预备工作,这些预备知识能够让你更好的理解Actvitiy的一些设计思想。首先我们看下Android是如何管理activity的。在And...
2020-03-08 16:49:31
2963
3
原创 线段树
线段树是一种二叉搜索树。线段树顾名思义,是用树中的一个结点,来表示一段区间的信息。保存区间的什么信息,要根据具体的需求来决定。线段树的根结点表示整个区间,父结点代表的区间是两个子结点的区间和,两个子结点代表的区间相互不重合。我们来看一个例子来对线段树进行说明。 ...
2020-02-29 21:06:10
301
原创 堆排序
目录1.堆2.构建堆3.堆排序1.堆 堆是具有以下性质的完全二叉树。 大顶堆:每个父结点的值都大于或者等于左右孩子结点的值。 小顶堆:每个父结点的值都小于或者等于左右孩子结点的值。2.构建堆 假设我们现在给定一个无序的数组,arr={1,3,8,5,1,2,4}。我们如何构建一个堆呢?这里我们用一个大顶堆来作为示例。数组a...
2020-02-22 17:13:24
135
原创 反向传播推导
反向传播是深度学习的基础知识,但是一开始直接看各种公式很容易让人一头雾水。本篇博客从一个简单的例子开始,一步步演示直至推导出反向传播的4大基本公式。希望能够帮助大家理解反向传播的知识。 链式法则 链式法则是反向传播的基础知识,对于链式法则大家理解下面两种case即可。 case1 ...
2020-02-20 23:11:05
666
原创 随机森林
1.集成学习 随机森林属于机器学习中集成学习的范畴,所谓集成学习就是将一些简单的机器学习模型组合起来使用,最终得到一个强大的模型。 集成学习主要有boosting和bagging两种算法,下面对这两种算法进行一些简单的介绍。1.1 boosting ...
2020-02-16 21:13:17
692
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人