一、‘非UI线程更新UI’问题探究 Android开发的时候非UI线程不能更新UI,这个是大家都知道的开发常识。但是当问到为什么?可能我们就会有些含糊了。 本文我们就针对这个问题进行探讨并进行一定的思维发散,来加深我们对Android界面刷新机制的理解。 1. UI线程的工作机制 主线程的工作机制可 ...
分类:
移动开发 时间:
2020-05-10 14:32:03
阅读次数:
79
自动存储持续性: 在函数或代码块中声明的变量(包括函数参数)的存储持续性为自动。执行函数或代码块时自动创建,结束时释放。 静态存储持续性: 函数定义外定义的变量及使用 static 定义的变量存储持续性为静态。其在整个程序运行过程中存在。 动态存储持续性: new delete 声明及释放的内存,这 ...
分类:
编程语言 时间:
2020-05-10 12:49:08
阅读次数:
74
学习内容 1. iOS的内存管理和引用计数规则 内存管理的思考方式 自己生成的对象自己持有 非自己生成的对象自己也能持有 自己持有的对象不需要时释放 非自己持有的对象不能释放 ARC有效时,id类型和对象类型必须加上所有权修饰符,一共有四种 __strong id和对象类型如果不加所有权修饰符那么默 ...
分类:
移动开发 时间:
2020-05-10 01:30:36
阅读次数:
93
自动变量(动态局部变量): 未指定变量的存储类型,缺省为auto。如 auto int i; 进入语句块自动申请内存(栈),退出语句块自动释放内存 可以在嵌套的语句块内命名相同名字的变量,语句块优先使用本语句块定义的变量,使用外层同名变量加::符号 静态变量: 静态局部变量:堆。编译阶段初始化,仅一 ...
分类:
编程语言 时间:
2020-05-09 19:20:03
阅读次数:
82
查看连接会话:select*frompg_stat_activity结束连接的进程pg_terminate_backend是pg的内部方法,另外还有一个叫pg_cancel_backend,这个方法在8.4以前的版本中就一直存在。这两个方法的区别在于,pg_cancel_backend只是取消当前某一个进程的查询操作,但不能释放数据库连接。但pg_terminate_backend可以在pg的后台
分类:
其他好文 时间:
2020-05-09 17:02:15
阅读次数:
78
什么是连接池 通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行redis操作, 操作完成后, 释放连接, 一般情况下, 这是没问题的, 但当并发量比较高的时候, 频繁的连接创建和释放对性能会有较高的影响 于是, 连接池就发挥作用了 连接池的原理是, 通过预先创建多个 ...
分类:
编程语言 时间:
2020-05-09 13:05:09
阅读次数:
89
1.三级封锁协议 一级封锁协议 事务在修改数据时必须先加X锁,在事务结束之后释放X锁。 这样可以解决丢失修改的问题。因为不能有两个事务同时修改同一个数据,所以不会有修改被覆盖的问题。 二级封锁协议 在一级的基础上,要求读取数据A之前必须加上S锁,读取A之后立即释放S锁。 这样可以解决读脏数据的问题。 ...
分类:
数据库 时间:
2020-05-09 09:18:12
阅读次数:
105
https://blog.csdn.net/at10090/article/details/99701422 救命链接在这 记住了,lib是放在这个web的WEB-INF下面的。 数据库的使用: 1.JDBCUTILS的话 是把connection statement resultset的释放给封装 ...
分类:
编程语言 时间:
2020-05-09 00:25:43
阅读次数:
61
安装驱动 建议使用pg pool,但要同时安装pg与pg pool 编写模块 此处注意client.release的手动释放操作。因为options中如果不设置poolSize或max,pg pool默认会获得数据库10个连接的上限,源码截图如下: 而每次对数据库的操作都会消耗2个连接(原因未知)。 ...
分类:
Web程序 时间:
2020-05-08 18:18:31
阅读次数:
90
1、为什么我清空缓存(释放了0.55G)后,free增加了0.54,而available只增加了0.08G左右? 2、free与available的区别? 3、swap是什么意思? ...
分类:
系统相关 时间:
2020-05-08 16:40:23
阅读次数:
117