摘要: 支持类型 该表显示了在 .proto 文件中指定的类型,以及自动生成的类中的相应类型: | .proto Type | Notes | C++ Type | Java/Kotlin Type[1] Java/Kotlin 类型 [1] | Python Type[3] | Go Type | Rub 阅读全文
posted @ 2023-05-02 21:55 zxzhang 阅读(230) 评论(1) 推荐(0) 编辑
摘要: 概述 这里以C语言为例描述移位运算的行为。 对于一个位表示为 $x_{w-1}$, $x_{w-2}$ ,..., $x_{0}$ 的操作数 x, C 表达式 $x << k$ 会生成一个値,其位表示为 $[$ $x_{w-k-1}$, $x_{w-k-2}$ ,..., $x_{0}$,0,... 阅读全文
posted @ 2023-04-30 21:51 zxzhang 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 官方编译方式 SQLite3 源码提供了非常便捷的编译脚本,通过执行以下命令可以编译得到sqlite3.c 、sqlite3.h、sqlite3ext.h、shell.c 以及一个可执行程序 sqlite3。所有的代码都被合并到了sqlite3.c 文件中,根据官网How To Compile SQ 阅读全文
posted @ 2022-11-06 20:20 zxzhang 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 数据库如何发生损坏 SQLite 数据库具有很强的抗损坏能力。在执行事务时如果发生应用程序崩溃、操作系统崩溃甚至电源故障,那么在下次访问数据库文件时,会自动回滚部分写入的事务。恢复过程是全自动的,不需要用户或应用程序的任何操作。尽管 SQLite 数据库具有很强的抗损坏能力,但仍有可能发生损坏。 1 阅读全文
posted @ 2022-06-21 00:45 zxzhang 阅读(1795) 评论(1) 推荐(2) 编辑
摘要: 在 Android 中,Room 为 SQLite 提供了高效稳定的抽象层,简化开发流程。RoomDatabase.java 是初始化数据库的重要构建组件,通过它我们可以添加RoomDatabase#Callback监听,RoomDatabase#Callback提供了以下回调接口: /** * C 阅读全文
posted @ 2022-03-15 23:35 zxzhang 阅读(330) 评论(3) 推荐(0) 编辑
摘要: 概述 Android 在应用框架层为开发者提供了 SQLite 相关操作接口,其归属于android.database.sqlite包底下,主要包含SQLiteProgram, SQLiteDatabase, SQLiteSession, SQLiteConnectionPool和SQLiteCon 阅读全文
posted @ 2022-03-13 23:32 zxzhang 阅读(533) 评论(0) 推荐(0) 编辑
摘要: Bitmap内存模型 在 Android 2.2(API 8)及更低版本上,当发生垃圾回收时,应用的线程会停止(stop the world),这将导致卡顿。Android 2.3 添加了并发GC功能,这意味着系统不再引用位图后,很快就会回收内存。 在 Android 2.3.3(API 10)及更 阅读全文
posted @ 2021-05-15 01:43 zxzhang 阅读(1282) 评论(1) 推荐(0) 编辑
摘要: 数字在需要一个可空的引用时,会进行装箱操作,数字装箱不一定保留同一性。 另一方面,它保留了相等性 "kotlin相等性" 阅读全文
posted @ 2019-07-13 16:46 zxzhang 阅读(195) 评论(1) 推荐(0) 编辑
摘要: android:installLocation "App install location" AndroidManifest "App Manifest Overview" "Merge multiple manifest files" "AndroidManifest详解之Application( 阅读全文
posted @ 2019-06-24 00:17 zxzhang 阅读(287) 评论(0) 推荐(0) 编辑
摘要: git log p 显示每次提交的内容差异 git log 2 仅显示最近的两次更新 git log stat 显示简要的文件修改统计信息 git log follow stat 继续列出文件重命名前的 log 信息(只对单文件有效) git log oneline 单行显示 log 信息 git 阅读全文
posted @ 2019-06-16 00:15 zxzhang 阅读(935) 评论(0) 推荐(0) 编辑
摘要: Manifest "Manifest file" "Use of the MANIFEST.MF file in Java" "Working with Manifest Files: The Basics" 阅读全文
posted @ 2019-06-14 23:51 zxzhang 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 本文转载自: "深入解析String intern" 引言 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA系统级别提供的缓存。 8种基本类型的常量池都是系统协调的,String 阅读全文
posted @ 2019-01-12 11:15 zxzhang 阅读(279) 评论(3) 推荐(0) 编辑
摘要: 以下针对 Android API 26 版本的源码进行分析。 在了解 之前,最好对 有初步的了解, 的实现主要借助 。`LinkedHashMap`的源码解析,可阅读 "Java——LinkedHashMap源码解析" 概述    其 Lru 是 Least Recently U 阅读全文
posted @ 2019-01-01 14:23 zxzhang 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 转载自:https://blog.csdn.net/gatieme/article/details/21389603 常用编译选项 gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后 阅读全文
posted @ 2018-12-23 11:13 zxzhang 阅读(9802) 评论(1) 推荐(1) 编辑
摘要: 以下针对JDK 1.8版本中的 LinkedHashMap 进行分析。 对于 的源码解析,可阅读 "Java——HashMap源码解析" 概述   哈希表和链表基于 接口的实现,其具有可预测的迭代顺序。此实现与 的不同之处在于它维护了一个包括所有条目(Entry)的双向链表。相比 阅读全文
posted @ 2018-12-12 19:04 zxzhang 阅读(831) 评论(2) 推荐(3) 编辑
摘要: 以下针对JDK 1.8版本中的 ArrayList 进行分析。 概述      基于 接口实现的大小可变的数组。其实现了所有可选的 操作,并且元素允许为任意类型,包括 元素。除了实现 接口,此类还提供了操作内部用于存储列表数组大小的方法(这个类除了没有实现同步 阅读全文
posted @ 2018-11-07 00:35 zxzhang 阅读(943) 评论(1) 推荐(4) 编辑
摘要: 声明: 链表定义如下:   从无头单链表中删除节点 详情: 给定一个没有头指针的单链表,一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点),请将该节点从单链表中删除。 题解: 解法一:由于单链表并没有给出头指针,因此我们无法通过遍历链表的方式找到该节点的前一个节点来改变其 阅读全文
posted @ 2018-10-26 17:52 zxzhang 阅读(1220) 评论(0) 推荐(1) 编辑
摘要: 以下针对JDK 1.8版本中的 HashMap 进行分析。 概述     哈希表基于 接口的实现。此实现提供了所有可选的映射操作,并且允许键为 ,值也为 。HashMap 除了不支持同步操作以及支持 的键值外,其功能大致等同于 Hashtable。这个类不保证 阅读全文
posted @ 2018-10-21 16:02 zxzhang 阅读(1869) 评论(0) 推荐(1) 编辑
摘要: 问题背景     业务中有个场景需要自动起一个A程序(由于A程序与 sublime_text 启动后遇到的问题有相似之处,后文就用 sublime_text 来替代A程序,当A程序与 sublime_text 的现象有所差异的时候,恢复使用 A 程序),并在适 阅读全文
posted @ 2018-10-04 21:25 zxzhang 阅读(734) 评论(0) 推荐(0) 编辑
摘要: DLOPEN DLMOPEN DLCLOSE NAME      dlclose, dlopen, dlmopen 打开/关闭共享对象 SYNOPSIS DESCRIPTION dlopen()    &nbs 阅读全文
posted @ 2018-09-29 23:02 zxzhang 阅读(11877) 评论(2) 推荐(1) 编辑