Bundle Parcel 和 ClassLoader
前言
前几天看到同事在讨论 动态代理
和 类加载器
的一些问题,其实这些技术无论是客户端还是后端都已经用烂掉了。
动态代理 cglib
和 jdk.Proxy
基本是 Java 后端面试的 “八股” 送分题。
前几天看到同事在讨论 动态代理
和 类加载器
的一些问题,其实这些技术无论是客户端还是后端都已经用烂掉了。
动态代理 cglib
和 jdk.Proxy
基本是 Java 后端面试的 “八股” 送分题。
Android 的应用层架构,其实一直在缓慢的进步,但是 Android 开发工程师却很少有进步。比如我,直到 2021 年才开始使用 dataBinding。
我初步在 RecyclerView 的 item 中试用了一下,感觉还是挺不错的。
最近一直都是 copy 工程师和 scapegoat 工程师
不过也发现了一些些问题,也用来警示自己以后写代码 尽量
考虑全面(人无完人···)
如下图
写 RecyclerView 的 Adapter 时,感觉到了泛型理解不够深刻,也不够熟练,看了几天的泛型文档
https://docs.oracle.com/javase/tutorial/java/generics/index.html
下面的总结均是对于文档的学习和一些代码示例的运行。
通常的代码复用是提取一个公共参数的函数,函数中的参数传的是各种不同的值。泛型也是类似,只不过泛型可以用于定义 class、interface、method 等等,泛型传递的是不同的 type。
最近一直在看 Kotlin 协程,因为以前也写过 Golang,所以试着去对比了一下,发现了很多好玩的事情。
试问下面一段代码,执行结果是什么呢?
经常看公司里的人写的一些基础库(基于 Kotlin)看不太懂,总有各种关键字和函数,不知道他们是在刻意用还是咋地,所以学一波,就从出现次数最多的 Scope Function 开始了。
最近看了一些程序语言的设计,语言的本质等等···接触到了一些神奇的名词,协变与逆变(Covariance and contravariance)
等等。
最近好多人都在用 kotlin 了,我真实接触并且使用 kotlin 的时候是 2019 年。那个时候也依葫芦画瓢写了一篇《lateinit 和 by lazy 》的文章
但是,当时写代码还是停留在 if-else、 for 循环等等,跟 java 代码没什么区别,所以并没有深入的理解。
很久之前的一篇 Activity 启动流程 当时刚毕业,有很多错误和没有理解,今天重新写一篇比较完整的,源码基于 Android 9.0
startActivity 流程,主要涉及 APP 进程和 ActivityManagerService(简写为 AMS,system_process 为其所在进程名) 之间的 IPC 通信
可以直接去官网下载源码自己编译或者下载已经编译好的版本
比如我直接用
brew install ffmpeg –with-sdl2
之后 /usr/local/Cellar 下就会有 ffmpeg 和 sdl2 了
这里使用的是 MacOS + CLion
随便新建一个空工程就好,写好 CMakeLists 就好