自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [s1e6]超详细!3小时从0开始开发一个GitHub客户端(Android)

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2024-05-17 02:06:23 236

原创 Thinkphp使用CKEditor4

在ckeditor/config.js文件中设置//工具栏设置‘/’,‘/’,//自定义//加粗 斜体, 下划线 穿过线 下标字 上标字// 数字列表 实体列表 减小缩进 增大缩进。

2024-05-17 00:25:33 396

原创 ReactNative 百度地图

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。不断奔跑,你就知道学习的意义所在!

2024-05-16 21:23:37 586

原创 OkHttp流程分析(1)

总而言之,Android开发行业变化太快,作为技术人员就要保持终生学习的态度,让学习力成为核心竞争力,所谓“活到老学到老”只有不断的学习,不断的提升自己,才能跟紧行业的步伐,才能不被时代所淘汰。在这里我分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司20年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

2024-05-16 18:31:51 420

原创 LeakCanary源码分析以及ContentProvider的优化方案

现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水!为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!Android架构师之路很漫长,一起共勉吧!

2024-05-16 16:50:04 393

原创 Kotlin(2)-泛型与集合(2)

我们在编码java的时候,写一个泛型类,可能是这样的class Plate{T t;Plate(T t){this.t = t;}T get(){return t;}void set(T t){this.t =t;}}以上是java代码。Java泛型是伪泛型,在编译之后,所有的泛型写法都会被移除,而会用实际的类型去替换。mian函数运行的时候, 被移除。而原来的T,就变成了Object。所以,Plate的字节码反编译过来就应该是class Plate{Object t;Plate(Obj

2024-05-16 15:41:09 380

原创 IT从业15年,给后辈的一点建议

4、 胆子要大,要多发出自己的声音。很多职场新人在项目讨论的时候会担心自己技术深度不足,提出的观点比较浅薄,这个是不对的。说得不好听,我们都是来打工的,赚钱才是王道,面子是最不重要的。只有多表达自己对业务的思考才能展现自己的价值,很多时候跟人探讨自己的想法能及快速的更新自己的知识储备。5、 答主机械工程出身,再说说机械(包括电气)工程如何转行进入互联网公司。看情况,如果是本科,极力建议跨考电气工程,因为很多基础课程像数电模电、电工学、高等数学等重要课程两个学科都有学习,考研难度相对较小。如果是机械的硕士,那

2024-05-16 14:04:02 290

原创 Handler消息机制:面试初级、中级、高级问法,你都掌握了吗?

view.setLayoutParams(wparams);mViews.add(view);mRoots.add(root);mParams.add(wparams);// do this last because it fires off messages to start doing thingstry {//ViewRootImplroot.setView(view, wparams, panelParentView);} catch (RuntimeException e) {//

2024-05-16 12:40:45 326

原创 FrameWork内核解析之Handler消息机制(二)

细心的朋友可能早早就发现了,之前抛出异常的地方讲解了半天的Loop.prepare()方法,一直没有说到Loop.loop()方法。同时,在之前的例子中也看到了,如果不调用Looper.loop()方法,Handler是接受不到消息的,所以我们可以大胆的猜测,消息的获取肯定和它脱不了关系!最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。

2024-05-16 10:56:13 346

原创 NestedScrollView嵌套滑动源码解读

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。【Android思维脑图(技能树)】知识不体系?

2024-05-16 01:27:29 350

原创 Kotlin开发效率提升技巧—扩展函数

就是说一个类中定义了一个函数,然后又定义了一个和这个成员函数一样结构的扩展函数,调用的时候将不会调用到扩展函数,举个例子// 调用方法这段代码执行结果会打印"Class method"

2024-05-15 23:49:44 581

原创 kotlin 入门到精通 单例模式(六)

}static {HungrySin var0 = new HungrySin();INSTANCE = var0;}}2.懒汉式 doubleCheck说到延迟加载就直接跳到线程安全且性能较好的doubleCheck吧,若是用java实现会用2层check,第一层判断减轻锁的负担直接判断是否创建过,第二层判断加锁保证线程安全,最后用volatile禁止重排序防止编译器优化导致的线程安全问题。在kotlin里面也无需这么复杂,直接使用by lazy代理即可实现class DoubleCheckSin pri

