一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本

news/2024/6/30 4:53:24

jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图。另一份 Android 开发学习路线图。可惜不是MarkDown格式的,所以jixiaohua直接上传的截图,在jixiaohua的呼吁下,我花了些时间,把这篇大牛的推荐清单编辑成了Markdown格式,方便大家浏览,学习。

有一些链接可能还不是特别准确,因为我只能根据图片上的书或者资源的名字去Google可能的书籍,所以链接上有什么不对的,欢迎大家评论指出,我会及时更正。请参考原文:另一份 Android 开发学习路线图 帮助修改。谢谢。

基础工具部分: 中文手册,我猜测是Maven中文手册,可是我并没有找到这样的资源,欢迎知道的朋友告诉我;
Android部分有 『第三方库集合』,我没能找到资源地址;
书籍我大多是给的豆瓣链接,如果觉得不合适可以替换一下;
关于Markdown表格

本来我一开始整理了一份表格版本的, 用 Mou 写的,表格内的换行用
标签处理的,但是在DiyCode上来发的时候,发现Markdown表格内部不支持
标签换行,所以就只能整理成平铺的文档格式。Markdown对于表格的支持不是很强大。

程序设计

一、java

(a)基本语法(如继承、异常、引用、泛型等)

Java核心技术 卷I(适合入门)
进阶
Effective Java中文版(如何写好的Java代码)
Java解惑 (介绍烂Java代码是什么样的)
(b)多线程、并发

Java并发编程实战 (系统全面的介绍了Java的并发,如何设计支持并发的数据结构)
(c)Java 7

Java程序员修炼之道 (详细的介绍Java 7 的新特性)
(d)Java 8

写给大忙人看的Java SE 8
函数式编程思维
(e)Java虚拟机

深入理解Java虚拟机 (并不是那么难,Java程序员都该看看)
(f)性能优化

Java性能优化权威指南 (后面的章节好像用处不大,前面有些部分还是值得看)
二、算法与数据结构

算法时间复杂度、空间复杂度的基本认知
熟悉常用数据结构:链表、队列、散列表、树等;
递归、分支等基本思想;
常用算法应用:排序、查找、比较等
数据结构与算法分析 (涵盖面比较全、示例是Java语言)
算法设计与分析基础 (实用主义的典型、偏算法设计)
编程珠玑 (实践型算法数据)
三、操作系统

对Linux/OS的基本认知
Linux的常用命令
鸟哥的Linux私房菜
Linux内核设计与实现(原书第3版) (很精炼的语言描述清楚了内核算法)
四、网络

Http/Https
TCP/IP
图解HTTP
图解TCP/IP
进阶
TCP/IP详解
五、Android

四大组件(服务、广播、ContentProvider、页面容器)
基础UI组件(ListView、ViewPager)
异步任务机制(AsyncTask、Handler、线程池)
布局优化(层级、绘制、碎片化处理)
图片加载(Bitmap、缓冲区)
UniversalMusicePlayer (通过学习一个音乐播放器的代码能很快了解四大组件)
Android Training官方课程
Android一些重要知识点解析整理
Android UI/UX库(各类常用组件及扩展组件的集合)
Picasso 、 Glide (两个图片加载库)
The Google I/O 2015 Android App (Google大会官方的App,适合学习各类实现)
Android开发技术前线 (定期翻译、发布国内外Android优质的技术、开源库、软件架构设计、测试等文章)
进阶
第三方库集合 (列举了常见的各方向第三方库)
软件工程

一、基础工具

IDE、Git、Maven
AndroidStudio
Git权威指南中文手册
二、软件质量

代码整洁
码质量
码重构
编写可读代码的艺术 (来自Google工程师,专注于代码可读性)
代码整洁之道(使用面向对象+敏捷开发原则编写清晰可维护的代码)
重构-改善既有代码的设计 (学习改善已有代码)
重构手册 (改善代码的实际操作)
三、设计模式

23种常见设计模式
大话设计模式
Head First设计模式(两本入门级的设计模式书籍)
进阶
设计模式-可复用面向对象软件的基础(设计模式在实际中的应用)
四、敏捷开发

解析极限编程
敏捷开发的艺术
进阶
敏捷软件开发-原则、模式与实践
五、专业开发

序员职业素养
更高效、更实效
程序员的是职业素养
程序员修炼之道-从小工到专家
六、思考人生

黑客与画家 (硅谷创业之父Paul Craham 的文集,主要介绍黑客及优秀程序员的爱好和动机)

转载于:https://www.cnblogs.com/forezp/p/9852210.html


http://www.niftyadmin.cn/n/3902694.html

相关文章

使用 DB2 快速轻松地转移数据

简介 典型的 DB2 数据转移任务涉及三个步骤: 把数据以二进制或文本格式从源数据库导出到一个临时数据交换文件 在系统之间转移生成的文件 把数据从文件导入或装载到目标数据库中 在数据量很大的情况下,使用 EXPORT 实用程序生成数据交换文件常常要花费很…

javaSE第二十七天

第二十七天 447 1:反射(理解) 447 (1)类的加载及类加载器 447 (2)反射: 448 A:定义 448 B:获取字节码对象的三种方式 449 (3)反射的使用 450 A:通过反射获取构造方法并使用 450 1).反射获取构造方法的介绍 450 2)…

屏蔽指定ip地址访问自己的网站

在IIS里进行设置即可,过程如下:打开IIS管理器,选择你的域名,点右键-属性,选择”目录安全性“,看到第二栏的”IP地址和域名限制“了吗?点编辑,添加,加入你想限制的IP即可&…

MyEclipse 9.0的激活机制终于破解了,破解步骤比老版本要复杂一些,但是是绝对可以破解的,这个破解对主程序无任何修改,只替换公钥,如果有牛人会快速从公钥...

MyEclipse 9.0的激活机制终于破解了,破解步骤比老版本要复杂一些,但是是绝对可以破解的,这个破解对主程序无任何修改,只替换公钥,如果有牛人会快速从公钥反推私钥,那就什么都不用改了,步骤如下&…

为 DB2 应用程序启用 HACMP Smart Assist

简介 HACMP (High Availability Cluster MultiProcessing) 是 IBM 为 AIX 上的业务关键应用程序提供的高可用性解决方案。它监视应用程序及其资源的故障,并在发生故障时自动地把工作重新分配到另一个集群节点,从而确保高可用性。 HACMP Smart Assist 会…

c# 测试是否是汉字

System.Text.RegularExpressions.Regex reg1 new System.Text.RegularExpressions.Regex("[/u4e00-/u9fa5]"); if (reg1.IsMatch(hz.Text)) { hz.Text "汉字"; } else { hz.Text "hanzi";…

设置 DB2 和 AIX 与条带技术匹配以提高 I/O 性能

条带化技术是一种广泛使用的 I/O 负载均衡技术,可以在不增加额外硬件投入的情况下极大的提高 I/O 性能。但是在使用了这种技术的环境中,只有对数据库和操作系统的 I/O 处理有良好的规划和设置,使其与条带化技术相匹配,才能使 I/O …

DB2进行压缩的最佳实践

内容提要 这篇文章的目的是交流使用 DB2 的深度压缩解决方案的最佳实践。这个最佳实践允许你使用更少的数据面页来存储数据。数据库压缩的好处是: 使用更少的存储 存储以更低的速度被消耗 根据你的环境,有可能提高性能。 本文也提到了行压缩是如何适应更…