- 博客(28)
- 收藏
- 关注
原创 Android 热修复 Tinker Gradle Plugin解析
好了,由于代码非常长,我决定在这个地方先用总结性的语言总结下,如果没有耐心看代码的可以直接跳过源码分析阶段:首先将设置的old R.txt读取到内存中,转为:一个Map,key-value都代表一个具体资源信息;直接复用,不会生成新的资源信息。一个Map,key为资源类型,value为该类资源当前的最大int值;参与新的资源id的生成。values文件夹下文件。
2025-02-08 01:44:29
1764
转载 Android Framework底层原理——WMS机制_android wms 机制流程
在WindowManagerService#WindowManagerService()构造方法中。WMS的启动中WMS创建完成后会调用 wm.onInitReady 方法。在WindowManagerService#main方法中。
2025-02-07 23:21:47
913
原创 Android DiskLruCache 源码解析 硬盘缓存的绝佳方案
= null) {还是那句,因为每个实体都是文件,所以你返回的is是个FileInputStream,你可以利用is读取出里面的内容,然后do what you want .好了,关于Cache最主要就是存取了,了解这几点,就可以往下去看源码分析了。还记得第一点说的journal文件么,首先就是它了。
2025-02-07 23:19:44
839
原创 Android程序员:适合有发展的腾讯和高薪的阿里我该怎么选?
又问这“三个”中任选一个阐述原理hashCode()方法实现hashCode()方法 equals()方法相互联系?ActivityA启动ActivityB,两者的生命周期分别是怎样的,是顺序执行的吗?用过哪些框架,答曰RxJava,Retrofit,Realm,问哪一个熟悉一点?都不太熟……就随便挑了一个OKHttp来问:http请求中keep-alive保存长连接的实现原理是怎样的?LRUCache原理,如何实现?手撕代码,股票买入买进最佳时机,LeetCode上原题(有6道变形)
2025-02-06 17:16:35
360
原创 Android程序员:干到三十,我就不干了。
已经做了经理、总监、老板,只为爱好或不生疏而编程,也不属于本话题(而且他们的数量相当少,毕竟管理位置是少数的)大家之所以会担忧这个问题,有三个方面原因:,35岁对任何人来说都是一个最艰难的年龄,上有老、下有小,生活的负担前所未有的加重。这个时候如果工作出现了问题,一定会是“灾难”性的后果。所以,这个时间段的人,,如果40岁还是一个普通员工,在现在社会的工作状态下,很难拥有太大的优势。
2025-02-06 17:14:46
805
原创 软件测试面试必问问题_软件测试面试的时候会问什么问题
会,但是目前只停留在工具操作的层面,比如说利用Jmeter或者是Loadrunner工具,正在接触Java代码中,在学习Java+Appium来对APP进行UI层的自动化测试。****跟老大同事相处不好,你真的天真以为是你老大和同事的问题吗?公司花钱请你来是工作的,有福利是情分没福利是本分,这只能说明你太在乎蝇头小利!**那基本HR会断定你是不能与团队同甘苦共患难的人,也不是吃苦耐劳的人,基本那种说:我超级喜欢加班!**坑1:**不要说自己会或者是精通,装逼遭雷劈啊!**问:**会自动化吗?
2025-01-29 22:26:30
262
原创 软件测试面试大家是不是一问到项目就不会了?_软件测试第一轮不问项目
例如这是一个B/S架构的系统,分为代理商前台和运营后台,用户量大概在5w左右,主要的用户场景是,代理商通过前台生成一些游戏产品的推广链接,拿出去推广,运营人员根据推广量,根据一些规则,来给代理商进行结算分成,代理商每月可进行提现。对其中的抽奖等5个接口进行压测,通过编写压测脚本,准备压测服务器,进行压测,观察服务器资源消耗情况,记录压测结果,分析压测结果,提交性能Bug,开发修复性能Bug,发送测试报告等一系列流程。主要包含项目面向的用户群体,用户量,常用的用户场景,甚至可以说下商业模式。
2025-01-29 22:24:25
294
原创 开源 _ Scene:Android 开源页面导航和组合框架
下面的视频是老版本的过度效果:下面的视频是新版本的过度效果:这种复杂的过渡动画,是不可能拿 Activity 实现的。然而 Fragment 在那个时候也会出现各种怪异的状态保存引发的崩溃(虽然知道崩溃的原理,但是不能接受这种设计),于是西瓜视频技术团队设计了名为 Page 的 UI 方案,来实现过渡动画这个需求。但是 Page 本身跟业务耦合非常严重,没法单独抽出去给其他场景用。
2025-01-29 04:19:54
923
原创 开学了软测的同学卷起来--selenium元素及元素组定位+下拉框+简单的实战_selenium 元素 不同分组
这里很明显有id,有class,有name定位方法给到你,我们这里先讲述元素定位方法这里我在定位方式后面加上了.send_keys()方法,因为这是输入框,需要输入内容的,所以就加上了,也是为了效果明显有些。自己跑一边看看效果就能秒懂!
2025-01-29 04:17:50
461
原创 前端三件套之一Javascript体验卡
方式1function 函数名(参数1,参数2..){要执行的代码方式2var 函数名 = function (参数列表){要执行的代码形式参数不需要类型。因为JavaScript是弱类型语言上述函数的参数 a 和 b 不需要定义数据类型,因为在每个参数前加上 var 也没有任何意义。返回值也不需要定义类型,可以在函数内部直接使用return返回即可方式1var 变量名 = new Array(元素列表);//1,2,3 是存储在数组中的数据(元素)方式2。
2025-01-28 18:34:18
920
原创 前端API层架构,也许你做得还不够
适配层(适配层,取量身定制之意),在适配层做统一处理,包括参数处理,请求头处理,特殊化处理等,提炼出更语义化的方法,让调用者“傻瓜式”调用,不再为了查找接口。如果每个调用者都要判断是不是输入了关键词,再决定调用哪个接口,你觉得出错几率有多大,用起来烦不烦?组件的数据模型与后端接口要求的数据结构存在差异,每处调用接口前都需要进行数据处理,抹平差异,比如。难以满足特殊化场景,举个例子,一个查询的场景,后端要求,如果输入了搜索关键词。,真的痛苦,每个调用的地方都要进行响应状态的判断,冗余代码超级多。
2025-01-28 18:32:14
709
原创 VSCode常用好用插件大全_vscode视频插件
Color Info | 颜色上悬停光标,就可以预览色块中色彩模型的(HEX、 RGB、HSL 和 CMYK)相关信息 || Color Highlight | 在编辑器中高亮显示颜色值 || Color Picker | 代码的颜色选择器 || Csscomb | css 、less、sass 的代码格式化。
2025-01-28 09:29:57
887
原创 Python模块学习 - jinja2_jinja2 python
可以看到,for循环的使用方式和Python比较类似,但是没有了句尾的冒号,另外需要使用endfor最为结尾,其实在jinja2中,if也是一样的,结尾需要使用endif。jinja2中的if语句类似与Python的if语句,它也具有单分支,多分支等多种结构,不同的是,条件语句不需要使用冒号结尾,而结束控制语句,需要使用endif关键字。jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一个模板引擎,为Flask提供模板支持,由于其灵活,快速和安全等优点被广泛使用。
2025-01-24 16:27:56
633
原创 python while循环语句_while 循环执行后面的代码吗 python
根据用户的猜测,程序会给出相应的提示,直到用户猜对为止。最后,程序会统计用户猜测的次数,并结束游戏。循环条件是一个表达式,可以是任何返回布尔值的表达式。通常情况下,循环条件会涉及一个或多个变量,并随着循环的执行而改变。当循环条件不再满足时,循环终止。循环中,我们可以使用循环控制语句来改变循环的执行流程。通常情况下,循环条件的更新应该与循环内的代码有关,确保循环条件能够在合适的时机变为。语句执行,循环立即终止,程序跳转到循环之后的代码。循环时,需要注意避免无限循环的发生。时,循环条件不再满足,循环结束。
2025-01-24 02:09:27
287
原创 MySQL集群之五大常见的MySQL高可用方案_mysql集群的几种方式
DRBD是一种基于软件、基于网络的块复制存储解决方案,主要用于对服务器之间的磁盘、分区、逻辑卷等进行数据镜像,当用户将数据写入本地磁盘时,还会将数据发送到网络中另一台主机的磁盘上,这样的本地主机(主节点)与远程主机(备节点)的数据就可以保证实时同步。由于半同步复制,存在接收到一个从机的成功应答即认为半同步复制成功的特性,所以多从半同步复制的可靠性要优于单从半同步复制的可靠性。半同步复制机制是可靠的。该方案同样使用双节点架构,但是在原有半同复制的基础上做了功能上的优化,使半同步复制的机制变得更加可靠。
2025-01-24 00:36:07
2272
原创 Linux学习之旅(四)——vim使用技巧_vim 感叹号
注意:Vim 用户常见的一个问题就是被编辑器的模式所困扰。这常常是因为不清楚编辑器处在哪个模式,又或者不知道按下了哪个键导致编辑器进入了另外一个模式引起的。,如果Vim 以一声蜂鸣回答你,那说明你已经是在一般模式了。
2025-01-23 22:56:04
746
原创 Java简介和各个知识要点大解析,一文带你初步了解,让兴趣带你深入学习
多继承:一个子类可以有多个直接父类(Java中不允许,进行了改良)会产生不确定性,不直接支持,因为父类中有相同成员会产生调用的不确定性;重载:(重复载入):在同一个类中,允许存在一个以上的同名函数,只要参数个数或者参数类型不同即可;接口不可以实例化,只能由实现了接口的子类并覆盖了接口中所有抽象方法后,才可以实例化;注意:+=不等于=…(+=在赋值中做了强制转换,=…//元素类型【】 数组名=new 元素类型【】{元素,元素,…Java中支持单继承,不直接支持多继承,但对C++的多继承进行了改良。
2025-01-23 18:54:30
515
原创 JavaScript进阶之OOP(二)
2.匿名函数:3.new Function('参数1', '参数2', '函数体')形式调用 像构造函数, Function里面的参数都必须是字符串格式(了解)实际上所有的函数都是Function的实例,函数也属于对象。
2025-01-23 17:33:14
1941
原创 Github上堪称最全的面试题库(Java岗)到底有多香
由于整个PDF文件涵盖了近1000道大厂面试真题,文档一共有266页之多,全部展示出来肯定是不太现实的。
2025-01-23 14:42:45
197
原创 eclipse中快捷键有图有真相
如果你重命名的是类中的一个属性,你可以点击alt+shift+r两次,这会呼叫出源码处理对话框,可以实现get及set方法的自动重命名。将大方法分解成较小的、充分定义的方法会极大的减少复杂度,并提 升代码的可测试性。新版Eclipse的修改建 议做的很不错,可以帮你解决很多问题,如方法中的缺失参数,throw/catch exception,未执行的方法等等。使用ctrl+page down或ctrl+page up可以浏览前后的选项卡,但是在很多文件打开的状态下,ctrl+e会更加有效率。
2025-01-23 01:00:55
262
原创 CNN基础——如何设置BatchSize
这个和样本还有一定的关系,样本量少的时候会带来很大的方差,而这个大方差恰好会导致我们在梯度下降到很差的局部最优点(只是微微凸下去的最优点)和鞍点的时候不稳定,一不小心就因为一个大噪声的到来导致炸出了局部最优点。与之相反的,当样本量很多时,方差很小,对梯度的估计要准确和稳定的多,因此反而在差劲的局部最优点和鞍点时反而容易自信的呆着不走了,从而导致神经网络收敛到很差的点上,跟出了bug一样的差劲。5)由于最终收敛精度会陷入不同的局部极值,因此 Batch_Size 增大到某些时候,达到最终收敛精度上的最优。
2025-01-22 23:26:52
962
原创 Android面经:入职网易的那一天,我哭了(被裁后奋战7个月拿下offer)
2、Java方面的一些基础问题,比如HashMap的原理以及HashTable的区别、Android方面的SparseArray的实现、ArrayList和LinkedList的实现原理等等。3、线程方面的,比如线程的同步机制、线程的几种状态、锁和volatile、线程池的使用和管理、甚至到AsyncTask的源码以及在不同版本的变化。4、Jvm虚拟机这一块的内容,比如执行过程、JMM模型、java的Gc回收原理、类加载器等等。
2025-01-22 21:57:13
815
原创 Android Studio 4
开发者们在反馈中希望我们让这个工具的 UI 导航起来更为直观,以及让其中的数据更易于解读,于是我们在这个版本中带来了新的界面来回应大家的需求。如果您的应用是部署到 API 等级 29 或以上的设备,则可以使用到更丰富的功能,比如随着视图变化动态更新的布局层次结构、帮助您更好了解资源取值解析的详细视图属性信息、以及可以展示运行时 UI 结构的实时 3D 模型。在上传应用时,Play Console 会检查这些元数据,并告知您哪些 SDK 以及应用中的依赖存在问题,在某些时候还会给出如何解决的反馈。
2025-01-22 19:14:39
776
原创 65% 的程序员竟都是自学成才?_为啥学技术都自学
此外,对于想要将 JavaScript 融入日常的教学,它的可行性也具有很大的挑战。事实上,在美国报道的十大 CS 项目中,将 JavaScript 明确纳入到核心课程中的高校几乎为零,当然这在中国诸多高校中也不例外,因此想要掌握该门编程语言的学生必须依靠实践、个人项目或指导来学习。但据调查报告显示,在超过一万名的开发者中,有 37.7% 的人表示是通过学校和个人相结合的方式来学习编码,27.4% 的开发者表示是完全通过自学的方式学会了编程,相比之下,仅有 31.9% 的人仅通过学校教学的途径学习编程。
2025-01-22 17:48:17
944
原创 2024年Java面试题抢先看,够全!中篇(持续更新中)
这是我在使用 Java 中 Collectionc 类的一些最佳实践:a)使用正确的集合类,例如,如果不需要同步列表,使用 ArrayList 而不是 Vector。b)Hashtable 是同步的,比较慢,但 HashMap 没有同步策略,所以会更快。poll() 和 remove() 都是从队列中取出一个元素,但是 poll() 在获取元素失败的时候会返回空,但是 remove() 失败的时候会抛出异常。包含 Java 中各个部分的最佳实践,如集合,字符串,IO,多线程,错误和异常处理,设计模式等等。
2025-01-22 16:16:41
464
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人