Android 学习路线图(转载自https://blog.csdn.net/lixuce1234/article/details/77947405)
程序设计
一、java
(a)基本语法(如继承、异常、引用、泛型等)
- Java核心技术 卷I(适合入门)
- 进阶
- Effective Java中文版(如何写好的Java代码)
- Java解惑 (介绍烂Java代码是什么样的)
(b)多线程、并发
- Java并发编程实战 (系统全面的介绍了Java的并发,如何设计支持并发的数据结构)
(c)Java 7
- Java程序员修炼之道 (详细的介绍Java 7 的新特性)
(d)Java 8
(e)Java虚拟机
- 深入理解Java虚拟机 (并不是那么难,Java程序员都该看看)
(f)性能优化
- Java性能优化权威指南 (后面的章节好像用处不大,前面有些部分还是值得看)
二、算法与数据结构
- 算法时间复杂度、空间复杂度的基本认知
- 熟悉常用数据结构:链表、队列、散列表、树等;
- 递归、分支等基本思想;
- 常用算法应用:排序、查找、比较等
三、操作系统
- 对Linux/OS的基本认知
- Linux的常用命令
- 鸟哥的Linux私房菜
- Linux内核设计与实现(原书第3版) (很精炼的语言描述清楚了内核算法)
四、网络
- Http/Https
- 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
二、软件质量
- 代码整洁
- 码质量
- 码重构
- 编写可读代码的艺术 (来自Google工程师,专注于代码可读性)
- 代码整洁之道(使用面向对象+敏捷开发原则编写清晰可维护的代码)
- 重构-改善既有代码的设计 (学习改善已有代码)
- 重构手册 (改善代码的实际操作)
三、设计模式
23种常见设计模式
- 大话设计模式
- Head First设计模式(两本入门级的设计模式书籍)
- 进阶
- 设计模式-可复用面向对象软件的基础(设计模式在实际中的应用)
四、敏捷开发
五、专业开发
- 序员职业素养
- 更高效、更实效
六、思考人生
- 黑客与画家 (硅谷创业之父Paul Craham 的文集,主要介绍黑客及优秀程序员的爱好和动机)
Android 学习路线图(转载自https://blog.csdn.net/lixuce1234/article/details/77947405)的更多相关文章
- 联想笔记本 thinkpad BIOS 超级密码 Supervisor Password 清除 破解 亲测有效 转载地址https://blog.csdn.net/ot512csdn/article/details/72571674
联想笔记本 thinkpad BIOS 超级密码 Supervisor Password 清除 破解 亲测有效 转载地址https://blog.csdn.net/ot512csdn/article/ ...
- 转载:https://blog.csdn.net/qq_22706515/article/details/52595027
https://blog.csdn.net/qq_22706515/article/details/52595027 包含直播,即时通讯. 大平台都有免费版或基础版,对于需求不大的情况比较适合.
- matlab 降维工具 转载【https://blog.csdn.net/tarim/article/details/51253536】
降维工具箱drtool 这个工具箱的主页如下,现在的最新版本是2013.3.21更新,版本v0.8.1b http://homepage.tudelft.nl/19j49/Matlab_Toolb ...
- Bootstrap学习4--Table样式(转载:https://blog.csdn.net/Fanbin168/article/details/53208869)
备注:最新Bootstrap手册:http://www.jqhtml.com/bootstraps-syntaxhigh/index.html 将<table>标签添加class=‘tab ...
- JSFL元件类型判断 转载于 https://blog.csdn.net/linking530/article/details/8364600
//获取舞台上第一层第一帧上的全部元件 var els = fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements; //遍历元件 ...
- MVC和WebApi 使用get和post 传递参数。 转载https://blog.csdn.net/qq373591361/article/details/51508806
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq373591361/article/details/51508806我们总结一下用js请求服务器的 ...
- AutoFac控制反转 转载https://blog.csdn.net/u011301348/article/details/82256791
一.AutoFac介绍 Autofac是.NET里IOC(Inversion of Control,控制反转)容器的一种,同类的框架还有Spring.NET,Unity,Castle等.可以通过NuG ...
- Mui本地打包笔记(一)使用AndroidStudio运行项目 转载 https://blog.csdn.net/baidu_32377671/article/details/79632411
转载 https://blog.csdn.net/baidu_32377671/article/details/79632411 使用AndroidStudio运行HBuilder本地打包的Mui项目 ...
- 爬虫出现Forbidden by robots.txt(转载 https://blog.csdn.net/zzk1995/article/details/51628205)
先说结论,关闭scrapy自带的ROBOTSTXT_OBEY功能,在setting找到这个变量,设置为False即可解决. 使用scrapy爬取淘宝页面的时候,在提交http请求时出现debug信息F ...
随机推荐
- Struts2控制文件的上传与下载
Struts2控制文件上传与下载的几个注意事项: (1)必须将表单的method设置为post,将enctype设置为multipart/from-data.只有这样,浏览器才会把用户选择文件的二进制 ...
- ubuntu系统apache日志文件的位置
Debian,Ubuntu或Linux Mint上的Apache错误日志位置 默认的错误日志 在基于Debian的Linux上,系统范围的Apache错误日志默认位置是/var/log/apache2 ...
- 洛谷 P1216 [USACO1.5]数字三角形 Number Triangles(水题日常)
题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 5 ...
- (2)Ngixn 编译安装设置开机自启
设置nginx开机自启 #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 ...
- dzzoffice网盘应用有着最强大的团队、企业私有网盘功能,并且全开源无功能限制。
企业,团队多人使用dzzoffice的网盘应用,灵活并且功能强大. 支持个人网盘,机构部门,群组,并可根据使用情况开启关闭.例如可只开启群组功能. 可通过后缀,标签自定义类型进行快捷筛选 全面 ...
- java中的缓存技术该如何实现
1缓存为什么要存在?2缓存可以存在于什么地方?3缓存有哪些属性?4缓存介质? 搞清楚这4个问题,那么我们就可以随意的通过应用的场景来判断使用何种缓存了. 1. 缓存为什么要存在?一 般情况下,一个网站 ...
- 优化UITableView
在iOS应用中,UITableView应该是使用率最高的视图之一了.iPod.时钟.日历.备忘录.Mail.天气.照片.电话.短信.Safari.App Store.iTunes.Game Cente ...
- python入门-PyCharm中目录directory与包package的区别及相关import详解
一.概念介绍 在介绍目录directory与包package的区别之前,先理解一个概念---模块 模块的定义:本质就是以.py结尾的python文件,模块的目的是为了其他程序进行引用. 目录(Dict ...
- jdk环境变量配置至第一个简单程序运行成功
桌面右键单击我的电脑,属性,高级,环境变量,然后再系统变量中配置(也可在用户变量中配置) 在配置环境变量时限查看是否已存在变量名称,有则添加路径,没有则创建再添加路径 /* JAVA_HOME% C: ...
- ubuntu18.04 server配置静态ip
最新发布的ubuntu18.04 server,启用了新的网络工具netplan,对于命令行配置网络参数跟之前的版本有比较大的差别,现在介绍如下:1.其网络配置文件是放在/etc/netplan/50 ...