自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 hash+链表, 大顶堆小顶堆, 字典树, BST

hash+链表, 大顶堆小顶堆, 字典树, BST 练起来

2022-05-23 16:42:38 103

原创 【无标题】算法题

[1] David Matuszek, “Backtracking,” Backtracking à backtracking[2] S. S. Skiena, The algorithm design manual. Springer, London, 2008. à Combinatorial problem[3] A. Levitin, Introduction to the design & analysis of algorithms. Pearson, Boston,..

2022-04-07 21:43:14 76

原创 深入Android HandlerThread 使用及其源码完全解析

本篇我们将来给大家介绍HandlerThread这个类,以前我们在使用线程执行一个耗时任务时总会new一个Thread的线程去跑,当任务执行完后,线程就会自动被销毁掉,如果又由新的任务,我们又得新建线程.....我们假设这样的一个情景,我们通过listview去加载图文列表,当我们往下滑动时,这时需要不断去请求网络资源,也就是需要不断开线程去加载网络资源,如果每次都new一个Thread,这显然是不合理的,那么该怎么办呢?相信大家都应该用过图片加载框架ImageLoader,其实ImageLoader内..

2022-02-12 18:16:02 133

原创 Handler中threadLocal工作原理

提到消息机制大家应该都不陌生,在日常开发中不可避免地要涉及到这方面的内容。从开发的角度来说,Handler是Android消息机制的上层接口,这使得开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。很多人认为Handler的作用是更新UI,这说的的确没错,但是更新UI仅仅是Handler的一个特殊的使用场景,具体来说是这样的:有时候需要在子线程中进行耗时的IO操作,这可能是读取文件或者访问网络等,当耗时操作完成以后..

2021-11-26 15:43:52 332 1

原创 android view 窗口的Z次序管理

在Android系统中,窗口是有分组概念的,例如,Activity中弹出的所有PopupWindow会随着Activity的隐藏而隐藏,可以说这些都附属于Actvity的子窗口分组,对于Dialog也同样如此,只不过Dialog与Activity属于同一个分组。之间已经简单介绍了窗口类型划分:应用窗口、子窗口、系统窗口,Activity与Dialog都属于应用窗口,而PopupWindow属于子窗口,Toast、输入法等属于系统窗口。只有应用窗口与系统窗口可以作为父窗口,子窗口不能作为子窗口的父窗口,也就说

2021-10-26 11:14:52 1581

原创 最长公共子串

// 传递的参数为 "abcdef" 和"defg" public static String getMaxSubString(String maxString,String minString){ //1. 必须保证 第一个字符串的长度是长的。第二个是短的。 if(minString.length()>maxString.length()){ // 重新调用这个方法 return getMaxSubString2...

2021-10-22 17:12:04 35

原创 算法题:走方格的方案数

请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。 本题含有多组样例输入。 输入描述: 每组样例输入两个正整数n和m,用空格隔开。(1≤n,m≤8) 输出描述: 每组样例输出一行结果 示例1 输入: 2 21 2 复制输出: 63 //解题思路:递归求解。棋盘上每一个点...

2021-10-18 18:02:36 159

原创 RSA加密

作者:知乎用户链接:https://www.zhihu.com/question/25038691/answer/388573650来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。RSA属于公钥加密算法中的一个重要应用。RSA加密算法由五个部分组成:原文(Message):需要加密的信息,可以是数字、文字、视频、音频等,用 表示。 密文(Ciphertext):加密后得到的信息,用 表示。 公钥(Public Key)和私钥(Private Key),用 .

2021-10-18 18:01:43 401

原创 2021-08-16android知识积累

1、glide加载图片白屏原因:imageview控件的宽高没有使用的是match_parent解决方法:改为wrap_content2、需求要求surfaceView上叠加一个用户人脸位置引导框图片(两个控件大小差不多)父控件是LinearLayout解决方法:父控件改为RelativeLayoutps,以前的人脸识别项目里面也遇到过同样问题,因为不想在同一个坑里面跌倒第二次,所以记录在此处...

2021-08-16 18:47:05 40

原创 四种引用 强软弱虚

虚幻的引用 管理堆外内存 Nio直接管理OS内存 DirectByteBuffer

2021-01-31 17:59:08 50

原创 java——并发

并发(concurrent):多线程轮流使用cpu时间片。什么是时间片呢?操作系统层面上,在linux的内核处理过程中,每一个进程默认会有一个固定的时间片来执行命令(默认为10ms),window系统最小15ms1) 单核cpu下,多线程并发实际由cpu时间片执行任务切换串行执行,此时的多线程并发,只是起到任务切换的作用(防止被单线程独占,别的任务加不进来) 由于100ms以内是极短的、无法感知的时间。所以微观串行,宏观上这时也是并行(parallel)的。2)对于多核cp...

2021-01-30 22:00:59 65

原创 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 4015

原创 混合开发知识点——原生javascript调用手机摄像头

混合开发知识点——原生javascript调用手机摄像头1,实现方式1.1,移动客户端代码:mWebView.loadUrl("file:///android_asset/webcamera.html");1.2,html5端代码:<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <title>GetUserCamera<...

2020-08-20 09:23:07 934

原创 ArrayList和LinkedList各自特点

ArrayList和LinkedList都是实现了List接口的容器类,用于存储一系列的对象引用。他们都可以对元素的增删改查进行操作。对于ArrayList,它在集合的末尾删除或添加元素所用的时间是一致的,但是在列表中间的部分添加或删除时所用时间就会大大增加。但是它在根据索引查找元素的时候速度很快。对于LinkedList则相反,它在插入、删除集合中任何位置的元素所花费的时间都是一样的,但...

2018-11-01 17:20:02 519

转载 单例模式唯一实例为什么必须为静态

你只要弄明白单例模式是如何实现的,就能从本质上理解这个问题;单例模式实现过程如下:首先,将该类的构造函数私有化(目的是禁止其他程序创建该类的对象);其次,在本类中自定义一个对象(既然禁止其他程序创建该类的对象,就要自己创建一个供程序使用,否则类就没法用,更不是单例);最后,提供一个可访问类自定义对象的类成员方法(对外提供该对象的访问方式)。直白的讲就是,你不能用该类在其他地方创建对象,而...

2018-08-02 09:39:19 1947 5

原创 彻底明白volatile关键字

一,基本概念1,CPU多核时代的到来,引入了著名的缓存一致性问题。(通常称这种被多个线程访问的变量为共享变量)。硬件层面有两个方案,一是对总线加LOCK,禁止别的CPU访问;二是MESI协议(如果发现操作的变量是共享变量,即在其他CPU中也存在该变量的副本,会发出信号通知其他CPU将该变量的缓存行置为无效状态,因此当其他CPU需要读取这个变量时,发现自己缓存中缓存该变量的缓存行是无效的,那么它就会...

2018-07-02 14:53:28 2684 3

原创 android wifi刷新数据与连接动画冲突问题的解决方案

android 原生的WIFI连接模块很复杂。一,应用开发者面临最难的问题之一就是密码错误或者连接失败(ERROR_AUTHENTICATING/FAILED)的系统广播在应用层基本上是接收不到的。1,与之相关的系统广播是下面两个,一个是上报连接之后的额外信息,一个是众所周知的WIFI连接状态改变, 它们的枚举取值分别如下: WifiManager.SUPPLICANT_STATE_CH...

2018-06-26 16:17:45 455

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除