List并发线程安全问题 一、发现并发问题 1.1 测试代码 public class Client { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); new Thread(() -> { for (int i = 移动开发 2025年06月25日 182 点赞 0 评论 10192 浏览
iOS 分析dyld工作过程 dyld-941.5源码 dyld源码 苹果官方资源opensource objc4-838可编译联调源码 一、了解相关概念 1.静态库、动态库 通常程序都会依赖系统一些库, 库是什么呢? 其实库就是一些可执行的二进制文件, 能被操作系统加载到内存里面中。库分为两种:静态库 / 动态库 静态库:是一堆.o文件的集合。格式.a, .lib等。链接阶段时静态库会被完整地复制, 一起打包在可执行文件中,被多次使用就有多份冗余 移动开发 2025年05月01日 117 点赞 0 评论 10197 浏览
05. 四种权限修饰符 权限修饰符 (1)public : 公共权限 修饰对象: 修饰类、方法、属性 继承: 被public所修饰的成员能被该类的所有子类继承下来。 作用域: 可以被任意类访问 public能用来修饰类,在一个java源文件中只能有一个类被声明为public,而且一旦有一个类为public,那这个java源文件的文件名就必须要和这个被public所修饰的类的类名相同,否则编译不能通过。说到这里,穿插多一点 移动开发 2025年05月04日 45 点赞 0 评论 10201 浏览
单例模式(一)—懒汉模式 前言 单例模式模式无需多言,就是只允许生成一个对象,这种设计模式在数据库连接对象的使用上比较频繁,当然在其他场景下也有使用。然而单例模式的实现也有多种方式,今天就让我们来学习下单例模式的懒汉模式。 今天涉及内容: 懒汉模式编写的几个特点 懒汉模式代码实现 懒汉模式优缺点 一. 懒汉模式 编写的几个特点 作为单例模式中的懒汉模式,具有以下特点: 私有无参构造函数 声明静态私有类对象 静态 移动开发 2025年04月08日 53 点赞 0 评论 10209 浏览
Dio网络封装以及数据转模型 一、为什么需要封装Dio 1、迁移代码 当组件库中的方法发生改变,需要迁移的时候,如果有多处地方用到,那么需要对使用到的每个文件都进行修改,非常的繁琐而且很容易出问题。 2、请求库切换 当不需要Dio库的时候,我们可以试随时方便切换到别的网络库。 3、统一配置 因为一个应用程序基本都是统一的配置方式,所以我们可以针对拦截器 、转换器 、 缓存 、统一处理错误 、代理配置、证书校验 等多个配置进行统 移动开发 2025年04月21日 80 点赞 0 评论 10236 浏览
ViewModel源码阅读笔记 MVVM模式实现了数据和页面的分离。ViewModel的生命周期需要跟随引用他的activity或者fragment。接下来我们就来看看,ViewModel是如何实现生命周期的伴随的。 先从ViewModel的创建开始看 XXXViewModel viewModel = new ViewModelProvider(fragment).get(XXXViewModel.class) kotlin 移动开发 2024年11月15日 86 点赞 0 评论 10237 浏览
MacOS上Homebrew 安装、配置、更改国内镜像源及使用教程 Homebrew笔记 1. 介绍 官网: 对于习惯了使用命令来完成一切的程序员来说,安装软件这种小事,自然是能够用命令解决,就不用图形界面选择。但是在 Linux 中,我们有 yum、apt、dnf、pkg等命令来完成软件的安装,macOS 却并未为我们提供一个好用的包管理器 移动开发 2025年05月21日 74 点赞 0 评论 10246 浏览
[Unity 3D] 将自定义配置整合到 ProjectSettings 在本文笔者将教大家如何将自己所写插件的全局配置绘制到 ProjectSettings , 同时将配置文件存放在 ProjectSettings 目录下。 前言 HybridCLR 配置项均为编辑器下生效,这种配置文件放置在项目中就会对原有项目有侵入,但是放在 ProjectSettings 文件夹中就会很完美,这作用域拿捏的死死的;同时,将 HybridCLR Settings 绘制到 Pro 移动开发 2025年04月25日 79 点赞 0 评论 10283 浏览
spring-retry解决重试 一、前言 在日常开发过程中,难免会与第三方接口发生交互,例如:短信发送、远程服务调用、争抢锁等场景,当正常调用发生异常时,例如:网络抖动,这些间歇性的异常在一段时候之后会自行恢复,程序为了更加健壮并且更不容易出现故障,需要重新触发业务操作,以防止间歇性的异常对程序照成的影响。常用的重试策略,比如通过 while 循环手动重复调用或是通过 JDK/CGLib 动态代理的方式来进行重试。但是这种方法比 移动开发 2025年03月25日 196 点赞 0 评论 10312 浏览