• JVM内存模型 & 垃圾回收机制

    JVM 内存模型 栈 Stack:存放基础类型 bool char 以及对堆中内存的引用,线程私有 堆 heap:存放对象,线程共有 程序计数器 pc register:记录存档,程序运行到哪了 方法区 method area:线程共有,存...
  • HashMap & HashTable

    区别HashMap 和 HashTable 没有太大的差别,基本就是HashMap 方法没有 synchronized 修饰,线程非安全,HashTable 线程安全; HashMap 几乎可以等价于 Hashtable,除了 HashMap 是非...
  • ArrayList & LinkedList

    ArrayList底层数据结构:ArrayList 基于动态数组实现,内部维护一个 Object 数组,默认初始容量为 10,当元素数量超过当前容量时会自动扩容。 随机访问效率高:由于基于数组,ArrayList 支持通过索引快速访问元素,时间复杂...
  • Rxjava

    概念RxJava的异步实现,是通过一种拓展的观察者模式来实现的。 观察者模式面向的需求是:A对象(观察者)对B对象(被观察者)的某种变化高度敏感,需要在B对象变化的一瞬间做出变化。 程序的观察者模式,观察者不需要时刻盯着被观察者,而是采用注册(Reg...
  • 46-全排列

    题目描述给定一个不含重复数字的数组 nums ,返回其所有可能的全排列。你可以按任意顺序返回答案。 示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] ...
  • Flutter为什么可以跨平台

    概述在 app 和屏幕上进行流转的是 buffer,应用侧不能直接对 buffer 进行处理,所以需要一个对 buffer 进行管理的对象——surface 在 flutter 项目中也有 android 文件夹,这里的 android 提供 sur...
  • Flutter三棵树

    从架构到源码:一文了解 Flutter 渲染机制-阿里云开发者社区 (aliyun.com) Flutter 从本质上来讲还是一个 UI 框架,它解决的是一套代码在多端渲染的问题。在渲染管线的设计上更加精简,加上自建渲染引擎,相比 ReactNat...
  • TCP连接

    三次握手 概要A:是 B 吗?我要跟你通信,听得到我说话吗? B:可以通信,你听得到我说话吗? A:我也听得到。 过程 客户端向服务端发起连接 向服务端发送连接请求数据(SYN) 服务端同意链接 回复 SYN+ACK 包 客户端收到之后回复 ACK ...
  • View绘制流程

    View的三大绘制流程 ⭐⭐⭐⭐⭐ 你知道View绘制前的准备流程吗?⭐ 什么是MeasureSpec?⭐⭐⭐ 测量模式有哪三种?⭐⭐ 为什么有时候getMeasuredWidth获取值为0?⭐⭐ 绘制的顺序是怎么样?⭐⭐ View绘制前的流程V...
  • SharedPreferences

    SharedPreference是线程安全的吗?⭐⭐⭐ SharedPreference的apply和commit的区别?commit 一定会在主线程操作嘛?⭐⭐⭐⭐⭐ SharedPreferences 是如何初始化的,它会阻塞主线程吗?⭐⭐⭐ ...
/8