首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
掘友等级
VIP.5 如鱼得水
Android开发工程师
记录Android学习之路 分享读书心得体会~
关注
私信
获得徽章 18
动态
文章
专栏
沸点
资讯
收藏集
14
关注
赞
1.6K
文章 1.4K
沸点 164
资讯 30
赞
1.6K
关注
返回
|
搜索文章
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
赞了这篇沸点
Captain_captain
🧱🧱🧱🧱🧱@掘金社区 @ 掘金社区
·
18小时前
举报
在掘金工作好几年了,和社区一起经历了很多变化。最开始大家聊学校的事情,然后是找工作的事情,然后是结婚,买房子,买车。最近几年,经济形势,裁员,焦虑迷茫充斥整个行业。。。希望大家都好
我 & 掘金
等人赞过
分享
10
13
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
VIP.5 如鱼得水
Android开发工程师
·
19小时前
举报
inlinehook
原理
对于so的内部函数来说调用函数就相当于在符号表中找到对应函数的地址,然后跳转到对应的函数执行。
Hook点
可以hook so的内部函数(通过找到符号表替换函数的前两行指令为跳转到自己的函数中执行然后再挑战到原函数执行)
缺点
不能hook静态函数因为 静态函数没有符号表(也就不能找到函数的指令去替换前两个指令为跳转到我们的函数执行)
展开
技术交流圈
分享
评论
点赞
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
VIP.5 如鱼得水
Android开发工程师
·
1天前
举报
语法阶段 文法规则匹配生成ast问题
此处的文法规则不是词法分析阶段的正则文法因为正则文法不能够表示复杂的ast,所以此处用的是上下文无关文法(和正则文法最大的区别是可以递归调用,比如加法乘法嵌套这种复杂语法就需要递归解析匹配)。上下文无关是因为预读取的token数量太少这个阶段只能够产出ast,由于token数量过少因此上下文信息也少所以也叫上下文无关文法。(对应的上下文有关是在语义分析阶段这个阶段会读取大量token信息也就是上下文信息,这个阶段主要是ast的优化因此有了更多的信息才能进行更多优化,ps:很类似虚拟机根据运行的性能信息进行编译为本地机器码的操作)
左递归问题:匹配加法文法时由于第二个文法的第一个条件也是加法文法因此只要第一个文法满足,再次匹配第二条文法节点时又会递归判断是否是加法文法,第二次也如次,由于是第二个文法的第一个条件所以也叫左递归。
解决:原因是第二条文法规则里面第一个条件和主文法重复第一个条件就是递归调用,因此陷入了死循环。破解就是在匹配文法时加上前置条件而不是一开始就是递归。将递归滞后加入前置判断就可以解决。(比如第二条文法结构匹配时只有第一个条件满足才会递归而不是无条件递归)
根源无条件递归,解决加入条件再递归。
由于加入了条件因此文法匹配规则发生变化,对于其他的规则匹配就会造成影响(比如ast顺序错乱等问题)
展开
技术交流圈
分享
评论
点赞
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
VIP.5 如鱼得水
关注了
摸鱼号2023
Android开发工程师
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
VIP.5 如鱼得水
Android开发工程师
·
2天前
举报
冗余代码消除
赋值
JVM在类加载阶段会确保全局,static变量付默认值,如果定义的时候已经进行赋默认值那么这个赋值是冗余的,所以要消除这种赋值
确认目标:
Filed是当前类的变量,Field在init和clinit中赋值,并且之前没有付过非默认值,且此次赋值是默认值,那么这个赋值就是可以优化的
实现:
1.遍历init,clinit的字节码找到putField和putStatic指令
2.过滤不是当前类的变量,指令中可以看到File的全路径名,通过对比当前class。筛选出只对本类Filed赋值的指令
3.将Classname和filedname作为一个key,如果付非默认值则保存到集合中
4.当碰到赋默认值的指令时检测是否在集合中,如果不在集合中进行标记该指令是可以删除的冗余指令
5.遍历完整个字节码之后进行统一删除
展开
技术交流圈
赞过
分享
评论
1
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
VIP.5 如鱼得水
Android开发工程师
·
3天前
举报
协程(coroutines)是一种轻量级的线程管理方式,它允许我们以更简洁、直观的方式编写异步代码。在Kotlin中,协程是通过库 kotlinx.coroutines 实现的。下面是协程内部的一些主要方法和概念的说明:
1. CoroutineScope:协程作用域,用于管理协程的生命周期。通常与作用域相关的类(如Android的ViewModel)会实现CoroutineScope接口。作用域内的所有协程都会在作用域被取消时一起取消。
2. CoroutineContext:协程上下文,包含了协程运行所需的一些信息,如调度器(Dispatcher)和Job。调度器决定协程在哪个线程或线程池上执行,而Job表示协程的一个执行任务。
3. launch:用于启动一个协程。它创建一个新的协程并立即开始执行。launch函数返回一个Job对象,可以用于取消或等待协程完成。
4. async:与launch类似,但它返回一个Deferred对象,表示一个可等待的结果。可以通过调用await方法来获取结果。async用于启动一个带有返回值的协程。
5. suspend:用于标记一个可以暂停执行的函数。这些函数只能在协程或其他suspend函数中调用。当一个suspend函数被调用时,它不会阻塞当前线程,而是将协程挂起,直到结果可用。
6. withContext:用于在指定的CoroutineContext中执行一个suspend函数。这允许我们在不同的上下文(如线程)之间切换协程的执行。
展开
技术交流圈
赞过
分享
评论
2
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
VIP.5 如鱼得水
Android开发工程师
·
3天前
举报
现在招聘是不是都要求是统招全日制本科了
内推招聘广场
赞过
分享
6
2
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
赞了这篇文章
午后一小憩
公众号 @ Android补给站
·
7天前
关注
Android必备:ASM字节码操作
本文介绍了如何在Android开发中使用ASM动态生成、修改和转换Java字节码,以提高代码效率和灵活性。文章提供了ASM的常用场景和一个简单的代码示例,旨在帮助Andro...
3
评论
分享
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
赞了这篇文章
三尺丶
2年前
关注
源码阅读#Handler(下)同步屏障与IdleHandler
什么是同步屏障?开启同步屏障的第一步需要发送一个特殊消息作为屏障消息,当消息队列检测到了这种消息后,就会从这个消息开始,遍历后续的消息,只处理其中被标记为“异步”的消息,忽...
7
4
分享
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
VIP.5 如鱼得水
关注了
三尺丶
Android开发工程师
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
赞了这篇文章
申国骏
资深研发工程师 @ 网易有道
·
8天前
关注
如何统计Android-App启动时间
随着App的逻辑不断庞大,一不注意就会将耗时的操作放置在应用启动过程之中,导致应用启动速度越来越慢,用户体验也越来越差。优化启动速度是几乎所有大型App应用开发者需要考虑的...
3
评论
分享
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
VIP.5 如鱼得水
Android开发工程师
·
8天前
举报
推荐书籍:《Android源码设计模式解析与实战》
本书就是把设计模式和 Android 源码来了个结合,对于每一种设计模式都是以 概念 —> Android 源码中的应用 —> 源码要点解析 —> 设计模式实战 这几方面内容来介绍的,在学习设计模式的同时又学习了 Android 源代码。
但切记一点,永远都不要期望通过别人的分析来理解源码! 真正的源码解析需要你脚踏实地去断点追踪源码。所以本书重点在于带领你去思考设计模式,感悟设计模式,只有多加思考和练习才能真正地做到会用,乃至用好。
展开
技术交流圈
等人赞过
分享
评论
4
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
VIP.5 如鱼得水
Android开发工程师
·
8天前
举报
该如何学习设计模式?
1. 脱离复杂业务去看设计模式是没有意义的。因为脱离了应用场景,即使理解了模式的内容和结构,也学不会在合适的时候应用。所以我们何不通过优秀的开源项目去领悟呢?
2. 首先你要敢于追求优雅的代码,对一个需求能不断提出问题,不断追求更好的解决方案,在新的解决方案上又挖掘新的问题,其次你要掌握大到应用设计模式的场景、重构烂代码的技巧,小到缩进、命名规范。
展开
技术交流圈
赞过
分享
评论
2
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
赞了这篇文章
helson赵子健
字节跳动
·
12天前
关注
速度优化:重新认识速度优化
应用的速度优化是我们使用最频繁,也是应用最重要的优化之一,它包括启动速度优化,页面打开速度优化,功能或业务执行速度优化等等,能够直接提升应用的用户体验。因此,只要是 And...
6
评论
分享
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
赞了这篇文章
95分技术
技术
·
14天前
关注
95分Android启动优化实践
启动优化是Android优化老生常谈的问题了。众所周知,android的启动是指用户从点击 icon 到看到首帧可交互的流程。...
18
评论
分享
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
赞了这篇文章
卡曼在观测
观测云高级技术专家 @ 观测云
·
15天前
关注
如何用一行代码实现监测 OpenAI,大幅提升使用体验
如何通过简单地对 OpenAI 设置些使用监测,用一行代码实现监测 OpenAI,大幅提升使用体验呢...
11
2
分享
𝓑𝓮𝓲𝓨𝓪𝓷𝓰
赞了这篇文章
爱喝牛奶的奶牛
11天前
关注
零成本教你部署一个ChatGPT网站
我曾见证了chatgpt的强大,也体验了New Bing,文心一言等众多AI产品,无不感叹时代的洪流是如此的强大,深深感叹自己的渺小,面对AI浪潮滚滚来袭,我们又该如何面对...
5
4
分享
下一页
个人成就
优秀创作者
资讯创作者
文章被点赞
2,547
文章被阅读
119,216
掘力值
8,176
关注了
191
关注者
405
收藏集
14
关注标签
0
加入于
2020-12-02