移动开发

ThreadLocal--以副本的方式解决并发以及隔离问题

不论是Atomic还是synchronized或者Lock,其实都是采用同步的方式(串行或者自旋等)解决了线程安全问题。这里我们将介绍另外一种解决线程安全问题的思路----副本的方式。 如果你有一个全局共享的变量,那么多线程并发的时候,对这个共享变量的访问是不安全的。方法内的局部变量是线程安全的,由于每个线程都会有自己的副本。也就是说局部变量被封闭在线程内部,其它线程无法访问(引用型有所区别)。那

微信小程序 工作日历 周计划日报 修改等提报和状态展示功能,支持h5,Android ,ios,基于uniapp,适配vue2和vue3

Work-calendar 介绍 (底部附链接)基于uni-calendar做的定制化开发,主要功能为工作日历展示和提报组件​ 1.支持周计划日报状态展示且可配置​ 2.支持农历展示配置,回到当日,月份切换​ 3.日历,周报,日报等点击事件封装​ 4.支持休假展示 使用说明1.下载插件到工程中&#

Flutter鸿蒙化环境配置(windows)

Flutter鸿蒙化环境配置(windows) 参考资料 Window配置Flutter的鸿蒙化环境 下载 配置环境变量 HarmonyOS的环境变量配置 配置Flutter的环境变量 Flutter doctor -v 检测的问题 flutter_flutter仓库地址的警告问题 Fliutter doctor –v 报错[!] Android

如何在24版本的Android Studio中创建java项目

最开始点击创建empty activity,然后就会出现以上情况,无法选择用Java作为编程语言。因为在新版的Android Studio中默认使用Kotlin作为编程语言。那么如何使用Java作为编程语言呢?这个时候回到项目创建的原始页面,如下图选定No Activity,点击Next,进入下一个页面在这里就可以

设计模式-策略模式

下面有两个源代码,但是输出是一样的。第一个源代码使用 if 语句来选择逻辑。第二个源代码使用策略设计模式(重构结果)。 我们先讨论第一个源代码。在比萨课上,烹饪比萨有四个步骤。 收集材料 2.准备面团 设置 Variety,选择披萨口味(在本例中,我们有三个选项:capricciosa、Hawaiian 和 margheerita)。 4.加热和享受 在第一个源代码中,Set Variet

Android 车载应用开发与分析(12) - SystemUI (一)

1.前言 Android 车载应用开发与分析是一个系列性的文章,这个是第12篇,该系列文章旨在分析原生车载Android系统中核心应用的实现方式,帮助初次从事车载应用开发的同学,更好地理解车载应用开发的方式,积累android系统应用的开发经验。 注意:本文的源码分析部分非常的枯燥,最好还是下载android源码然后对着看,逐步理顺逻辑。 本文中使用的源码基于android-11.0.0_r48

确定 Flutter SDK 及其关联的 Gradle 版本与适配的 JDK 版本

最近在编写 Flutter 项目,发现不同的 Flutter SDK 版本有着不一样的 Gradle 版本,然后不同的 Gradle 版本需要不同的 JDK 版本。只有当三者都一致匹配时,才能正常的完成编译首先,我们可以确定 Flutter SDK 对应的 Gradle 版本。我们每个下载的 Flutter 的 SDK 中都有这样一个示例工程

ES6 对象及拓展

一、对象与类 对象(object)是 JavaScript 最重要的数据结构。 类是一种数据类型,是具有相同特性(数据元素)和行为(功能)的对象的抽象。 1. 类和对象的区别 类实例化的结果就是对象,类描述了一组有相同特性(属性)和相同行为的对象。 类是对象的模板 //定义类 class Person { constructor(name, age) { this.