- 博客(678)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 leetcode108.把升序数组转换成二叉搜索树
解题的核心原理是:二叉搜索树的中序遍历结果是一个升序数组,所以根节点的数值,也位于数组的中部。
2024-08-19 00:12:21
342
1
原创 Typora mac版本激活
重新打开typora,右下角会显示未激活,如下图,叉掉就好。叉掉后,弹出弹窗,看到成功激活!选择mac版本下载安装。用记事本打开这个文件,按。
2024-08-08 16:25:42
1522
2
原创 Go sdk下载和配置环境变量
打开命令行,如果命令行已经打开,先关闭命令行,再重新打开。我的电脑 -> 属性 -> 高级系统设置 -> 环境变量。我是win10 64位的,我找到这个下载。下载之后解压,可以看到bin文件夹。更多版本,找到1.9.2。环境变量就配置完成了。修改path环境变量。
2024-08-06 14:18:57
1155
原创 python2.7 下载安装配置教程
安装Python的目的:* Android多渠道打包工具,需要Python启动脚本。* Android使用systrace分析app卡顿,要用python 2.7.x执行`systrace.py`文件。* 用IAR编译CC2640 OAD文件时执行合并文件的脚本,所以我们一起来看看Python2.7版本的安装方法。
2024-07-30 11:56:53
2884
原创 HashMap扩容为什么是2倍?
另外,HashMap的初始容量是2的n次幂,扩容也是2倍的形式进行扩容,是因为容量是2的n次幂,可以使得添加的元素均匀分布在HashMap中的数组上,减少hash碰撞,避免形成链表的结构,使得查询速度降低!可以看出,与运算后得出不同的值,使得添加的元素能够均匀分布在集合中不同的位置上,避免hash碰撞。的意思是将每个元素的key的hash值,与最大索引值-1进行相与操作,得出该元素在集合中的位置。综上所述,HashMap计算添加元素的位置时,使用的位运算,这是高效的运算;两个同时为1,结果才是1。
2024-07-29 17:33:59
514
原创 天翼光猫实物图片
读音类似于猫,国内经常叫“光猫”。中国电信是国企,本身不生产光猫,采购中兴通讯的。下图显示了中兴标志:ZTE。GPON天翼网关,蓝色插头就是光纤。光猫负责把光纤信号转换成数字信号。调制解调器英文单词是。
2024-07-29 13:42:52
918
原创 Leetcode141.判断单链表中是否存在环
思路:遍历整个单链表,把所有节点放到HashSet中,如果有重复项,则说明有环。的做法,这个做法不容易想到,就不写了。
2024-07-27 15:42:42
227
原创 Leetcode700.二叉搜索树中搜索具体值
根据二叉搜索树的定义,如果目标值比节点值大,则搜索右子树,如果目标值比节点值小,则搜索左子树。二叉树不一定是平衡树。
2024-07-24 10:36:02
466
原创 从AMS与Zygote通信理解Android系统的启动过程
这个问题的答案本身没有多大意义,Socket也好,Binder也好,功能实现,没有bug就行了。Socke可以优化,Binder也可以优化,不一定哪种方式就绝对的好。不过,分析不同的说法的理论依据,倒是可以增长见识。这些说法是否靠谱,有待研究。可以看到,在Launcher启动其他APP的过程中,AMS发送创建进程的请求和Zygote进程fork新进程,都是用的Socket方式。这种说法的依据是,Binder驱动属于内核层,Android系统启动时,先加载内核,然后才创建init进程。
2024-07-21 00:21:29
440
原创 IntelliJ IDEA 直接在软件中更新为最新版
当我们的 IDEA 工具许久没有更新,已经拖了好几个版本,想跨大版本更新,比如从2020.2.1 -> 2023.x.x。,打开的更新弹窗可能不是我们想要的最新版,例如检查出的为 2020.2.2 版本,并不能直接升级为当前最新版。此时,我们菜单栏点击 Help -> Check for Updates…然后重复 Help -> Check for Updates…操作,直至扫描为最新版时,点击。此时可以点开升级页面,点击。
2024-07-20 00:30:24
6455
原创 Postman下载安装使用
Username/Password:这是针对Basic Auth类型的认证的用户名/密码,并非我们认为的系统登录的用户名密码。Basic Auth:最基本的一种认证类型,还有OAuth 1.0/2.0、Digest Auth等认证类型。”:请求的URL点击蓝色“Send”按钮,获取返回值。Authorization:用于需要认证的接口。注: GET请求的参数在url后面拼接,如:“POST:HTTP的常用请求方法。Body:设置POST请求的参数。GET:HTTP的常用请求方法。2、简单的POST请求。
2024-07-18 11:29:30
574
原创 彩电上自带的推箱子游戏是什么编程语言开发的?
1964年,两位美国数学家兼计算机科学家约翰·克米尼和Thomas E. Kurtz在。2000年左右的厦新彩电上,自带了推箱子、华容道游戏。语言的基础上创造了一种新的语言——BASIC。,含义是初学者通用符号指令代码。
2024-07-16 18:23:16
413
转载 Windows系统安装MySQL8.0.38及卸载
注意:这里端口号默认是3306 如果你的电脑3306端口被占用需要修改一下端口号。Windows + R 键然后输入regedit 打开你的注册表。删除你的安装目录 里面有的内容不允许删除进行强制删除即可。到这一步我们的MySQL 8.0.38已经安装完成了。Windows + R 键然后输入cmd。选择下图我们下载的文件右键点击选择安装。同样的步骤选择mysql工具的安装目录。到此为止你的MySQL已经完全卸载掉了。然后Ctrl+F键进行搜索。我们需要选择对应的资源。如果你要停止mysql。
2024-07-11 22:30:00
211
转载 MySQL8.0.28下载安装教程
第一个是强密码校验,mysql推荐使用最新的数据库和相关客户端,MySQL8换了加密插件,所以如果选第一种方式,很可能你的navicat等客户端连不上mysql8。7.多次点击next (直到出现以下页面),默认选第一个,点击“next”继续。2.下图是选择安装类型,选择默认安装就可以,然后点击“next”。
2024-07-11 22:20:25
857
原创 leetcode中的数组是怎么转成二叉树的?
数字2的左子树的下标应该是5,但是很明显,给出的数组总共才4个元素。这个示例在多道题目中,重复出现。在Leetcode中,经常有数组表示的二叉树。但是leetcode中的表示方法,并不符合上面的规律。现在的关键问题是,怎么通过Integer数组。上代码,每行的注释写的很清楚了。得到上图所示的二叉树了?数字2的下标是2,按照。
2024-07-10 01:55:48
302
原创 用SurfaceView实现落花动画效果
上篇文章中可以看出子线程更新main线程创建的View,会抛出异常。SurfaceView不依赖main线程,可以直接使用自己的线程控制绘制逻辑。具体代码怎么实现了?这篇文章用SurfaceView实现落花动画效果。
2024-07-09 10:43:20
466
原创 JD-GUI下载和使用
用JD-GUI可以直接把上面看到的.class文件,转为.java文件。操作是:File —> Save All Sources —> 选择路径和设置文件名 —> 点击保存,就得到了.zip的压缩包,解压后里面都是.java文件。解压后,点击里面的.exe文件直接运行。可以看出这个工具还是非常好用的。
2024-07-08 01:54:03
2940
原创 用HttpURLConnection复现http响应码405
405原因:不知道后端接口的定义,或者没有沟通彻底,或者后端开发人员失误,本应该是GET定义成了POST。会把原有的GET方法改为POST方法,用POST方法访问GET接口,就报错405。发生场景:接口文档显示接口为GET接口,实际上后端人员写的是POST接口,文档没同步。错误场景:后端开发定义失误,本该是POST接口,写成了GET。复制的POST请求代码,手动修改为GET,没有修改彻底,导致错误。405原因: 接口只接受GET方法,请求是POST方法。发生场景:代码失误,本该写GET,写成了POST。
2024-07-07 13:29:02
669
原创 事件分发机制:demo复现自定义ViewGroup点击事件不起作用
后,布局中的RelativeLayout消费了点击事件,但是这个RelativeLayout又没有onClickListener,所以没有日志。外层的MyRelativeLayout虽然可以点击,也设置了点击事件,但是点击事件已经被RelativeLayout消费了。很容易想到,自定义一个Layout,左边一个图标,中间文字说明,右侧一个箭头,底部一条分割线。动手写的时候,就遇到bug了,点击事件不起作用。,也就是说MyRelativeLayout可以点击,可以点击,又有点击事件,为啥就不起作用了?
2024-07-05 13:16:11
440
原创 事件分发机制:从OnTouchListener开始,按钮变色的Demo
负责点击后执行的逻辑,无法响应按下、移动、抬起手指的具体变化,要想根据按下、移动、抬起、取消等信号,做出不同的效果,就要使用。可以看到,OnTouchListener就是View类中的一个public接口,接口里面只有一个。正常开发,我们一般用selector加载设计师给的图片。这里只是个简单的demo,就直接用。这个方法有什么用了?我们写一个有按压效果的Button,体验一下。方法复现子View点击不起作用的现象。要彻底弄清楚事件分发机制,先要明白。
2024-02-02 23:16:28
405
原创 事件分发机制:demo复现子View的点击事件不起作用
可以看到,只执行了onTouch方法,没有执行button的onClick方法。自定义一个MyLayout,继承自LinearLayout,重写。测试机系统是Android 7.1.2,api 25。相关疑问,我们后续博客再讲。demo使用的sdk是32。方法,返回true。
2024-02-02 20:09:12
374
原创 解决Android Studio gradle下载超时和缓慢问题(win10)
一般配置阿里云代理就可以解决。具体配置方法,参考:https://blog.csdn.net/zhangjin1120/article/details/121739782。
2024-01-24 22:00:00
2368
1
《Software Architecture Design Patterns in Java》原版PDF 下载
2017-12-08
在公司做android源码开发,怎么解决编译一次耗时,太久的问题?
2018-11-01
Android:逐帧动画里面,能不能使图片的位置移动?
2016-08-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人