自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

释然小师弟

一个平平无奇的Android开发者

  • 博客(22)
  • 收藏
  • 关注

原创 【重学面向对象】篇一:到底什么是多态?

前言接触Java这么久,我们一定都知道,作为面向对象阵营的典型代表,封装、继承、多态 (其实还应该包含抽象)是其三大基本特征但是到底什么是多态,它的底层又是如何实现的,又有什么优缺点,可能就没那么容易说清楚今天我们从它的近亲 C++ 语言来重新审视下,到底什么是多态下面,正文开始!什么是多态多态(Polymorphism)是面向对象的三大基本特征之一,多态是在 面向对象 的语境下,将数据模型封装为类对象,而对象之间又含有继承关系,一个基类(base class)可以有不同的派生类(derive.

2021-02-04 15:24:54 1183

翻译 【单片机开发之旅】工程师必备!十本最值得读的Arduino书籍

前言Arduino最好的地方在于,基本上所有人都可以接触到, 但是想在Arduino硬件基础上进行开发和构建却不是一件容易的事情首先要解决的问题,就是从哪里开始学习,并且在这条路上走的更远本文中,我会分享一些关于Arduino的优质书籍,让你能够尽快入门,这些书籍基本上涵盖了所有级别所需要的技巧(不论你是初学,还是想要进阶),因此这份书单基本上是适合所有人的下面,正文开始!注:本文为译文,旨在整理总结Arduino相关书籍供大家参考学习[ 原文链接 ] 10-best-arduino-boo

2021-02-03 10:01:09 4764 3

原创 【一起来玩NDK】篇一:不好意思,学会NDK真的无所不能

广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 [email protected],期待跟你成为同事!前言作为Android工程师,Java和Kotlin是我们经常使用的开发语言但在涉及到一些需要高性能,或与底层相关,或与安全相关的功能,就不得不使用C/C++来实现,Java语言也提供了相关接口(JNI)来调用native相关的代码Android平台又在此基础上提供了native相关的开发套件NDK(native develop kit)让我们更加.

2021-02-01 16:37:27 539

原创 【Android高开面试全攻略】04 如何应对大厂面试?字节篇

前言上篇文章我们介绍了应对面试的一些技巧,今天我们继续分享大厂面试相关的内容下面,正文开始揭秘字节面试笔者发现,很多人都比较惧怕大厂面试,正所谓“得不到的才是最好的”,因此“进大厂”成了很多技术人的目标和追求,今天我们就从知名的“字节”面试出发,结合具体的技术问题来探讨,类似字节这些大厂都会问些什么,跟其他公司有什么区别面试流程针对高开来说,大部分的大厂面试都会经历2轮技术面,1轮领导面,1轮HR面,如果面试情况有争议(或者面的特别好的情况)会有一轮加面,总体来讲总共会有4轮面试针对字节来.

2021-02-01 05:07:21 169

原创 【Android高开面试全攻略】03 如何应对面试?京东篇

前言前面我们聊了如何准备面试和投递简历,今天我们从面试本身出发,一来介绍面试中有哪些应对技巧,二来将对重要的技术问题进行分析讲解下面,正文开始!面试有什么技巧?对技术面试来说,可能有的人并不会注重所谓的技巧;笔者在这里说的技巧,并不是什么奇技淫巧,而是在前面的准备部分都已经比较完备的情况下,如何在面试中更好的体现自己的技术实力如何更好的跟面试官沟通?一般而言,大公司的一面二面会在线上进行面试,尤其是现在疫情的情况,可能我们更多的面对的是线上面试下面我将从线上和线下两个角度来讲一些面试技巧线.

2021-01-31 08:26:03 115

原创 【Android高开面试全攻略】02 如何高效投递简历?

如何高效投递简历?前言上篇文章中,我们介绍了如何准备面试,今天我们将从简历的编写和投递出发,帮助大家高效的获取面试机会下面,正文开始!如何准备简历?在跟猎聘网HR聊天的过程中,谈到了他们的简历修改付费项目。其实写简历并不难,难的是如何写出一份适合自己,能突出自身优势的高质量的简历这里笔者默认大家已经做完了面试的前期准备工作,而现在我们需要做的,就是把前期准备的比较充分的,有深度有技术含量的点放在我们的简历中高效利用简历的黄金区我们在准备简历的时候要去换位思考,HR(或者招聘部门)是如何审阅一

2021-01-31 08:23:54 165

原创 【Android高开面试全攻略】01 开篇!如何准备面试?

开篇!如何准备面试?前言这是一份定价79元,却想提供超过7999元价值的专栏在笔者面试这一个月,看了不少文章,也关注了不少付费课,但真正有深度,适合4年及以上Android高工的内容少之又少在面试准备阶段,笔者准备了两周的时间,结合相关资料及源码,完成了一系列的深度学习和输出在系统源码层面,包括系统启动,应用启动,四大组件相关,插件化等;在并发方面,完成了ConcurrentHashmap,CopyOnWriteArrayList, CountDownLatch等相关源码剖析,及线程

2021-01-31 08:22:10 122

原创 「Android10源码分析」为什么复杂布局会产生卡顿?-- LayoutInflater详解

系列文章索引Android系统启动流程源码下载及编译Android系统启动流程纵览init进程源码解析zygote进程源码解析systemServer源码解析LayoutInflater源码详解更新录播回放已上传,请戳链接食用:【Android/源码/面试】LayoutInflater源码详解前言这篇文章会从源码的角度分析,LayoutInflater将xml文件实例化为一个view对象的流程我们会发现,其中有两个部分是耗时的主要来源XmlResoursePars.

2021-01-31 07:49:11 484

原创 深入研究源码:Android10.0系统启动流程(四):SystemServer

系列文章索引Android系统启动流程源码下载及编译Android系统启动流程纵览init进程源码解析zygote进程源码解析systemServer源码解析前言Android源码启动篇终于到了最后一个重要的内容–SystemServer(系统服务),接下来我们就来看看SystemServer为什么这么重要吧正文SystemServer是Android基本服务的提供者,是Android系统运行的最基本需求,所有service运行在一个叫system_server的进程中,sy.

2021-01-31 07:47:50 605 1

原创 深入研究源码:Android10.0系统启动流程(三):Zygote

前言研究过程中参考了很多的文章,这篇源码分析,可能是全网最全的Zygote源码分析了如果觉得这篇源码分析太干,也可以先看一下后续的相关总结,戳https://juejin.im/post/6844903966665539591全文概览我们都知道Android中非特殊进程(除init进程和Zygote进程外的进程,源码中称其为unspecialized app process),都是由Zygotefork出来的子进程,包括SystemServer,也是由Zygote fork出来的这篇文章我们主.

2021-01-31 07:46:31 496 1

原创 深入研究源码:Android10.0系统启动流程(二)init进程

前言上篇文章对系统启动流程进行了一个大概的梳理,我们知道了init进程是由内核态的0号进程idle(wrapper)启动起来的,今天我们就来深入挖掘下,init进程到底做了哪些事情正文整体流程概览具体源码分析init的源码位于system/core/init包下,我们先从入口类main.cpp来看int main(int argc, char** argv) {#if __has_feature(address_sanitizer) __asan_set_error_report.

2021-01-31 07:45:30 1171 3

原创 深入研究源码:Android10.0系统启动流程(一)

前言针对系统启动流程的专题研究也进行了差不多一周了,虽然进度缓慢,但也算是有一些阅读源码的心得,以及对源码的一点理解由于系统启动流程涉及的源码相对较多,所以决定分几篇文章来写,本篇主要是对启动流程进行一个简单的概述,以及谈一下我个人的读源码的方法正文启动流程概述这里说的启动流程是指Android系统的启动流程让我们来回想一下,我们是如何“启动”一个全新未开封的Android手机的:按电源键进入开机动画经过漫长的等待(大概几分钟?哈哈)开机动画结束正式开机,进入设置画面进入系.

2021-01-31 07:44:40 600

原创 启航!Android10源码编译之深入折腾Vmware虚拟机

前言最近跟朋友组了个局,一起学习framework相关的源码。学习源码,首先就是要下载,编译源码啦。恰巧Android10的源码在本周刚刚发布,所以索性就拿它来进行framework的研究学习因为我目前使用的是Mac的本子,但是在Mac上搭建环境进行源码下载和编译会出现各种问题,所以使用Wmware加载ubanbu系统的方式来进行下载和编译。虽然说解决了一部分问题,但是也产生了新的问题,也算是填了不少的坑这篇文章主要是记录下遇到的坑以及填坑的过程,给其他也有着相同问题的小伙伴把路铺平,尽快下载并编.

2021-01-31 07:43:32 762

原创 【线程锁事】篇三:从ReentraientLock看锁的正确使用姿势

“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 [email protected], 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码?

2021-01-27 14:19:40 338

原创 【线程锁事】篇二:并发容器为什么能实现高效并发?

“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 [email protected], 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? [篇三:从ReentrientLock看锁的正确使用姿势](创作中) 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码

2021-01-27 14:18:41 214

原创 【线程锁事】篇一:为什么CountDownlatch能保证执行顺序?

“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 [email protected], 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码?

2021-01-27 14:17:29 1031

原创 【再出发】插件化探索:插件Activity是如何启动的?

“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 [email protected], 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码?

2021-01-27 14:11:11 365

原创 【再出发】Android11源码分析:静态广播是如何接收到消息的?

“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 [email protected], 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? ..

2021-01-27 14:08:13 903

原创 【再出发】Android11源码分析:Service启动流程分析

“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 [email protected], 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? ..

2021-01-27 14:06:18 850

原创 【再出发】Android11源码分析:Activity是怎么启动的?

“广告时间宝沃汽车-智能系统部正在招聘Android开发工程师,感兴趣的可以发送简历到 [email protected], 期待跟你成为同事!“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? ..

2021-01-27 14:04:48 532

原创 【再出发】Android11源码分析:应用是如何启动的?

“系列文章索引新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? Android11源码分析:应用是如何启动的? Android11源码分析:Activity是怎么启动的? Android11源码分析:Service启动流程分析 Android11源码分析:静态广播是如何收到通知的? Android11源码分析:binder是如何实现跨进程的?(创作中) 番外篇 - 插件化探..

2021-01-27 14:03:08 418 1

原创 【再出发】Android11:Mac环境如何下载Android源码?

“系列文章索引并发系列:线程锁事 篇一:为什么CountDownlatch能保证执行顺序? 篇二:并发容器为什么能实现高效并发? 篇三:从ReentrientLock看锁的正确使用姿势 新系列:Android11系统源码解析 Android11源码分析:Mac环境如何下载Android源码? Android11源码分析:应用是如何启动的? Android11源码分析:Activity是怎么启动的? Android11源码分析:Se..

2021-01-27 14:00:13 668

空空如也

空空如也

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

TA关注的人

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