java
文章平均质量分 56
ThreadLocalForrest
这个作者很懒,什么都没留下…
展开
-
Handler中threadLocal工作原理
提到消息机制大家应该都不陌生,在日常开发中不可避免地要涉及到这方面的内容。从开发的角度来说,Handler是Android消息机制的上层接口,这使得开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。很多人认为Handler的作用是更新UI,这说的的确没错,但是更新UI仅仅是Handler的一个特殊的使用场景,具体来说是这样的:有时候需要在子线程中进行耗时的IO操作,这可能是读取文件或者访问网络等,当耗时操作完成以后..原创 2021-11-26 15:43:52 · 352 阅读 · 1 评论 -
android view 窗口的Z次序管理
在Android系统中,窗口是有分组概念的,例如,Activity中弹出的所有PopupWindow会随着Activity的隐藏而隐藏,可以说这些都附属于Actvity的子窗口分组,对于Dialog也同样如此,只不过Dialog与Activity属于同一个分组。之间已经简单介绍了窗口类型划分:应用窗口、子窗口、系统窗口,Activity与Dialog都属于应用窗口,而PopupWindow属于子窗口,Toast、输入法等属于系统窗口。只有应用窗口与系统窗口可以作为父窗口,子窗口不能作为子窗口的父窗口,也就说原创 2021-10-26 11:14:52 · 1654 阅读 · 0 评论 -
最长公共子串
// 传递的参数为 "abcdef" 和"defg" public static String getMaxSubString(String maxString,String minString){ //1. 必须保证 第一个字符串的长度是长的。第二个是短的。 if(minString.length()>maxString.length()){ // 重新调用这个方法 return getMaxSubString2...原创 2021-10-22 17:12:04 · 38 阅读 · 0 评论 -
算法题:走方格的方案数
请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。 本题含有多组样例输入。 输入描述: 每组样例输入两个正整数n和m,用空格隔开。(1≤n,m≤8) 输出描述: 每组样例输出一行结果 示例1 输入: 2 21 2 复制输出: 63 //解题思路:递归求解。棋盘上每一个点...原创 2021-10-18 18:02:36 · 168 阅读 · 0 评论 -
2021-08-16android知识积累
1、glide加载图片白屏原因:imageview控件的宽高没有使用的是match_parent解决方法:改为wrap_content2、需求要求surfaceView上叠加一个用户人脸位置引导框图片(两个控件大小差不多)父控件是LinearLayout解决方法:父控件改为RelativeLayoutps,以前的人脸识别项目里面也遇到过同样问题,因为不想在同一个坑里面跌倒第二次,所以记录在此处...原创 2021-08-16 18:47:05 · 43 阅读 · 0 评论 -
四种引用 强软弱虚
虚幻的引用 管理堆外内存 Nio直接管理OS内存 DirectByteBuffer原创 2021-01-31 17:59:08 · 57 阅读 · 0 评论 -
java——并发
并发(concurrent):多线程轮流使用cpu时间片。什么是时间片呢?操作系统层面上,在linux的内核处理过程中,每一个进程默认会有一个固定的时间片来执行命令(默认为10ms),window系统最小15ms1) 单核cpu下,多线程并发实际由cpu时间片执行任务切换串行执行,此时的多线程并发,只是起到任务切换的作用(防止被单线程独占,别的任务加不进来) 由于100ms以内是极短的、无法感知的时间。所以微观串行,宏观上这时也是并行(parallel)的。2)对于多核cp...原创 2021-01-30 22:00:59 · 69 阅读 · 0 评论 -
window.WebViewJavascriptBridge.callHandler 偶现失败
window.WebViewJavascriptBridge.callHandler(api, parameter, callback);bug 描述在页面加载前后如果连续多次调用原生的方法,会遇到回调参数未被调用的情况。// 多次调用如下函数, 部分 callback 将不会被调用window.WebViewJavascriptBridge.callHandler(api, parameter, callback);bug 的稳定复现方式在页面加载时通过jsBridge和原生进行.原创 2021-01-04 19:59:30 · 4134 阅读 · 0 评论 -
ArrayList和LinkedList各自特点
ArrayList和LinkedList都是实现了List接口的容器类,用于存储一系列的对象引用。他们都可以对元素的增删改查进行操作。对于ArrayList,它在集合的末尾删除或添加元素所用的时间是一致的,但是在列表中间的部分添加或删除时所用时间就会大大增加。但是它在根据索引查找元素的时候速度很快。对于LinkedList则相反,它在插入、删除集合中任何位置的元素所花费的时间都是一样的,但...原创 2018-11-01 17:20:02 · 524 阅读 · 0 评论 -
彻底明白volatile关键字
一,基本概念1,CPU多核时代的到来,引入了著名的缓存一致性问题。(通常称这种被多个线程访问的变量为共享变量)。硬件层面有两个方案,一是对总线加LOCK,禁止别的CPU访问;二是MESI协议(如果发现操作的变量是共享变量,即在其他CPU中也存在该变量的副本,会发出信号通知其他CPU将该变量的缓存行置为无效状态,因此当其他CPU需要读取这个变量时,发现自己缓存中缓存该变量的缓存行是无效的,那么它就会...原创 2018-07-02 14:53:28 · 2702 阅读 · 3 评论