2024-05-15 22:42:12 551

原创 iOS性能优化实践:头条抖音如何实现OOM崩溃率下降50%+

pageSize:指的是当前设备物理内存页的大小,当前设备是,大小是 16KB,苹果 A7 芯片之前的设备物理内存页大小则是 4KB。states:当前应用的运行状态,对于这个应用而言是正在前台运行的状态,这类崩溃我们称之为(Foreground Out Of Memory);与此相对应的也有应用程序在后台发生的 OOM 崩溃,这类崩溃我们称之为(Background Out Of Memory)。rpages:是的缩写,表明进程当前占用的内存页数量,Heimdallr-Example 这个应用占用的内存页

2024-05-15 19:50:31 286

原创 Handler消息机制(九):IntentService源码解析

HandlerThread的原理已经分析完了,我们来总结一下它的特点:1.HandlerThread它就是一个线程,和开启普通的线程得到操作一致2.HandlerThread需要搭配Handler使用,单独使用的意义不大3.HandlerThread会将通过handleMessage传递进来的任务进行串行执行,这是由messageQueue的特性决定的,从而也说明了HandlerThread效率相比并行操作会比较低IntentService的使用和原理。

2024-05-15 18:29:28 302

原创 FrameWork内核解析之Handler消息机制(二)

细心的朋友可能早早就发现了,之前抛出异常的地方讲解了半天的Loop.prepare()方法,一直没有说到Loop.loop()方法。同时,在之前的例子中也看到了,如果不调用Looper.loop()方法,Handler是接受不到消息的,所以我们可以大胆的猜测,消息的获取肯定和它脱不了关系!最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。

2024-05-15 17:01:44 278

原创 [译] 全新 Android 注入器 _ Dagger 2(三)

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。欢迎大家一起交流讨论啊~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!中…(img-Nd12uysL-1715760267162)]欢迎大家一起交流讨论啊~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-15 16:04:39 278

原创 TCP粘包半包问题和解决

从 IP 传过来的 IP包对于以太网来说就是数据。给这些数据附加上以太网首部并进行发送处理,生成的以太网数据包将通过物理层传输给接收端。经过层层转发后,服务器就会收到我们的请求报文,经过4-3-2-1的顺序将网络上传递的数据包再变成我们服务端程序可以处理的数据,整个过程如图所示:但是在实际发送时有可能发生所谓的粘包和半包这种现象,比如:假设客户端分别发送了两个数据包D1和D2给服务端,可能存在以下4种情况。(1)服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和半包;(2)服务端一次接收到

2024-05-15 13:50:17 561

原创 ReactNative动画效果分析(仅从Android端源代码进行分析)

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。不断奔跑,你就知道学习的意义所在!

2024-05-15 12:09:48 239

原创 OKHttp学习(一)—OKHttp的工作原理

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。面试过程一定要有礼貌!

2024-05-15 07:06:32 630

原创 LC狂刷66道Dynamic-Programming算法题。跟动态规划说拜拜(1)

对程序员来说,很多技术的学习都是“防御性”的。也就是说,我们是在为未来学习。我们学习新技术的目的,或是为了在新项目中应用,或仅仅是为了将来的面试。但不管怎样,一定不能“止步不前”,不能荒废掉。!文章以下内容会给出阿里与美团的面试题(答案+解析)、面试题库、Java核心知识点梳理等《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!w/1240)[外链图片转存中…(img-zKBA4cbU-1715721784310)]

2024-05-15 05:23:17 897

原创 Kotlin 资源大全 - 学 Kotlin 看这一篇教程就够了(1)

官网及文档Kotlin 官网Kotlin 文档Kotlin 中文文档Kotlin on GitHub教程 & 文章将 Kotlin 用于生产环境:你在犹豫什么?为什么我要改用 Kotlin?用 Kotlin 开发 Android 项目是一种什么样的感受?用 Kotlin 开发 Android 项目是一种什么样的感受?(二)Kotlin Primer · 第一章 · 启程Kotlin Primer · 第二章 · 基本语法Kotlin Primer · 第三章 · Kotlin 与 Java 混编Kotlin

2024-05-15 04:15:44 841

原创 iptables转发基础

