快速复习系列
文章平均质量分 52
岳锋
就国而言,其根本在于富国强兵。就人而论,则在财富健康。国富而兵弱者,必有宋清之祸。财富而体不健者,则无富贵之实。故为士者,当自勉上进,积财累富。又当积极自律,强身健体。卒可立宗祠,留芳名,福荫子孙。
展开
-
Jvm原理快速复习篇
一、什么是JVM?JVM的全称是Java virtual machine,它是属于JRE(Java运行环境)的一部分。我们平时运行一个java应用程序,就是由JVM来负责管理的,每一个java应用程序都会有属于自己的JVM实例。二、JVM的组成。ClassLoader。JVM memory。Execute Engineer。二、JVM的作用。加载class文件,将class加载到JVM中。【ClassLoader】内存管理,分配内存空间,内存空间分为堆区、栈区、方法区、本地方法栈、程序原创 2022-02-23 16:52:10 · 496 阅读 · 0 评论 -
热修复快速复习篇
热修复原理:资源修复。通过反射的方式,创建新的AssertManager替换旧的AssertManager。【Instant Run】代码修复。基于分包原理,dvm/art在加载主dex后,当需要查找某个类时,会依次从dex包数组里面查找, 我们只要创建个新的修复类,并打包成dex放在dex数组的前头,这样虚拟机加载到该类后就会直接return掉,不会再去加载旧的有bug的类。【】动态链接修复。1. 在Native层,加载so时,跟代码替换的场景一样,优先加载。2. 代码替换System.load加原创 2022-02-22 15:23:07 · 1866 阅读 · 0 评论 -
Activity生命周期 快速复习篇
一、 基本的生命周期流程onCreate() -> onStart() -> onResume() -> onPause()-> onStop-> onDestroy()二、启动FirstActivity(A),然后点击跳转到SecondActivity(B)所走的生命周期流程onCreate(A)->onStart(A)->onResume(A)-onPause(A)->onCreate(B)->onStart(B)->onResume(原创 2021-09-02 10:42:12 · 169 阅读 · 0 评论 -
多线程 快速复习篇。
对象锁,即指,同一个对象,当有多个线程【1对象 + 多线程】,都要执行被synchronized 修饰的方法或是包裹的代码块时。同一时间,只有一个线程可以进入。但如果对于多个线程,所个线程都有自己的对象【多对象 + 多线程】,则同一时间,所有线程都可以进入。类锁,不管是【1对象 + 多线程】的情况,还是,【多对象 + 多线程】的情况,同一时间,也只能有一个线程对其中的一个对象进行操作。对象锁(方法锁)。public synchronized void test(); // 方法锁,也即时对象锁。原创 2021-11-04 17:27:49 · 164 阅读 · 0 评论 -
数据结构/算法 快速复习篇
一、常见的数据结构.栈。先进后出,如同一口井。队列。先进先出,如同一条2头通的管道。链表。以单个或多个结点,连接在一起的方式实现。分为单链表和双链表。区别在于,单链表是每一个结点只链结下一个结点。而双链表,既连接前一个结点,也连接下一个结点。双连接更利于双向编辑,但更加占内存。具体用哪个,视使用场景来看。数组。以顺序排列的方式,依次存放数据。查找和存取快,在已知下标的情况下,存取的时间复杂度为O(1)。Map。以键值对的方式,一一对应存在。HashMap。基于Map的原理,内部是以数组+链表的原创 2021-11-04 16:19:46 · 464 阅读 · 0 评论 -
Okhttp 快速复习上手篇
我们先从大的角度切入,对Okhttp主要需要了解以下几个方面的知识:一、 整体框架是什么?二、 优点是什么,如何实现这些优点?一、整体框架是什么?我们先看一张Okhttp的架构图从这张图可以看出,整个Okhttp可以大致拆为:Okhttp的构建,Builder,运用了Builder模式。请求的创建,Request。请求的分发,Dispatcher。拦截器的实现,Intercepter,运用了责任链模式。网络请求的回调,Response。整个框架的核心,在于拦截器的实现。其中,对请原创 2021-11-04 14:23:00 · 220 阅读 · 0 评论 -
Android 事件分发快速复习篇
事件分发依据自上而下,层层分发的原则。最顶层,最先接收到Touch事件的View是decorView,可以通过window.getDecorView()获取。ViewGroup在进行层层分发的过程中,会依次调用以下三个方法: dispatchTouchEvent->onInterceptTouchEvent->onTouchEvent。如果onInterceptTouchEvent拦截了事件,则会直接调用onTouchEvent。如果onInterceptTouchEvent没有拦截,则会.原创 2021-10-29 17:41:55 · 1333 阅读 · 0 评论