自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 OkHttp踩坑记:为何 response

首先是感觉自己的基础还是不够吧,大厂好像都喜欢问这些底层原理。之前的准备只涉及了Java、Android、计网、数据结构与算法这些方面,面对面试官对其他基础课程的考察显得捉襟见肘。下一步还是要查漏补缺,进行针对性复习。最后的最后,那套资料这次一定要全部看完,是真的太全面了,各个知识点都涵盖了,几乎我面试遇到的所有问题的知识点这里面都有!希望大家不要犯和我一样的错误呀!!!一定要看完!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-17 08:51:24 659

原创 ViewPager(二):与Fragment的结合

if (mCurTransaction == null) {mCurTransaction = mFragmentManager.beginTransaction();}if (DEBUG) Log.v(TAG, “Removing item #” + position + “: f=” + objectwhile (mSavedState.size()

2024-05-17 01:09:32 406

原创 RxJava2 源码解析(一)

跳槽季整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。

2024-05-16 23:26:48 570

原创 Retrofit统一添加post请求的默认参数(1)

@POST(“user/login”)Observable login(@Body RequestBody body);//构造一个RequestBody对象@POST(“user/login”)Observable login(@Body LoginInfo loginInfo);//构造一个实体对象}第二种方法,你需要为每一个不同的请求的对象创建一个不同的Model,太麻烦了,这里选择第一种直接构造RequestBody对象:Retrofit mRetrofit =

2024-05-16 22:05:12 983

原创 Ormlite 基本使用(关联表)(1)

/**ArticleBean实体类,存储article数据表中的数据数据库中的article表和user表是关联的,因此我们需要在article表中配置外键foreignColumnName:外键约束指向的类中的属性名foreign:当前字段是否是外键foreignAutoRefresh:如果这个属性设置为true,在关联查询的时候就不需要再调用refresh()方法了*/@DatabaseTable(tableName = “article”)public class ArticleBean {@Dat

2024-05-16 20:42:13 966

原创 Monoio:基于 io-uring 的高性能 Rust Runtime(1)

但是开发这类组件对开发者的专业水平有较高的要求,编程范式上对开发者心智负担巨大,稍有不慎就会造成非预期的后果。举例来说,在 C++ 中要完成一次异步的网络请求,需要将整个流程按照异步点拆分成独立的纯同步函数,并以 callback 的形式将其串联——这一来大大降低了其可读性,二来状态转换和管理容易出错;并且对变量生命周期需要精细管理,否则就会出现悬垂指针等内存问题。为什么不试试神奇的 Rust 呢?Rust 语言通过引入所有权模型,在不引入垃圾回收的情况下保证了内存安全;

2024-05-16 17:36:59 311

原创 Kotlin学习手记——协程初步(1)

suspend fun getUserSuspend(name: String) = suspendCoroutine { continuation ->githubApi.getUserCallback(name).enqueue(object: Callback{override fun onFailure(call: Call, t: Throwable) =continuation.resumeWithException(t)override fun onResponse(call: Call, r

2024-05-16 16:12:52 257

原创 Js正则表达式(1)

匹配html标签的正则表达式:(.*)|匹配首尾空格的正则表达式:(^\s*)|(\s*)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:String.prototype.trim = function(){return this.replace(/(^\s*)|(\s* )应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:String.proto

2024-05-16 15:01:25 227

原创 HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果

网上高级工程师面试相关文章鱼龙混杂,要么一堆内容,要么内容质量太浅, 鉴于此我整理了上述安卓开发高级工程师面试题以及答案。希望帮助大家顺利进阶为高级工程师。目前我就职于某大厂安卓高级工程师职位,在当下大环境下也想为安卓工程师出一份力,通过我的技术经验整理了面试经常问的题,答案部分是一篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来。大家知道高级工程师不会像刚入门那样被问的问题一句话两句话就能表述清楚,所以我通过过滤好文章来帮助大家理解。现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕。

2024-05-16 13:21:55 291

原创 Glide 架构设计艺术

首先我们看下总体过程:这里以从url到inputstream二进制流为例,之所以这里有三条分路,这和glide的缓存策略有关。首先有一点要澄清,这里从Request到Data其实是跳过了内存缓存的介绍,毕竟如果内存中已有bitmap缓存,我们直接取用就可以了,无需这么麻烦(详细的缓存方案后续文章会介绍)。因此,这里有三条路径主要是磁盘缓存和网络缓存,而磁盘缓存有两种:DataCache 从原始Request加载到的二进制流直接缓存,比如从url加载的原图缓存ResourceCache 将从Request获取

2024-05-16 11:32:57 291

原创 Flutter架构概览

Widgets构建widgets状态管理渲染和布局从用户操作到GPU构建:从Widget到Element布局和渲染Platform embedding前言=================================================================本文总结Flutter架构概览,包含其设计层面的核心原则以及概念。Flutter是一个跨平台的UI工具集,它允许在各种操作系统上复用相同的代码,同时应用程序直接与底层平台交互,避免了不同平台视图的差异,同时也让开发者能够在不同平

2024-05-16 10:15:23 319

原创 OpenCV On Android最佳环境配置指南(Eclipse篇)

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

2024-05-16 02:08:04 215

原创 LeetCode题解(十二)1100-1199

其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:架构师筑基必备技能Android框架体系架构(高级UI+FrameWork源码)360°Androidapp全方位性能调优设计思想解读开源框架NDK模块开发移动架构师专题项目实战环节移动架构师不可不学习微信小程序混合开发的flutterAndroid学习的资料我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。

2024-05-16 00:23:23 745

原创 Kotlin_Native 为 AppCode 开发了个插件,你可以用 Kotlin 写 iOS App了!

AppCode 是专门为 iOS/macOS 开发人员设计的仅限 macOS 平台的 IDE。它已经支持 Xcode 项目,在模拟器和设备上运行、调试,并为 Objective-C 和 Swift 提供更广泛的支持。如果你想尝鲜 Kotlin/Native,需要下载最新的 AppCode 2018.1.1 版本,然后在添加 JetBrains 插件的页面,安装 Kotlin/Native for AppCode 插件。需要注意的是,该插件仍然在积极开发之中,它还有一些不稳定的地方,例如:较高的内存消耗。接下

2024-05-15 23:14:15 854

原创 Jetpack 架构组件之 Lifecycle (三) 原理(1)

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!sync();

2024-05-15 21:52:17 704

原创 HTML5 CSS3 诱人的实例 :模仿优酷视频截图功能

现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!点击事件时,会暂停video,然后在video的位置生成一张图片,使用jquery动画移动到缩略图的位置,然后移除文档,缩略图显示,造成的动画效果。**任何市场都是优胜略汰适者生存,只要你技术过硬,到哪里都不存在饱和不饱和的问题,所以重要的还是提升自己。**另外一千个读者就有一千个哈姆雷特,所以以上只是自己的关键,不喜勿喷!

2024-05-15 19:10:21 379

原创 Glide 架构设计艺术

首先我们看下总体过程:这里以从url到inputstream二进制流为例,之所以这里有三条分路,这和glide的缓存策略有关。首先有一点要澄清,这里从Request到Data其实是跳过了内存缓存的介绍,毕竟如果内存中已有bitmap缓存,我们直接取用就可以了,无需这么麻烦(详细的缓存方案后续文章会介绍)。因此,这里有三条路径主要是磁盘缓存和网络缓存,而磁盘缓存有两种:DataCache 从原始Request加载到的二进制流直接缓存,比如从url加载的原图缓存ResourceCache 将从Request获取

2024-05-15 17:38:03 295

原创 Flutter架构概览

Widgets构建widgets状态管理渲染和布局从用户操作到GPU构建:从Widget到Element布局和渲染Platform embedding前言=================================================================本文总结Flutter架构概览,包含其设计层面的核心原则以及概念。Flutter是一个跨平台的UI工具集,它允许在各种操作系统上复用相同的代码,同时应用程序直接与底层平台交互,避免了不同平台视图的差异,同时也让开发者能够在不同平

2024-05-15 16:20:07 376

原创 XML解析各种方式比较(1)

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

2024-05-15 15:21:07 342

原创 valgrind内存泄露和线程竞态检测(1)

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

2024-05-15 14:27:56 360

原创 RN 开源项目

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

2024-05-15 12:51:35 370

原创 PageSlidingTab的改进,项目中可以直接使用。

有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!idate();有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊![外链图片转存中…(img-xPjoyOfH-1715743697648)]

2024-05-15 11:28:30 224

原创 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-15 06:06:27 790

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

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

2024-05-15 04:47:36 589

原创 JNI开发之局部引用、全局引用和弱全局引用(三)

给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;[外链图片转存中…(img-5NyEvPTn-1715715359736)]《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门。

2024-05-15 03:36:12 661

原创 HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果(1)

上面的属性先给大家一个感性的认识,看完例子再细细品味这些属性,或者baidu,google神马的。

2024-05-15 01:58:25 156

原创 Glide 架构设计艺术

首先我们看下总体过程:这里以从url到inputstream二进制流为例,之所以这里有三条分路,这和glide的缓存策略有关。首先有一点要澄清,这里从Request到Data其实是跳过了内存缓存的介绍,毕竟如果内存中已有bitmap缓存,我们直接取用就可以了,无需这么麻烦(详细的缓存方案后续文章会介绍)。因此,这里有三条路径主要是磁盘缓存和网络缓存,而磁盘缓存有两种:DataCache 从原始Request加载到的二进制流直接缓存,比如从url加载的原图缓存ResourceCache 将从Request获取

2024-05-15 00:24:58 626

原创 Flutter架构概览

Widgets构建widgets状态管理渲染和布局从用户操作到GPU构建:从Widget到Element布局和渲染Platform embedding前言=================================================================本文总结Flutter架构概览,包含其设计层面的核心原则以及概念。Flutter是一个跨平台的UI工具集,它允许在各种操作系统上复用相同的代码,同时应用程序直接与底层平台交互,避免了不同平台视图的差异,同时也让开发者能够在不同平

2024-05-14 23:07:48 803

原创 [译] Android Studio Project Marble_ Apply Changes

由于本文罗列的知识点是根据我自身总结出来的,并且由于本人水平有限,无法全部提及,欢迎大神们能补充~将来我会对上面的知识点一个一个深入学习,也希望有童鞋跟我一起学习,一起进阶。提升架构认知不是一蹴而就的,它离不开刻意学习和思考。**这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家,**梳理了多年的架构经验,筹备近1个月最新录制的,相信这份视频能给你带来不一样的启发、收获。,第一时间获取最新知识点Android架构师之路很漫长,一起共勉吧!

2024-05-14 22:22:48 681

原创 Tomcat体系架构(1)

让我们从内到外讨论tomcat配置文件的功能组件,以便更好地关联事物。Context是一组称为容器的Tomcat组件的最内层元素,它代表一个Web应用程序。Tomcat在加载应用程序时自动实例化并配置标准上下文。作为配置的一部分,Tomcat还处理应用程序文件夹文件中定义的属性,并使其可供应用程序使用。**连接器处理与客户端的通信。**Tomcat有多个连接器,例如用于大多数HTTP流量的HTTP连接器和AJP连接器(将Tomcat连接到另一个Web服务器(如Apache HTTPD服务器)时使用的AJP协

2024-05-14 20:44:40 594

原创 RecyclerView实现多type页面

最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2019-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。还有高级架构技术进阶脑图、高级进阶架构资料帮助大家学习提升进阶,也可以分享给身边好友一起学习。一起互勉~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!if (view!=null){

2024-05-14 19:06:23 986

原创 Okhttp的缓存机制

用于指定缓存的规则public final class CacheControl {//表示这是一个优先使用网络验证,验证通过之后才可以使用缓存的缓存控制,设置了noCachepublic static final CacheControl FORCE_NETWORK = new Builder().noCache().build();//表示这是一个优先先使用缓存的缓存控制,设置了onlyIfCached和maxStale的最大值public static final CacheControl FOR

2024-05-14 17:43:22 663

原创 Leetcode面T16(1-9)树

Map map = new HashMap();public WordsFrequency(String[] book) {for(String s:book){map.put(s, map.getOrDefault(s, 0)+1);}}public int get(String word) {if(!map.containsKey(word)) return 0;return map.get(word);}class Solution {public doubl

2024-05-14 16:01:27 272

原创 Kotlin(3)-协程和操作符重载

协程作为kotlin 区别于java的新概念,它的出现是为了解决java不好解决的问题,比如层层回调导致代码臃肿,比如 异步任务执行流程不好操控等。本章节篇幅有限,无法展开说明,但是对于新手而言,看完本章应该能对协程的作用有一个大概的认知。本人也是初步研究,后续有更深入的了解之后,再进行专文讲解吧。

2024-05-14 14:50:43 882

原创 Java 进阶 _ 注解及其在 Android 中的应用

Javapoet 是一个用来生成.java文件的 Java API,由 Square 开发,你可以在它的 Github 主页中了解它的基本使用方法。它的好处就是对方法、类文件和代码等的拼接进行了封装,有了它,我们就不用再按照字符串的方式去拼接出一段代码了。相比于直接使用字符串的方式,它还可以生成代码的同时直接import对应的引用,可以说是非常方便、快捷的一个库了。这里的是用来生成类文件的核心类,它是一个抽象类,一般使用的时候我们只要覆写它的方法中的4个就可以了。init。

2024-05-14 13:13:53 913

原创 HttpClient 翻译

1)使用HttpEntity#getContent()方法来检索输入流,返回java.io.InputStream。2)为HttpEntity#writeTo(OutputStream)方法提供一个输出流,当所有内容被写入指定的流后才会返回一次。当实体随着一个输入消息被接收到,HttpEntity#getContentType()和HttpEntity#getContentLength()这两个方法可以用来读公共的元数据如:Content-Type头和Content-Length头(如何它们可获得)。Con

2024-05-14 03:45:04 961

原创 Glide使用总结(1)

分享一份工作1到5年以上的Android程序员架构进阶学习路线体系,希望能对那些还在从事Android开发却还不知道如何去提升自己的,还处于迷茫的朋友!阿里P7级Android架构师技术脑图;查漏补缺,体系化深入学习提升**全套体系化高级架构视频;**七大主流技术模块,视频+源码+笔记有任何问题,欢迎广大网友一起来交流《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!dencies {其次,部分样例:图片虚化。

2024-05-14 02:06:20 278

原创 Flutter沉浸式透明状态栏-flutter自定义凸起BottomAppBar导航(1)

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的Android开发中高级必知必会核心笔记,共计2968页PDF、58w字,囊括Android开发648个知识点,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

2024-05-14 00:46:47 929

原创 valgrind内存泄露和线程竞态检测(2)

Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。资源持续更新中,欢迎大家一起学习和探讨。《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-13 19:28:01 1006

原创 Router_一款单品、组件化、插件化全支持的路由框架

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

2024-05-13 17:53:07 679

空空如也

空空如也

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

TA关注的人

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