background picture of the home page

Hi,Friend

爱睡懒觉的程序员

浅谈 Android 的事件分发机制

1. 什么是事件? 在 Android 中,事件(Event)是用户与设备交互的输入信号,它可能来自触摸屏、按键、轨迹球等。对于触摸操作,事件由 MotionEvent 封装,包含了动作类型(如按下、移动、抬起)以及位置、时间等信息。 从手指触摸屏幕到抬起的整个过程中会产生一系列事件,称作事件序列,

thumbnail of the cover of the post

探索 Android 中的消息机制

消息机制 Android 的消息机制基于 Handler、Looper、MessageQueue 实现,用于同一进程内的线程间通信。其核心目的是将任务切换到指定线程执行(如子线程更新 UI)。下面是一个简单的入门案例: // 主线程创建 Handler(关联主线程 Looper) val handl

thumbnail of the cover of the post

浅谈 ThreadLocal

ThreadLocal JDK 提供的 ThreadLocal 可以实现让每个线程都有自己的专属本地变量,虽然每个线程操作的是同一个 ThreadLocal 对象,但是 get() 和 set() 方法操作的变量都保存在每个线程内部,和其他线程互不影响。 举个例子,下面的代码创建了 10 个线程对一

thumbnail of the cover of the post

浅谈 Java 内存模型:从 CAS 到 AQS

Java 内存模型 Java 的内存模型(Java Memory Model, JMM)规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存,线程的工作内存保存了被该线程使用的变量的主内存副本。线程对变量的读取、赋值等操作都必须在工作内存中执行,而不能直接读写主内存中的数据。 比如下面的例子

thumbnail of the cover of the post

代理模式:实现类似 Python 的 @Cache 注解

笔者在 Leetcode 中使用 Python 刷题时,总能体会到 @Cache 装饰器的强大,在写动态规划时省去了很多记忆化的麻烦。 与此同时,我好奇 Java 中注解的工作原理,想着能不能自己实现一个 Java 中的 @Cache 注解,为我的函数自动生成以函数参数为 key,函数返回值为 va

thumbnail of the cover of the post

Android 项目设置镜像源

使用 Android Studio 创建项目后,会使用默认的地址去下载 Gradle 和相关依赖,如果网络环境较差,下载速度会十分缓慢,此时需要配置镜像源。 依赖下载的镜像源配置:打开项目根目录的 settings.gradle.kts , 设置 pluginManagement 和 depende

thumbnail of the cover of the post

Docker 部署 Frpc

frpc/frps 是当前颇受欢迎的反向代理套件。本文在已搭建好 frps 服务端的前提下,详解如何在 Ubuntu 服务器上部署 frpc。 首先创建 frpc.toml 文件: serverAddr = "服务端IP" serverPort = 服务端frps端口 auth.token = "t

thumbnail of the cover of the post

Windows Docker 部署 RocketMQ

部署 RocketMQ 使用 Docker Compose 可以快速的启动 RocketMQ。找一个目录创建 docker-compose.yml 文件,写入以下内容: version: '3.8' services: namesrv: image: apache/rocketmq:5.

thumbnail of the cover of the post

Ubuntu 终端语言设置中文

首先检查系统中有没有中文语言包: locale -a 输出如下,如果没有 zh_CN.utf8 就表示没有中文语言包。 ubuntu@VM-12-8-ubuntu:~$ locale -a C C.utf8 en_US.utf8 POSIX 安装中文语言包: sudo apt update sudo

thumbnail of the cover of the post

Git 分支

基础操作 查看分支 git branch 创建分支 git branch 分支名 切换分支 git switch 分支名 如果你想创建并切换到一个新分支: git switch -c 分支名 删除分支: git branch -d 分支名

thumbnail of the cover of the post