移动开发

4 行代码写 3 个NPE异常,服了!

一、前言 公司刚入职了一名中级Java开发,经过一个星期的适应学习,各方面表现还不错,于是分配了一个小的迭代给新人做。 需求很简单,把从第三方拉取的数据匹配到自身公司后台设置的渠道后,聚合到一个列表中,批量入库。 然而就在匹配的逻辑中,上线后报了个NPE,这是作为一名中级开发不应犯的简单错误,新人被我狠狠的训了,记生产事故一次。 二、事故重现 伪代码 说明:伪代码并非真实线上代码,只是为了更方便

UML-ClassDiagram基本语法

注意:本文是基于mermaid的规范编写的,其余类似PlantUML、语雀等第三方工具,语法基本一致。 零、本文纲要 一、 UML基本使用 定义一个类 定义类的方法与属性 返回类型 泛型(使用~~包裹) 可见性(访问修饰符) 关系描述 关系标签 类修饰 注释 二、 类与类之间的关系 关联关系 聚合关系(强关联关系) 组合关系(强聚合关系) 依赖关系 继承关系 实现关系 一、 UML

MySQL数据表优化设计(四):利用枚举节省存储空间

枚举在实际数据表使用中不太多,但是在某些场合却是可以发挥更好的性能,例如使用枚举替换有限的字符串值。需要注意的是枚举的存储结构有点特殊,本篇介绍枚举的应用场合及优势。 枚举在 MySQL 中的存储方式十分精简,依据枚举值的多少使用1-2个字节来存储。枚举在内部实际是使用整数代表列在对应枚举值的位置,然后在数据表中有一个后缀为.frm 的对照表文件存储枚举真实对应的值。以下面的表为例: CREA

日常问题记录:fastjson转化dto大小写问题

1、场景:传给第三方接口的参数<param1:string,param2:dto> ,其中dto首字母大写,string为dto的json格式 2、问题分析:获取param1的时候需要通过fastjson转化dto,默认会转化成小写的,需要格式是大写的 JSON.toJSONString(AccountDTO); 预期结果---------------------> {"User

Android 12原生系统居然有内存泄露隐患?

作者:作者:努比亚技术团队 Android里面内存泄漏问题最突出的就是Activity的泄漏,而泄漏的根源大多在于因为生命周期较长的对象去引用生命周期较短的Activity实例,也就会造成在Activity生命周期结束后,还被引用导致无法被系统回收释放。 Activity导致内存泄漏有两种情况: 应用级:应用程序代码实现的activity没有很好的管理其生命周期,导致Activity退出后仍

2022-12-31

本题考查执行和解。 在执行中当事人达成和解协议的, 法院裁定中止执行: 和解协议履行完毕的, 法院裁定执行终结; 义务人拒不履行和解协议的, 权利人可以选择申请恢复对原判决的执行, 也可以选择就和解协议起诉。 故本案中和解协议部分履行后甲和乙产生纠纷, 此时和解协议并未完全履行, 权利人甲可以申请恢复对原判决的执行, 也可以选择就和解协议起诉。关于恢复执行的问题,甲可以申请恢复执行

ES6 Reflect

一、概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。 Reflect 可以用于获取目标对象的行为,它与 Object 类似,但是更易读,为操作对象提供了一种更优雅的方式。它的方法与 Proxy 是对应的。 (1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty)

Android Studio 的提示和技巧

前言 作为一名 Android 开发人员,我们使用许多 IDE 来为我们的应用程序编写代码。例如,Android Studio、Eclipse、Visual Studio(在某些情况下)等。但这些 IDE 中最著名和推荐的一款是 Android Studio。如今,每个 Android 开发人员都使用 Android Studio 为他们的应用程序编写代码,因为 Android Studio 为我

MediaSession 简介

MediaSession 简介 本文主要是介绍下MediaSession,结合framework源码例子,最后看如何使用MediaSession 来监听A2DP的播放行为 MediaSession 主要是用来控制播放行为,如播放、暂停等行为,不过这个控制行为是由另外一个进程来操作的,举个例子,比如文件管理器进程在播放视频,此时你可以通过语音助手识别语音暂停、快进等命令,然后通过MediaSessi

Android Xml转换为View过程

前言: Android布局文件Xml,通过setContentView(@LayoutResint layoutResID)或者LayoutInflater.from(context).inflate(int ResID)转换为Java对象,开发工具Android Studio 提供的预览功能,开发过程中界面和业务可以并行开发,提高了开发效率。以下分析过程是基于 Android API 25 Pl