- 博客(306)
- 收藏
- 关注
原创 James-你有效地管理JVM的垃圾了吗?是时候把垃圾拿出来了!
自动垃圾收集是指对堆内存的查看,并识别哪些对象正在使用哪些对象,以及删除未使用的对象的过程。首先我们看一下自动GC垃圾收集,它的步骤如下:1.标记(Marking)该过程的第一步称为标记。其实就是垃圾收集器识别哪些内存正在使用,哪些内存不在使用的地方。如果必须扫描系统中的所有对象,将是一个非常耗时的过程。2.正常删除(Normal Deletion)正常删除是指移除未引用的对象,留下引用的对象和指向空闲空间的指针。3.压缩删除(Deletion with Compacting)
2024-05-17 08:45:23
865
原创 valgrind内存泄露和线程竞态检测(1)
开发是面向对象。我们找工作应该更多是面向面试。哪怕进大厂真的只是去宁螺丝,但你要进去得先学会面试的时候造飞机不是么?作者13年java转Android开发,在小厂待过,也去过华为,OPPO等,去年四月份进了阿里一直到现在。等大厂待过也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。
2024-05-17 00:54:55
759
原创 Router_一款单品、组件化、插件化全支持的路由框架
各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。BAT大厂面试题、独家面试工具包,资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter,《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-16 23:20:05
1042
原创 Retrofit+Rxjava网络层的优雅封装(1)
今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。
2024-05-16 21:59:11
322
原创 OpenCV开发之——将SDK替换为arr和so文件
// }}externalNativeBuild// externalNativeBuild {// cmake {// path ‘jni/CMakeLists.txt’// }// }三 将生成的arr导入项目repositories {flatDir {dirs ‘libs’}}implementation(name:‘opencv’, ext:‘aar’)四 将生成so导入项目项目上右键,依次选择:File——>New——
2024-05-16 20:34:52
765
原创 Markdown语法简介(1)
都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 PDF(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。Java语言与原理;大厂,小厂。Android面试先看你熟不熟悉Java语言高级UI与自定义view。
2024-05-16 17:25:40
270
原创 Kotlin协程巩固
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!最后如何才能让我们在面试中对答如流呢?答案当然是平时在工作或者学习中多提升自身实力的啦,那如何才能正确的学习,有方向的学习呢?有没有免费资料可以借鉴?为此我整理了一份Android学习资料路线:这里是一部分我工作以来以及参与过的大大小小的面试收集总结出来的一套BAT大厂面试资料专题包,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家。
2024-05-16 16:06:52
269
原创 Jetpack:LiveData使用指南,实现原理详细解析!
在此为大家准备了四节优质的Android高级进阶视频:架构师项目实战——全球首批Android开发者对Android架构的见解在此为大家准备了四节优质的Android高级进阶视频:架构师项目实战——全球首批Android开发者对Android架构的见解。
2024-05-16 14:52:46
353
原创 hook(4)实现无清单启动Activity的应用
【Android 详细知识点思维脑图(技能树)】其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。
2024-05-16 13:12:43
279
原创 Git使用详解(结合GitLab和GitHub)
当然,其中一种解决方案就是所有的GIT HOST都使用同一个邮箱,由于邮箱是识别的唯一手段,那么自然的,这两者采用同一个邮箱,生成的public key也会是同一个,上传到 Github 或者 Gitlab 上面,在 Git 的配置中 ,设置好 Global 的配置 :git config --global user.name ‘mythmayor’ && git config --global user.email ‘mythmayor@163.com’ 进行日常的开发是没有问题的。
2024-05-16 11:26:54
215
原创 Flutter技术调研报告
现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。
2024-05-16 10:09:22
250
原创 OpenJDK16 ZGC 源码分析
一小段在最佳位置由 JIT 注入的代码从堆中加载一个对象引用时检查这个引用是否是 bad color如果是,则自愈由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-16 08:58:25
803
原创 OKio源码分析(1)six sy007 情感导师
return sink(out, new Timeout());}private static Sink sink(final OutputStream out, final Timeout timeout) {…return new Sink() {@Override public void write(Buffer source, long byteCount) throws IOException {checkOffsetAndCount(source.size, 0, byteCount)
2024-05-16 01:59:19
881
原创 Leetcode面T3(1-5)栈
考虑到文章的篇幅问题,我把这些问题和答案以及我多年面试所遇到的问题和一些面试资料做成了PDF文档《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!输出:示例2:输入:输出:考虑到文章的篇幅问题,我把这些问题和答案以及我多年面试所遇到的问题和一些面试资料做成了PDF文档[外链图片转存中…(img-hMlha2Cm-1715789830003)][外链图片转存中…(img-td0W3lFD-1715789830005)]
2024-05-16 00:17:22
812
原创 Kotlin-基础-程序结构(上)
在 Kotlin 中,只要是编译器认识的类型,就可以自动推导出变量的类型,不需要我们显示的指定。val a = “fancyluo” //推导 Stringval b = 666 //推导 Intval c = a + b //推导 String1.2 常量Kotlin 中使用 value 的缩写 val 来表示一个不可变的值类型,与 Java 中 final 的用法类似。// Javapublic static final String NAME = “fancyluo”//
2024-05-15 23:08:16
843
原创 Jetpack Compose 初体验(上)
Column {”)”)”)给三个Text约定个竖框框,它们就能乖乖地排起队。这里,悄摸摸地说一句,这要是没有~偷瞄 Flutter 的考卷~ 向优秀的思想借鉴,我把三个Text布局在我脑门上!当然,只有这么生硬的排列可不行,我们还需要加点属性,使得整个布局更和谐点——例如,加点边距。我们希望给Column加一个内边距,那么我们就应该给Column添加一个属性。Modifier类用来给组件添加装饰或者行为,如背景、边距、点击事件等。
2024-05-15 21:36:25
958
原创 Hook 技术初探
Hook 的这个本领,使它能够将自身的代码「融入」被勾住(Hook)的程序的进程中,成为目标进程的一个部分。在 Android 系统中使用了沙箱机制,普通用户程序的进程空间都是独立的,程序的运行彼此间都不受干扰。根据 Hook 对象与 Hook 后处理的事件方式不同, Hook 还分为不同的种类,如消息 Hook 、API Hook 等。从 Android 的开发来说,Android 系统本身就提供给了我们两种开发模式,基于 Android SDK 的 Java 语言开发,基于 AndroidNDK 的 N
2024-05-15 19:01:03
309
原创 Git使用详解(结合GitLab和GitHub)
当然,其中一种解决方案就是所有的GIT HOST都使用同一个邮箱,由于邮箱是识别的唯一手段,那么自然的,这两者采用同一个邮箱,生成的public key也会是同一个,上传到 Github 或者 Gitlab 上面,在 Git 的配置中 ,设置好 Global 的配置 :git config --global user.name ‘mythmayor’ && git config --global user.email ‘mythmayor@163.com’ 进行日常的开发是没有问题的。
2024-05-15 17:32:03
382
原创 Flutter技术调研报告
现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。
2024-05-15 16:13:54
336
原创 WordPress-微信机器人高级版(1)
如果你想玩的更6,自定义回复少不了,里面可以回复文本,回复函数,回复图文,回复小程序(敲黑板)而且还支持第三方的回复(图灵啊,微擎那些搞搞活动没问题)
2024-05-15 15:12:26
378
原创 Unity技术-GameFramework文档系列(四)- 事件订阅(1)
👉前提这段时间学习个Unity框架并且准备应用到实际项目中,但是因为作者神龙见首不见尾,没有什么比较详细的文档,学习困难,不过好在作者将框架所有内容开源了,再次记录下学习过程。👉实践过程既然咱要用她就一定要先说说她的优点:她简化了组件间的通信,分离了事件的发送者和接收者,大大降低了耦合度。举个栗子:前段时间的【黑悟空】实机演示,比如悟空的状态,经验值,怪物的血量等内容,会随时有着对应的变化,比如怪物死亡,人物获得经验以及结束判断等等,一次事件发生N多事件要对应变化,要是一个个主动修改你调我/我调你的,调
2024-05-15 14:20:31
834
原创 retrofit-helper-简洁的封装retrofit,优雅的取消请求
initCause((Throwable) body);}//FastPrintWriter#print(String str)this.msg = msg != null ? msg : “null”;this.body = body;}/**@Overridepublic String toString() {return “HttpError {msg=”#####2.5 ExecutorCallAdapterFactory返回Call2请求适配器处理请求接口方法返回为Call2的请求
2024-05-15 12:44:49
218
原创 OpenGL ES与EGL的关系(二十一)
从上面的例子中,我们发现通过egl_函数调用后,直接就能调用gl_函数去画图了,为何?难道在egl*函数调用过程中,已经将opengl相关实现的库加载了吗?涉及的库首先,由于涉及的库较多,先列出来(高通平台,原生的只有前4个),//算是android中的egl库,用来加载具体的实现system\lib\libEGL.so//opengl具体实现的wrappersystem\lib\libGLESv1_CM.sosystem\lib\libGLESv2.so//opengl软件实现,即aglsystem\li
2024-05-15 11:19:40
396
原创 LRUCache 原理
这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
2024-05-15 05:59:04
756
原创 Kotlin协程中的Flow
最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。由于篇幅有限,这里以图片的形式给大家展示一小部分。
2024-05-15 04:41:35
612
原创 JetPack组件--LifeCycle生命周期组件详解
//doSomething}}class MainActivity : AppCompatActivity() {private val mPresenter = MyPresenter()override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)mPresenter.start()}override fun onDes
2024-05-15 03:27:33
543
原创 Hook 技术初探
Hook 的这个本领,使它能够将自身的代码「融入」被勾住(Hook)的程序的进程中,成为目标进程的一个部分。在 Android 系统中使用了沙箱机制,普通用户程序的进程空间都是独立的,程序的运行彼此间都不受干扰。根据 Hook 对象与 Hook 后处理的事件方式不同, Hook 还分为不同的种类,如消息 Hook 、API Hook 等。从 Android 的开发来说,Android 系统本身就提供给了我们两种开发模式,基于 Android SDK 的 Java 语言开发,基于 AndroidNDK 的 N
2024-05-15 01:48:26
634
原创 Git使用详解(结合GitLab和GitHub)
当然,其中一种解决方案就是所有的GIT HOST都使用同一个邮箱,由于邮箱是识别的唯一手段,那么自然的,这两者采用同一个邮箱,生成的public key也会是同一个,上传到 Github 或者 Gitlab 上面,在 Git 的配置中 ,设置好 Global 的配置 :git config --global user.name ‘mythmayor’ && git config --global user.email ‘mythmayor@163.com’ 进行日常的开发是没有问题的。
2024-05-15 00:18:58
639
原创 Flutter技术调研报告
现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。
2024-05-14 23:01:48
625
原创 [Android]从源码的角度理解为什么Dialog不能在Application中展示(1)
看到这篇文章的人不知道有多少是和我一样的Android程序员。35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。
2024-05-14 22:14:49
912
原创 TextView AutoLink, ClikSpan 与长按事件冲突的解决
代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定需要一个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握,谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。所以,长征路还长,大家还是好好地做个务实的程序员吧。最后,小编这里有一系列Android提升学习资料,有兴趣的小伙伴们可以来看下哦~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-14 20:33:59
666
原创 Realm数据库使用教程(六):数据迁移(1)
最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2020-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。还有高级架构技术进阶脑图、高级进阶架构资料帮助大家学习提升进阶,这里我也免费分享给大家也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。一起互勉~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
2024-05-14 18:54:26
571
原创 LC狂刷66道Dynamic-Programming算法题。跟动态规划说拜拜(1)
对程序员来说,很多技术的学习都是“防御性”的。也就是说,我们是在为未来学习。我们学习新技术的目的,或是为了在新项目中应用,或仅仅是为了将来的面试。但不管怎样,一定不能“止步不前”,不能荒废掉。!文章以下内容会给出阿里与美团的面试题(答案+解析)、面试题库、Java核心知识点梳理等《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!w/1240)[外链图片转存中…(img-w1Kl3HcS-1715673191354)]
2024-05-14 15:53:24
552
原创 Kotlin 的语法和高级特性(1)
有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!an>?// 为什么可以添加进去呢?因为编译器会这么去存list.add((Man)Man1)// 小转大是隐性的,大转小强转才需要手动加类型。// 那这里为什么又不能存 Man 的父类呢?
2024-05-14 14:44:43
993
原创 iOS开发:图标生成器Prepo 的使用
(1)Prepo可以帮助设计师和iOS开发者快速生成各种尺寸的图标,只需将最大分辨率的图标(最大分辨率的图标尺寸为1024*1024)拖拽进来,其他的具体的icon处理交给Prepo做就好了,非常简单方便。(2)通过点击Prepo对话框顶部右上角的“copy plist”按钮,设计师和iOS开发者可以轻松的把导出的文件复制到Xcode中,节省了大量的工作时间。**要想成为高级安卓工程师,必须掌握许多基础的知识。
2024-05-14 13:05:55
441
原创 IOS开发之——事件处理-View拖动(67)(1)
当用户用一根手指触摸屏幕时,会创建一个与手指相关联的UITouch对象一根手指对应一个UITouch对象在此为大家准备了四节优质的Android高级进阶视频:架构师项目实战——全球首批Android开发者对Android架构的见解。
2024-05-14 11:23:11
236
原创 HTML5 CSS3 诱人的实例 : 网页加载进度条的实现,下载进度条等
.loadBar{width: 600px;height: 30px;border: 3px solid #212121;border-radius: 20px;position: relative;}.loadBar div{width: 100%;height: 100%;position: absolute;top: 0;left: 0;}.loadBar div span, .loadBar div i{box-shadow: inset 0 -2px 6px rgba(0, 0, 0, .4);w
2024-05-14 03:36:22
850
原创 Git和码云项目平台使用文档(1)
1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要!最后你达到什么水平取决你消化了多少知识3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境。
2024-05-14 02:00:18
959
原创 Flutter提升开发效率的一些方法和工具(1)
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。同时我还搜集整理2020年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含。Flutter中,常见类型的asset包括静态数据(例如JSON文件),配置文件,图标和图片(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP)。
2024-05-14 00:40:47
911
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人