自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 zookeeper原理篇-Zookeeper会话机制

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

2024-05-17 01:56:27 360

原创 TCP_UDP协议详解

UDP的校验和是把首部和数据部分一起校验,发送方计算校验和的一般步骤:接收方收到用户数据报后,连同伪首部一起,按二进制反码求这些16位字的和,无差错结果是应全为1.否则出错,直接丢弃该报文。TCP协议作为传输层主要协议之一,具有面向连接,端到端,可靠的全双工通信,面向字节流的数据传输协议。虽然TCP面向字节流,但TCP传输的数据单元却是报文段。TCP报文段分为TCP首部和数据部分,TCP报文段首部的前20个字节是固定的,后面有4*n字节根据需要动态添加的选项,最大长度为40字节。三次握手图例如下,与文字解释

2024-05-17 00:16:19 407

原创 React Native 团队怎么看待 Flutter 的?终于有官方回复了

希望大家能有一个好心态,想进什么样的公司要想清楚,并不一定是大公司,我选的也不是特大厂。当然如果你不知道选或是没有规划,那就选大公司!希望我们能先选好想去的公司再投或内推,而不是有一个公司要我我就去!还有就是不要害怕,也不要有压力,平常心对待就行,但准备要充足。最后希望大家都能拿到一份满意的 offer!如果目前有一份工作也请好好珍惜好好努力,找工作其实挺累挺辛苦的。这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。

2024-05-16 21:15:04 530

原创 OkHttp3源码解析--设计模式

看到这篇文章的人不知道有多少是和我一样的Android程序员。35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。

2024-05-16 18:22:37 400

原创 Kotlin:集合(一)

// 文章后面会讲解forEach高阶函数。比for循环简洁多了for (index in arr){print(“$index \t”)}输出结果:4 3 2 1中的集合和其他语言不同的是,集合可分为可变和不可变集合。由以上几点我们可出,在定义集合类型变量的时候如果使用、、声明的时候该集合则是不可变集合,而使用、、的时候该集合才是可变类型集合。这里我就不提供源码来分析了,有兴趣的可以看一看源码!源码在文件2.1、List类型我们知道,一个接口是不能直接实例化的,那我们要初始化一个怎

2024-05-16 16:40:50 298

原创 Kotlin 宣布一个超级特性

是的子集,比会得到更多优化,现阶段和一样,只能在构造函数中传入一个参数,参数需要用val声明,将来可以在构造函数中添加多个参数,但是每个参数都需要用val声明,官方说明如下图所示。将来如果支持添加多个参数,那么它的使用范围会越来越广的。升级到 Kotlin 1.5 之后,将被弃用,如下图所示,编译器将会给出警告。根据提示目前唯一需要改变的是语法inline替换为value, 然后在添加@JvmInline注解即可。@JvmInline编译后的效果和是一样的,因此后面的案例将会使用。

2024-05-16 15:33:14 366

原创 IOS开发之——私人通讯录编辑样式(60)

本文主要介绍一下内容:导航条右侧(已有添加按钮)添加一个删除按钮点击删除按钮,删除tableview条目tableview编辑之前调用,切换tableview中编辑模式(添加、删除模式)二 效果图三 导航条右侧(已有添加按钮)添加一个删除按钮业务逻辑现获取布局中的“add”按钮通过代码新建一个“delete”按钮通过avigationItem.rightBarButtonItems将上面的两个按钮添加进来代码实现123456//获取+按钮UIBarButtonItem *add=self.navigati

2024-05-16 13:54:48 380

原创 Hadoop实战——MapReduce实现主播的播放量等数据的统计及TopN排序(第二篇)

======在第一篇教学我们已经将主播的数据进行了初步的提取,但是数据看起来杂乱无章,这篇文章教大家如何对提取出来的数据进一步处理一、流程简介======第一篇提取好的数据如下:通过文本数据我们可以发现一个主播的id号有多条数据记录,那么我们要做的就是要把这些相同的id将他对应数据进行累计求和处理操作,同时对id进行一个升序操作,看起来更加整洁这次涉及到统计求和、排序等操作,用到了Reduce,整体项目流程如下:二、创建Maven工程项目(1)新建maven。