iptables [-t TABLE] COMMAND CHAIN [num] 匹配条件 -j 处理动作要使用iptables的NAT功能,我们首先需要启用网卡的IP转发功能如果想要永久生效,我们要编辑文件,设置,然后用sysctl -p命令使配置文件生效。我们使用**-t nat**参数指明使用nat表,因为iptables默认使用filter表。nat表同filter表一样有三条缺省的”链”(chains):POSTROUTING:定义进行源地址转换规则,重写数据包的源IP地址。

2024-05-15 02:39:58 788

原创 Handler消息机制(九):IntentService源码解析

HandlerThread的原理已经分析完了,我们来总结一下它的特点:1.HandlerThread它就是一个线程,和开启普通的线程得到操作一致2.HandlerThread需要搭配Handler使用,单独使用的意义不大3.HandlerThread会将通过handleMessage传递进来的任务进行串行执行,这是由messageQueue的特性决定的,从而也说明了HandlerThread效率相比并行操作会比较低IntentService的使用和原理。

2024-05-15 01:16:31 351

原创 FrameWork内核解析之Handler消息机制(二)

细心的朋友可能早早就发现了,之前抛出异常的地方讲解了半天的Loop.prepare()方法,一直没有说到Loop.loop()方法。同时,在之前的例子中也看到了,如果不调用Looper.loop()方法,Handler是接受不到消息的,所以我们可以大胆的猜测,消息的获取肯定和它脱不了关系!最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。

2024-05-14 23:48:35 679

原创 wepy学习基础指令

