Source address: http://diycode.cc/topics/122
jixiaohua posted an article 一个老鸟也发了一份他给公司内部小伙伴整理的路线图
. Another Android development learning roadmap . Unfortunately, it is not in MarkDown format, so the screenshots uploaded directly by jixiaohua, at the request of jixiaohua , I took some time to edit this Daniel's recommendation list into Markdown format, which is convenient for everyone to browse and learn.
Some links may not be particularly accurate, because I can only go to Google for possible books based on the name of the book or resource on the picture, so if there is anything wrong with the link, please comment and point out, and I will correct it in time. Please refer to the original text: Another Android development learning roadmap helps modify. thanks.
- Basic tools part: Chinese manual, I guess it is Maven Chinese manual, but I did not find such a resource, welcome friends who know it to tell me;
- There is a "third-party library collection" in the Android part, but I couldn't find the resource address;
- Most of the books I give Douban links, if you think it is not suitable, you can replace them;
About Markdown tables
Originally, I organized a table version at the beginning, which was written by Mou, and the line breaks in the table were processed with <br/> tags, but when I posted it on DiyCode, I found that Markdown tables do not support <br/> tag line breaks. , so it can only be organized into a tiled document format.Markdown's support for tables is not very strong.
programming
1. java
(a) Basic syntax (such as inheritance, exceptions, references, generics, etc.)
- Java Core Technology Volume I (suitable for entry)
- Advanced
- Effective Java Chinese version (how to write good Java code)
- Java puzzles (introduce what bad Java code looks like)
(b) Multi-threading, concurrency
- Java concurrent programming practice (a systematic and comprehensive introduction to Java concurrency, how to design data structures that support concurrency)
(c)Java 7
- The way of Java programmers' cultivation (detailed introduction to the new features of Java 7)
(d)Java 8
(e) Java Virtual Machine
- Deep understanding of the Java virtual machine (not that difficult, Java programmers should see)
(f) Performance optimization
- The definitive guide to Java performance optimization
2. Algorithms and Data Structures
- Basic understanding of algorithm time complexity and space complexity
- Familiar with common data structures: linked lists, queues, hash tables, trees, etc.;
- Basic ideas such as recursion and branching;
- Common algorithm applications: sorting, searching, comparing, etc.
- Data structure and algorithm analysis (covers more comprehensive, the example is Java language)
- Algorithm design and analysis foundation (typical of pragmatism, partial algorithm design)
- Programming Pearls (Practical Algorithm Data)
3. Operating system
- Basic knowledge of Linux/OS
- Common Commands in Linux
- Brother Bird's Linux Private Kitchen
- Linux kernel design and implementation (3rd edition of the original book) (very refined language describes the kernel algorithm clearly)
4. Network
- Http/Https
- TCP/IP
5. Android
- Four components (service, broadcast, ContentProvider, page container)
- Basic UI components (ListView, ViewPager)
- Asynchronous task mechanism (AsyncTask, Handler, thread pool)
- Layout optimization (hierarchy, drawing, fragmentation)
- Image loading (Bitmap, buffer)
- 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设计模式(两本入门级的设计模式书籍)
- 进阶
- 设计模式-可复用面向对象软件的基础(设计模式在实际中的应用)
四、敏捷开发
五、专业开发
- 序员职业素养
- more efficient and effective
6. Think about life
- Hackers and Painters (an anthology of Paul Craham, the father of Silicon Valley entrepreneurship, mainly introduces the hobbies and motivations of hackers and excellent programmers)