2024-05-16 12:28:09 235

原创 Flutter:基于video_player实现视频相关手势控制、全屏播放(2)

这里定义了三种读取视频的方式networkassetfile,分别对应网络视频工程视频本地视频文件Key key,@required String url, // 当前需要播放的地址this.width: double.infinity, // 播放器尺寸(大于等于视频播放区域)this.title = ‘’, // 视频需要显示的标题url = url,Key key,@required String dataSource, // 当前需要播放的地址。

2024-05-16 10:43:00 242

原创 MVVM与Jetpack架构核心技术DataBinding从入门到通透【第二篇】(附源码解析视频教程)

@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {FragmentBlankBinding binding = DataBindingUtil.inflate(inflater, R.layout.fragment_blank, container, false);binding.setHint(“Hello”);re

2024-05-16 01:14:10 360

原创 Kotlin学习(2)语法(2)

1. 变量和标志符===========================================================================kotlin所有的变量类型都是引用类型。Kotlin的变量分为 和 ,可以简单理解为:val是只读的,仅能一次赋值,后面就不能被重新赋值了var是可写的,在它的声明周期中,它能被赋值很多次比如:而把val->var,这个操作就不会报错。变量命名规则同Java一样。所以我们平时都遵循驼峰命名法2. 关键字与修饰符================

2024-05-15 23:42:32 764

原创 Kotlin - 协程基础及原理

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

2024-05-15 22:35:00 994

原创 IOS开发之——手势解锁-布局和圆的选中(84)

包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。if (btn) { //有触摸点地方才需要选中。if (btn) { //有触摸点地方才需要选中。//设置普通状态下的图片。,这里放上我搜集整理的。

2024-05-15 19:43:17 214

原创 Hadoop实战——MapReduce实现主播的播放量等数据的统计及TopN排序(第一篇)

【Android 详细知识点思维脑图(技能树)】其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

2024-05-15 18:18:17 287

原创 Flutter:基于video_player实现视频相关手势控制、全屏播放(2)

这里定义了三种读取视频的方式networkassetfile,分别对应网络视频工程视频本地视频文件Key key,@required String url, // 当前需要播放的地址this.width: double.infinity, // 播放器尺寸(大于等于视频播放区域)this.title = ‘’, // 视频需要显示的标题url = url,Key key,@required String dataSource, // 当前需要播放的地址。

2024-05-15 16:48:26 342

原创 [译] MDC-102 Flutter:Material 结构和布局(Flutter)

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

2024-05-15 15:52:47 222

原创 STL之stack的常见用法详解

stack的定义其定义的写法和其他STL容器相同, typename可以任意基本数据类型或容器:stack name;stack容器内元素的访问与常用函数实列解析先出的数据结构,在STL的 stack中只能通过top()来访问栈顶元素。push(x)将x入栈,时间复杂度为O(1),实例见“ stack容器内元素的访问。top()获得栈顶元素,时间复杂度为O(1),实例见“ stack容器内元素的访问。pop()用以弹出栈顶元素,时间复杂度为O(1)。

2024-05-15 13:37:09 272

原创 React Native环境安装 、并启用真机调试(2)

由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!在FileWatcher文件夹下,点击index.js找到如下图所示[外链图片转存中…(img-gYuHB6Oj-1715745656857)]69.png。

2024-05-15 12:01:09 408

原创 OkHttp 3(1)

如果用户使用单线程 + 同步任务请求,那么同时活跃的任务数肯定只有单个,没必要控制。如果用户使用多线程或者线程池 + 同步请求的话,那相当于用户自己定制和实现了异步请求策略,那么对于异步请求的管理肯定交给用户是最合适的,OkHttp也很难去管理用户的自定义实现。用户可以通过配置OkHttpClient来修改dispatcher的属性,从而扩展异步请求的策略。Dispatcher的ExecutorService默认实现==============================在了解异步任务的执行流程之前,我

2024-05-15 06:57:21 646

原创 Kotlin:字符串(String)(2)

一线互联网Android面试题含详解(初级到高级专题)这些题目是今年群友去腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率如果设置门槛,很多开发者朋友会因此错过这套高级架构资料,错过提升成为架构师的可能。这就失去了我们的初衷;让更多人都能通过高效高质量的学习,提升自己的技术和格局,升职加薪。最后送给大家一句话,望共勉,永远不要放弃自己的梦想和追求;

2024-05-15 05:15:23 508

原创 Kotlin 在Android开发中那些让人舒适的地方

找工作是个很辛苦的事情,而且一般周期都比较长,有时候既看个人技术,也看运气。第一次找工作,最后的结果虽然不尽如人意,不过收获远比offer大。接下来就是针对自己的不足,好好努力了。最后为了节约大家的时间,我把我学习所用的资料和面试遇到的问题和答案都整理成了PDF文档《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!lin对这个做的改造的时候还是非常开心~// 创建Bundle 和创建map 一样优雅。

2024-05-15 04:07:51 599

原创 IOS开发之——时钟(94)

希望本文对你有所启发,有任何面试上的建议也欢迎留言分享给大家。好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。好了~如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。

2024-05-15 02:31:22 584

原创 Hadoop实战——MapReduce实现主播的播放量等数据的统计及TopN排序(第一篇)

【Android 详细知识点思维脑图(技能树)】其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

2024-05-15 01:05:20 360

原创 Flutter:基于video_player实现视频相关手势控制、全屏播放(2)

这里定义了三种读取视频的方式networkassetfile,分别对应网络视频工程视频本地视频文件Key key,@required String url, // 当前需要播放的地址this.width: double.infinity, // 播放器尺寸(大于等于视频播放区域)this.title = ‘’, // 视频需要显示的标题url = url,Key key,@required String dataSource, // 当前需要播放的地址。

2024-05-14 23:35:26 707

原创 [译] 深入了解 Flutter

使用 Flutter 的 UI-as-code 方法时,组件树就是代码。因此,我们可以使用所有常用的代码组织工具来改善这种情况。工具箱中最简单的工具之一就是命名子表达式。这会在语法上将组件树翻出来。而不是return A(B(C(D(), E())), F());我们可以命名每个子表达式并得到final Widget d = D();final Widget e = E();final Widget c = C(d, e);final Widget b = B©;final Widget f = F

2024-05-14 22:55:46 671

原创 ViewModel原理

ComponentActivity持有一个ViewModelStore,可以通过ViewModelStoreOwner中的getViewModelStore()方法获取。(为啥不直接在Activity获取ViewModelStore,再获取ViewModel呢?因为ViewModel要通过ViewModelProvider.Factory创建)Factory:是一个接口,用来创建ViewModel的@MainThreadpublic T get(@NonNull Class modelClass) {

2024-05-14 21:18:17 827

原创 RxJava 响应式编程 _ 奉上一篇全面的 RxJava2 方法总结

*要想成为高级安卓工程师,必须掌握许多基础的知识。**在工作中,这些原理可以极大的帮助我们理解技术,在面试中,更是可以帮助我们应对大厂面试官的刁难。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!:这个调度器允许你立即在当前线程执行你指定的工作。它是timeout()以及方法默认的调度器。5.:当我们想在当前线程执行一个任务时,并不是立即,我们可以用将它入队。这个调度器将会处理它的队列并且按序运行队列中每一个任务。它是repeat()和retry()

2024-05-14 19:39:25 693

原创 Phonegap联系人 获取Contacts HTML5,android(1)

将下方语句考到 assets目录下 www/index.html 当中 完全复制过去;现在大家只需要将工程导入到eclipse当中 使用官方APi语句在javascript中调用。 添加android 平台工程 (ios把 “android” 替换) 在控制台 创建一个phonegap工程 命令如下。 我们从命令行进入 到工程目录下的 plugins文件夹。res/xml 目录下 的config.xml。 编译android工程。 现在开始下载插件。

2024-05-14 18:16:20 879

原创 Meterial Design常见控件的使用(一):Toolbar

注意: 此时 TextView 控件的宽和高都是自适应大小,java 代码中此行代码就不要添加了,否则就会显示不正常。如果你非要添加这行代码的话,TextView 控件的宽要用match_parent属性。这里再次建议这行代码就不要点添加了。至于它的作用,在此做一下简单的说明吧:1)在Toolbar这个控件出现之前,其实我们也可以通过 方法获取到acitonbar,(前提你的activity主题theme,是采用的带actionbar的主题,如果你采用这样的主题拿到的actionBar也是 null,显然

2024-05-14 16:41:54 890

原创 kotlin基本语法

带有两个 Int 参数、返回 Int 的函数:将表达式作为函数体、返回值类型自动推断的函数函数返回无意义的值//varName表示变量值varName 表示变量值,varName表示变量值{表达式}执行表达式Unit返回类型可以省略可变长参数函数,用 vararg 关键字进行标识:函数的变长参数可以用 vararg 关键字进行标识:print(it)vars(1,2,3,4) ,输出1234定义只读局部变量使用关键字val定义。只能为其赋值一次。

2024-05-14 15:18:24 809

原创 JSON数据格式必知

题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。【Android思维脑图(技能树)】

2024-05-14 14:08:31 680

原创 Handler 源码机制

给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!()) {//如果需要唤醒队列对消息的处理,通过nativeWake可以唤醒 nativePollOnce (这个会在queue.next()中调用,使对于消息的处理进行休眠操作)的沉睡。

2024-05-14 02:46:35 977

原创 Flutter:基于video_player实现视频相关手势控制、全屏播放

这里定义了三种读取视频的方式networkassetfile,分别对应网络视频工程视频本地视频文件Key key,@required String url, // 当前需要播放的地址this.width: double.infinity, // 播放器尺寸(大于等于视频播放区域)this.title = ‘’, // 视频需要显示的标题url = url,Key key,@required String dataSource, // 当前需要播放的地址。

2024-05-14 01:14:25 392

原创 Yum常用命令及Yum中文手册(2)

现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。

2024-05-13 20:23:27 826

原创 STL之vector常用函数笔记

这里我特地整理了一份《Android开发核心知识点笔记》,里面就包含了自定义View相关的内容除了这份笔记,还给大家分享Android学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。分享上面这些资源,希望可以帮助到大家提升进阶,如果你觉得还算有用的话,不妨把它们推荐给你的朋友~喜欢本文的话,给我点个小赞、评论区留言或者转发支持一下呗~

2024-05-13 18:37:17 994

原创 react-native-image-picker 实现文件上传

针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-13 17:01:53 108

原创 maven构建第一个项目实例——详解SSM开发框架

junitjunit4.11testorg.springframeworkspring-core${spring.version}org.springframeworkspring-web${spring.version}org.springframeworkspring-oxm${spring.version}org.springframeworkspring-tx${spring.version}org.springframeworkspring-jdbc${spring.version}org.spr

2024-05-13 14:22:36 788

原创 Kotlin在Android开发中那些让人舒适的地方

/ 空安全 /在使用Java开发Android的过程中,避免不了大量的空安全判定代码,介于Kotlin要很好的兼容Java,在这个问题上Kotlin设计一整套新的类型系统(这里不作研究)来完善优化它。所有的类型都分为可空和不可空类型,并且针对不可空类型强制要求初始化,在一开始就让开发者高标准的、严谨的使用变量,是一种规范性的要求。但是可空类型可能会在程序中更广泛的应用,针对这一点,Kotlin也有Elvis 操作符来进行安全访问或者避免空值情况,见简洁代码。// 不可空类型(使用前必须初始化)var not

2024-05-13 13:03:57 995

原创 JNI开发之 静态注册与动态注册(一)

最后我想说:对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,

2024-05-13 11:52:12 828

原创 IOS开发之——私人通讯录编辑样式(60)

本文主要介绍一下内容:导航条右侧(已有添加按钮)添加一个删除按钮点击删除按钮,删除tableview条目tableview编辑之前调用,切换tableview中编辑模式(添加、删除模式)二 效果图三 导航条右侧(已有添加按钮)添加一个删除按钮业务逻辑现获取布局中的“add”按钮通过代码新建一个“delete”按钮通过avigationItem.rightBarButtonItems将上面的两个按钮添加进来代码实现123456//获取+按钮UIBarButtonItem *add=self.navigati

2024-05-13 10:35:52 361

空空如也

空空如也

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

TA关注的人

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