在data和methods平行节点下onLoad() {//自定义属性myData = ‘我是自定义属性’;// 自定义函数src目录下创建components文件夹components下创建自定义组件页面xxx.wpy,继承wepy.component注意:类名保持一致在script节点下引入自定义组件Export default节点下声明自定义组件MyHeader,MyFooter使用自定义组件。

2024-05-14 21:43:24 668

原创 Rxjava原理与场景全面解析篇,值得一看!

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!上面分享的字节跳动公司2021年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。【Android高级架构视频学习资源】Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!

2024-05-14 19:47:18 697

原创 QMUI 2 终于来了

第一种方式就是简单,但是它有两个弊端:因此,QMUI 推荐采取第二种方式,因此 QMUI 提供了换肤功能的支持,夜间模式只是在 时调用一下换肤接口而已。 当然,开发者也可以创建 *-night 文件夹,并在里面配置 qmui 的各种 color/drawable 设置,以第一种方式去完成夜间模式的适配。 QMUI 只是将组建资源取值 Attr 化,使用何种方式,都是由使用者自己决定。常规使用方式, 在 里加入你的 skin 支持项:QMUISkinManager skinManager = QMUISk

2024-05-14 18:24:13 675

原创 MVPArms官方快速组件化方案开源,来自5K star的信赖

好了, 进入正题!组件化简单概括就是把一个功能完整的App或模块拆分成多个子模块, 每个子模块可以独立编译和运行, 也可以任意组合成另一个新的App或模块, 每个模块即不相互依赖但又可以相互交互, 遇到某些特殊情况甚至可以升级或者降级。

2024-05-14 16:57:44 975

原创 Kotlin学习日志(二)数据类型

本人从事Android开发已经有十余年,算是一名资深的移动开发架构师了吧。根据我的观察发现,对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。所以在此将我十年载,从萌新小白一步步成长为Android移动开发架构师的学习笔记,从Android四大组件到手写实现一个架构设计,我都有一一的对应笔记为你讲解。当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。

2024-05-14 15:27:05 727

原创 JWT在Java和Android中的使用(2)

***/

2024-05-14 14:15:44 690

原创 Handler源码精解读,Android消息机制全面掌握!(1)

我的面试经验分享可能不会去罗列太多的具体题目,因为我依然认为面试经验中最宝贵的不是那一个个具体的题目或者具体的答案,而是结束面试时,那一刻你的感受以及多天之后你的回味~很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。

2024-05-14 02:58:27 526

原创 Framework学习(七)AMS家族(1)

startCoreServices();//4startOtherServices();//5} catch (Throwable ex) {Slog.e(“System”, “******************************************”);Slog.e(“System”, “************ Failure starting system services”, ex);throw ex;} finally {Trace.traceEnd(Trace.TRACE_TAG_S

2024-05-14 01:27:37 300

原创 zookeeper大规模分布式集群中任一单点设备上线下线心跳感知系统(一)

各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。BAT大厂面试题、独家面试工具包,资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-13 20:30:41 775

原创 tensorflow-android 官方demo源码分析

开发是面向对象。我们找工作应该更多是面向面试。哪怕进大厂真的只是去宁螺丝,但你要进去得先学会面试的时候造飞机不是么?作者13年java转Android开发,在小厂待过,也去过华为,OPPO等,去年四月份进了阿里一直到现在。等大厂待过也面试过很多人。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含。

2024-05-13 18:50:26 1008

原创 Realm数据库使用教程(七):数据库加密和Realm使用注意事项

也就是说,如果你在主线程中new了一个RealmObject对象 user,那么在子线程中是访问不了user对象的。每一个知识点,都有对应的导图,学习的资料,视频,面试题目。.encryptionKey(UIUtils.getRealmKey(key))//指定数据库的密钥。如果想在子线程中去查询数据,然后在主线程中使用是无法做到的。一、 RealmObject自带线程保护功能,只能在创建它的线程中访问,在子线程中不能访问。要想在子线程中访问,必须先将user存入Ream中,然后在子线程中query出来。

2024-05-13 17:10:33 914

原创 MPAndroidChart 教程:坐标轴,X轴,Y轴,Labels(三)

下面提及的方法可以适用于两个轴。“轴”类允许特定的Style,由以下 components/parts 组成(可以包含):轴的标签(y轴垂直绘制 或 x轴水平取向),contain 轴的描述值。所谓axis-line被直接绘制在便签旁且平行。grid-lines在水平方向,且源自每一个轴标签。LimitLines允许呈现的特别信息,如边界或限制。XAxis类是AxisBase的一个子类。XAxis类是所有与水平轴相关的 “数据和信息容器”。每个都有一个XAxis对象。XAxis对象展示了以或。

2024-05-13 14:39:40 588

原创 Kotlin学习日志(一)TextView、Button、Toast的使用

*一个零基础的新人,我认为坚持是最最重要的。**我的很多朋友都找我来学习过,我也很用心的教他们,可是不到一个月就坚持不下来了。我认为他们坚持不下来有两点主要原因:他们打算入行不是因为兴趣,而是因为所谓的IT行业工资高,或者说完全对未来没有任何规划。刚开始学的时候确实很枯燥,这确实对你是个考验,所以说坚持下来也很不容易,但是如果你有兴趣就不会认为这是累,不会认为这很枯燥,总之还是贵在坚持。技术提升遇到瓶颈了?缺高级Android进阶视频学习提升自己吗?还有大量大厂面试题为你面试做准备!

2024-05-13 13:11:13 700

原创 JVM经典书籍

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长。而不成体系的学习效果低效漫长且无助。时间久了,付出巨大的时间成本和努力,没有看到应有的效果,会气馁是再正常不过的。所以学习一定要找到最适合自己的方式,有一个思路方法,不然不止浪费时间,更可能把未来发展都一起耽误了。如果你是卡在缺少学习资源的瓶颈上,那么刚刚好我能帮到你。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-13 12:00:42 917

原创 Handler消息机制(二):一个线程有几个Handler

在消息机制里面,有一个非常重要的东西,那就是Looper,Looper的作用主要是从消息队列里面取出消息交给Handler处理,不过不仅限于此,在这里面还有很多东西值得我们去源码看一看:要在一个线程里面处理消息,代码如下:class LooperThread extends Thread{public Handler mHandler;public void run(){Looper.prepare();mHandler = new Handler(){public void handleMessage(M

2024-05-13 09:04:20 309

原创 FrameWork内核解析之Handler消息机制(二)

细心的朋友可能早早就发现了,之前抛出异常的地方讲解了半天的Loop.prepare()方法,一直没有说到Loop.loop()方法。同时,在之前的例子中也看到了,如果不调用Looper.loop()方法,Handler是接受不到消息的,所以我们可以大胆的猜测,消息的获取肯定和它脱不了关系!最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。

2024-05-13 07:35:33 875

空空如也

空空如也

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

TA关注的人

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