首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Android 沉思录
已注销
创建于2021-05-11
订阅专栏
Android 进阶必备的技术本质, 深度思考、抓住本质
等 15 人订阅
共14篇文章
创建于2021-05-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Android | Android 进阶开篇(更新中...)
Java/Kotlin进阶 数据结构与算法 Gradle实战 Android常用架构技术 FrameWork源码与UI新技术 性能优化 NDK及音视频开发 由于NDK及音视频开发,涉及的知识量特别大,
热修复 | Tinker 的实现原理
热补丁方案的比较 Tinker QZone AndFix(阿里) Robust(美团) 类替换 yes yes no no So替换 yes no no no 资源替换 yes yes no no 全
协程 | Retorfit + 协程机制 + MVVM
协程是什么: 协程是可以由程序自行控制挂起、恢复的程序 协程可以实现多任务的协作执行 协程可以用来解决异步任务控制流的灵活转移 协程的作用: 协程可以让异步代码同步化 协程可以降低异步程序的设计复
JetPack | ViewModel 如何对视图状态管理
本文旨在理解ViewModel的设计思想以及本质解决了哪些问题。在阅读本文之前,你需要理解LiveData、Lifecycle。关于ViewModel的使用不在复述直接看官方文档。 JetPack |
JetPack | Lifecycle 如何做到感知生命周期
关于LifeCycle的使用这里不在复述直接看官方文档,本篇文章旨在理解Lifecycle的本质以及优秀代码的设计思想。 Lifecycle出现的背景原因 在LifeCycle没有出现之前,如果外部类
JetPack | LiveData 如何安全的观察数据
LiveData的介绍和使用不在累述,直接看官方文档,本篇文章旨在讲解LiveData存在的意义以及实现的原理。 LiveData 为什么会出现?之前看过重学安卓的小专栏的讲解: LiveData 只
多线程 | 1 聊一聊Java 线程的本质
首先,我们先看一下Linux是如何开启一个线程的,这里涉及的知识是很复杂的,我只说一下大概的流程。 如下面的代码,是Linux的底层的源码,主要通过pthread_create() 方法是glibc库提供的,该方法的作用就是去创建一个线程。 进入Thread的源码,可以找到真正…
JVM | 0 基础知识&内存区域
java文件通过javac编译成class文件,通过JVM中ClassLoader类加载器执行class文件,一般会字节码解析器执行也可能会通过JIT编译器执行,通过执行引擎编译成机器码,由硬件处理。 JVM:JVM只是一个翻译,把class文件翻译成机器码,JVM不会自己生成…
JVM | 4 底层细节实现
在上一篇中讲到了CMS、G1都用到了并发标记,那么并发标记的具体是如何实现的呢?主流的垃圾回收器并发标记是核心的实现,我们有必要进行深入的研究。 在前几篇的文章中,介绍的垃圾回收算法有个标记清除算法,通过1和0进行标记对象是不是被使用,工作原理是这样的:最开始所有的标记位都是0…
JVM | 3 分代垃圾回收机制及垃圾回收算法
垃圾回收器主要回收堆内存,堆内存分为:新生代和老年代。 对于回收新生代GC:Minor GC或者叫Young GC。回收老年代的GC叫:Major GC 或者 Old GC. 如下图所示:一半的空间用作预留的空间它在GC之前是不会分配对象的,而另一半会进行分配对象,我们加入下图…
JVM | 2 对象及引用
检查加载:首先要检查ObjectCreate 类对应的符号引用,检查这个类是否被加载过。 分配内存:在堆空间划分内存,解决并发安全问题。 CAS 加失败重试:当线程1在分配内存时,会先读取当前值的old,然后经过预处理,CSA会通过实时值与old进行比较,如果相等则分配内存,如…
JVM | 1 深入理解内存区域
下面我们来演示一下执行一段Java代码,JVM内存的处理流程。 当程序启动的时候,由操作系统处理分配内存。 然后把内存段的起始地址和终止地址分配给JVM,接下来JVM进行内存分配。 创建对象:创建Teacher对象,放在堆中,Teacher对象放入到堆中。main方法的t1和t…
网络 | Retrofit 全面解析
「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!」 Retrofit 全面解析 源码分析版本: implementation 'com.squareup.retrof
网络 | OkHttp的设计思想
在OKhttp 源码解析之前,我们必须先要了解http的相关基础知识,任何的网络请求都离不开http。 okhttp的源码分析,网上有好多博客讲解,但讲解的都是一些源码可有可无的知识,并没有将okhttp的核心设计思想讲解到位,我们阅读一些框架的源码,学习的其实就是其设计思想,…