Small Fu Ge | bugstack. Cn precipitation, share, grow, and focus on the original project cases, to share knowledge in the most easy to learn programming way, let oneself and others to learn something. Projects completed so far are; Netty4.x practical case, using Java to achieve JVM, javaAgent-based full link monitoring, handwritten RPC framework, architecture design case, source code analysis, algorithm learning, etc.
preface
There has always been a partner to ask little Fu Ge, is there a Java learning route, it is best to have some relevant materials, books, videos. Because now oneself study also don’t know which won’t, see this to learn this, see that to learn that, also touch not to the end, return more chaotic. In particular, I hope to have a college to graduate study route arrangement.
Good! It’s arranged for you.
The following is a study route of my four years in college and five years of work, and all the data according to freshman and sophomore… To work five years, respectively summarized to the network disk, so as not to get the data to a pile, can not see. Because the sharing link is always invalid, you can follow the public account: Bugstack wormhole stack, reply: learning resources download + Baidu account, get the link to join, download the ordered classification of 300G materials.
A freshman
It is difficult for those who have just entered college to fully devote themselves to their studies. After all, college life is still colorful, which is suitable for releasing the heart and ignorant love that the oppression needs to release for a long time. But every decision is a matter of cause and effect, and what you put into it is what you get back. In the first year can lay a good foundation for learning, and reasonable arrangement of their own time. Entertainment, learning, fitness, and activities are not missing. Fear is addicted to a content!
For software or computer majors, the content can be fun and easy to build a sense of accomplishment. And what I’ve learned can help girls in other departments, so why not? Freshman year is a process of opening various Windows and doors, which is also the case in the technical field, as shown in the figure below.
1. The software
The serial number | software | describe |
---|---|---|
1 | word | Text editing tools, whether you do your graduate thesis, organize your materials, and future work will use |
2 | excel | Spreadsheet software, basic statistics of a table, summary of a result, and a lot of content will be used |
3 | ppt | This is the artifact. It’s all up to him. |
4 | photoshop | If you want to do some of your own website, then you will need to PS, a lot of places to cut the map, conversion will be used |
2. Technical
The front-end technology
The serial number | language | describe |
---|---|---|
1 | html | Hypertext Markup Language (HTML) is simply used when you need to write a web page |
2 | Div+CSS | Learn this technique can make the web page more beautiful, layout of various structures |
3 | JavaScript | Is a function-first, lightweight, interpreted or just-in-time compiled programming language. It’s easy to destroy a game after you’ve learned to be a god. It’s also a foundation for you to learn more about front-end technology |
The back-end technology
The serial number | language | describe |
---|---|---|
1 | The C language | This is probably the first one you wrotehelloworld It’s hard, but it lets you into the world of language |
2 | C++ | C++ is the inheritance of C language, further expand and improve the C language. |
The younger sister technology
The serial number | tool | describe |
---|---|---|
1 | Old peach installation system | Windows is still very easy to install the system using old peach, rest assured that once you learn this, at least know a lot of girls and girls. |
2 | Software uninstallation and installation | Many common software sister is not installed, such as development tools, databases, ACCESS and so on, save them, put in their OWN USB drive |
3 | Clean up the dust | Buy a set of screwdrivers and an ash-cleaning and laminating tool |
3. The web site
Technology blog
The serial number | The url | describe |
---|---|---|
1 | CSDN | CSDN is a world famous Chinese IT technology exchange platform, founded in 1999, including original blog, high-quality q&A, vocational training, technical forum, resource download and other products and services. |
2 | The Denver nuggets | Nuggets is a community that helps developers grow, and nuggets technical articles are written by some of the most talented people on rare earth. |
3 | Open source in China | OSCHINA.NET is a leading Chinese open source technology community. We spread the concept of open source, promote open source projects, and provide a platform for IT developers to discover, use, and exchange open source technologies |
4 | Blog garden | Blogpark is a knowledge sharing community for developers. Since its inception, Blog Park has been committed to and focused on creating a pure technical exchange community for developers |
5 | Think no | SegmentFault is China’s leading new generation developer community and professional technology media. We provide Chinese developers with pure, high quality technology exchange platform and the most cutting-edge technology industry trends. |
6 | Novice tutorial | Provides the basic technology of programming tutorials, introduces the basic knowledge of HTML, CSS, Javascript, Python,Java,Ruby,C,PHP, MySQL and other programming languages. |
7 | W3CSchool | W3cschool enable Chinese lion brand name – programming, is a professional introduction to the W3C front-end development and programming of learning platform, including HTML, CSS, Javascript, jQuery, C, PHP, Java, Python, Sql, Mysql and other programming languages. |
Video resources
The serial number | The url | describe |
---|---|---|
1 | For class network | Imooc is an IT skills learning platform. Imooc provides rich video tutorial resources such as mobile terminal development, PHP development, Web front-end, Android development and HTML5. |
2 | Bilibili {technical video} | The technical videos on Site B are rich and free. But there are more than just technical videos! |
Algorithm website
The serial number | The url | describe |
---|---|---|
1 | Power button | Ligo provides a large number of technical interview resources to help you improve your programming skills efficiently and easily win the Dream Offer from the world’s FAMOUS IT enterprises. |
2 | Cattle from | Focus on programmer learning and growth of professional platform, set pen interview system, curriculum education, community communication, recruitment promotion in one. |
4. Books
The serial number | The name of the |
---|---|
1 | C Primer Plus Fifth Edition |
2 | C language in-depth analysis |
3 | Tan haoqiang classic C++ tutorial |
4 | The_C_Programming_Language(C programming Language) |
5 | C expert programming |
6 | Data structure and algorithm analysis |
7 | HTML+CSS [Edited by Zhang Yi][3rd edition] |
8 | Javascript goes from beginner to master |
5. Video
The serial number | The name of the |
---|---|
1 | C language teaching video |
2 | C language video tutorial – Tan Haoqiang version – small turtle speaker |
3 | HTML + CSS tutorial |
4 | Machine learning basic class Mathematics, Algorithms, Calculus, Probability Theory, statistical Machine learning probability and algorithms, in-depth learning class mathematical models |
6. Project
The serial number | The name of the | skills |
---|---|---|
1 | Develop an Html+Js calculator | HTML, DIV + CSS, JS |
2 | Imitate static video sites | HTML, DIV + CSS, JS |
3 | Imitate imitate sohu, jingdong wait for home page | HTML, DIV + CSS, JS |
4 | Develop a local music player | Use C or C++ |
5 | Video player software | Use C or C++ |
A sophomore
Just went to the university is to open a new door, left, right to go non-stop groping, someone precipitation knowledge, someone mixed with Internet cafes. The large of full class whether ability had somebody else comes down one year study capital. Don’t let time slip away every time, leaving a trace.
From the beginning of sophomore year, you may not join more clubs and activities, but settle down to dig into more knowledge. Sometimes a lot of what you are taught in school is taught in front of you, and the rest is on your own. In the sophomore year, I will learn more and the technical difficulty will increase accordingly. However, when you break through these difficulties one by one, the subsequent problems will also fry eggs. I also opened a lot of technical websites and technical blogs last year. Constantly searching for answers and results from inside. Starting this year, write something down for yourself.
1. The software
The serial number | software | describe |
---|---|---|
1 | Git | Maybe a little dizzy at first, don’t even know what it’s about. This is co-development software for downloading and uploading code to a public repository. Code warehouse;github.com/ |
2 | XMind | Mind mapping software, you can draw the tree structure of the idea, this screenshot is usedxmind draw |
3 | Visio | Draw various flow charts, including common network diagram, organization chart, engineering design, etc. |
4 | Axure | Axure RP is a professional rapid prototyping tool that can draw and generate a web pageHTML |
5 | IntelliJ IDEA, Eclipse, MyEclipse | These three can be code development, recommended useIDEA |
2. Technical
The front-end technology
The serial number | language | describe |
---|---|---|
1 | jquery | JQuery is a fast, concise JavaScript framework and a great JavaScript code library (or JavaScript framework) after Prototype. |
2 | vue.js | Is a set of progressive JavaScript frameworks for building user interfaces. Unlike other large frameworks, Vue is designed to be applied layer by layer from the bottom up. |
The back-end technology
The serial number | language | describe |
---|---|---|
1 | Java | Java is an object-oriented programming language, not only absorb the advantages of C++ language, but also abandon C++ difficult to understand multiple inheritance, Pointers and other concepts, so Java language has powerful and easy to use two characteristics. |
2 | Spring | The Spring framework was created because of the complexity of software development. Spring uses basic Javabeans to do things that were previously only possible with EJBs. |
3 | SpringMvc | Spring MVC is a successor to the Spring Framework and has been integrated into Spring Web Flow. The Spring framework provides a full-featured MVC module for building Web applications. |
4 | Ibatis/Mybatis | MyBatis is an excellent persistence layer framework that supports customized SQL, stored procedures, and advanced mapping. MyBatis avoids almost all of the JDBC code and manual setting of parameters and fetching result sets |
5 | Redis | REmote DIctionary Server(Redis) is a key-value storage system written by Salvatore Sanfilippo. |
6 | Maven | Maven Project Object Model (POM), a project management tool that manages project builds, reports, and documentation with a short description. |
The database
The serial number | language | describe |
---|---|---|
1 | Mysql | MySQL is the most popular Relational Database Management System and one of the best RDBMS(Relational Database Management System) applications in WEB applications.Mysql introduction |
2 | Oracle | Oracle Database, also known as Oracle RDBMS, or Simply Oracle. Oracle is a relational database management system. |
Linux system
The serial number | system | describe |
---|---|---|
1 | Ubuntu | Ubuntu is a Linux operating system based on desktop applications. Your own machine can also try to install learning. |
2 | CentOS | CentOS (Community Enterprise Operating System) is one of the Linux distributions. |
The server
The serial number | system | describe |
---|---|---|
1 | apache tomcat | Apache is a normal server that only supports HTML, or ordinary web pages. However, PHP can be supported through plug-ins and Tomcat can be connected (one-way Apache connection to Tomcat means that Tomcat resources can be accessed through Apache. Vice versa). |
3. The web site
The serial number | The url | describe |
---|---|---|
1 | Github | GitHub is a hosting platform for open source and private software projects. It is named GitHub because it only supports Git as the only repository format for hosting. |
2 | Gitee | Code Cloud (gitee.com) is a code hosting platform launched by OSCHINA.NET. It supports Git and SVN and provides free private repository hosting. |
3 | Q&a community | Stack Overflow is an application-related IT technology q&A site. |
4 | udemy | Udemy is a MOOC. |
5 | Zen master | Zen Dao project management software is a domestic open source project management software, focusing on research and development project management, built-in requirements management, task management, bug management, defect management, use case management and so on |
6 | Youtube(Video Learning) | Video learning website, foreign |
7 | Foreign zhihu | We can read some topics that we can’t talk about in Zhihu on Quora. Foreigners’ comments on Quora are quite rational. |
8 | InfoQ | Infoq is a practice-driven community information site dedicated to facilitating the dissemination of knowledge and innovation in software development. |
9 | tool | OSCHINA.NET online tool, Ostools provides online tools for developers and designers, providing jSbin online CSS, JS debugging, online Java API documentation, etc. |
4. Books
The serial number | The name of the |
---|---|
1 | Introduction to Java gold information |
2 | The beauty of programming. Complete edition |
3 | Thinking in Java (4th Edition) |
4 | MySQL必 须 知必 须 知 |
5 | Getting started with REDIS |
6 | Java EE Internet Lightweight framework integrated development SSM framework |
7 | The Definitive GUIDE to HTTP |
8 | Git instructions and specification V1.0 |
9 | Redis deep adventure |
10 | The beauty of the programming |
5. Video
The serial number | The name of the |
---|---|
1 | HTML5 Games – Tank Wars – Included ebook |
2 | Java multithreading in detail |
3 | Java Language Basics tutorial -Java NIO Flow |
4 | mysql |
5 | Spring, Struts, MVC, Hibernate, Mybatis |
6 | Bi Xiangdong JAVA basic tutorial set |
7 | Darnay SSM video tutorial |
8 | Horse soldier _JavaSE video |
9 | Silicon valley is the jQuery |
10 | Play Git video tutorials |
11 | Information technology upgrade class springmvc25 |
12 | The latest Java basics and advanced full set of video |
13 | Intellij IDEA hd video tutorial |
6. Project
The serial number | The name of the | skills |
---|---|---|
1 | Develop a blogging system | Spring, SpringMVC, Mybaits, Maven, Mysql, Git |
2 | Develop an in-library system | Spring, SpringMVC, Mybaits, Maven, Mysql, Git |
3 | Online shopping mall System | Spring, SpringMVC, Mybaits, Maven, Mysql, Git |
4 | Online video resource system | Spring, SpringMVC, Mybaits, Maven, Mysql, Git |
5 | Create a chat app | Java Socket, Swing, and JavaFx |
6 | The test system | Java Socket, Swing, and JavaFx |
Junior year
If freshmen and sophomores are to lay the foundation, then junior year is a process to enhance the breadth of some skills stack and the depth of existing knowledge. Meanwhile, the study in this year will basically affect the difficulty of finding a job in the future. After all, how much effort is rewarded. As long as you can exercise the ability to work in a formal job for about one year at the school stage, it is as easy to find a job as brushing offer, Face boss!
Through previous learning and the accumulation of your own knowledge stack, as well as the recognition of the same good along the way, you are basically a small bull, can solve some problems independently and have their own learning methodology for some knowledge. Continue to expand your skills this year!
1. The software
The serial number | software | describe |
---|---|---|
1 | Virtual Machine (VirtualBox, Virtual Machine) | The installation and use of virtual machines is very conducive to your subsequent learning of some software. |
2 | Postman | Is an interface testing tool, easy to use. It’s the software you’re going to use in your future work. |
3 | JMeter | JMeter is a Java-based stress testing tool developed by the Apache organization. With him you can know their own website, blog performance. |
2. Technical
The back-end technology
The serial number | language | describe |
---|---|---|
1 | In-depth Java | Multithreading, JVMAPI, part of the source principle, HashMap, Tree list, array, network communication, dynamic proxy and reflection, lock, IO and so on |
2 | Understanding RPC Framework | Dubbo, gRPC |
3 | Understand messaging middleware | ActiveMQ, RocketMQ, Kafka |
4 | Understand distributed thinking | A distributed system is a software system built on a network. Because of the characteristics of software, distributed systems have a high degree of cohesion and transparency. |
5 | Framework for | Learn to use Maven to build SSM projects and understand domain-driven design |
6 | Learning about cloud Servers | Baidu Cloud, Ali and Tencent can be purchased cheaply for students to study and use |
7 | SpringBoot | Spring Boot is a new framework from the Pivotal team designed to simplify the initial setup and development process for new Spring applications. |
8 | SpringCloud | These projects are either official Spring Cloud projects or beneficial additions to Spring Cloud and based on Spring Cloud best practices. |
3. The web site
The serial number | The url | describe |
---|---|---|
1 | HackerRank | Algorithm problem brush problem website |
2 | The vector diagram | Material picture download, used for the use of website development |
3 | Formula visualization | You can look at some formulas to compare the time complexity |
4 | Database kernel monthly report | Ali database kernel monthly report, high quality |
5 | Wormhole stack | Personal technology advanced learning technology blog |
4. Books
The serial number | The name of the |
---|---|
1 | Effective Java Chinese Version (2nd edition) |
2 | Java GC Tuning |
3 | Java Core Technology Volume 1 |
4 | Java Core Technology Volume II |
5 | Java Special Forces (Volume 1) |
6 | Java Virtual Machine specification |
7 | Maven3 of actual combat |
8 | Chinese version of Servlet3.1 specification |
9 | Inside Spring Technology: An in-depth look at Spring Architecture and Design principles (edition 2) |
10 | Java Core Technology Volume II Advanced Features (Original Book 9th Edition) |
11 | Coding Efficiently: A Java Development Manual |
12 | 【JavaScript Advanced program design (3rd edition) 】 Chinese HD complete bookmark version |
13 | Birdbrother’s Linux private dish basics (3rd edition) |
14 | An in-depth look at Java Web technology |
15 | In-depth Understanding of the Java Virtual Machine: Advanced JVM Features and Best Practices (latest second edition) |
5. Video
The serial number | The name of the |
---|---|
1 | JAVA Application JVM principles and parameter tuning in depth – Section 11 |
2 | SpringCloud |
3 | The RabbitMQ podcast |
4 | First set: JVM kernels-Principles, Diagnostics, and optimization |
5 | Second set: In-depth understanding of the Java Virtual Machine (JVM performance tuning + Memory model + Virtual Machine principles) |
6 | Third set: In-depth Java Virtual Machine – class loader topics |
7 | Make a few gold Kafka video tutorial |
8 | RocketMQ video tutorials by Shang Xuetang |
9 | Turing College – Distributed locking practices under high concurrency |
10 | Dubbo basics and cluster building |
6. Project
The serial number | The name of the | skills |
---|---|---|
1 | Combine all the technologies to build your own blog | Domain name, archive, virtual machine, HTTPS, Github, etc |
2 | Complete a medium-sized project for graduation design and job hunting | SpringBoot, SpringCloud, Mysql, Git, Maven, Xmind, Visio, etc |
Senior year
By the time you get to the end of the year, you’re basically divided into; Look for practice work, take an examination of grind, take an examination of civil servant, for looking for practice work according to your knowledge accumulation will not be very difficult, can be in practice monk and school recruit and other aspects of delivery resume, for the preparation of resume must refer to, do not write randomly, every delivery is your opportunity.
Organize your knowledge and skills stack, review your ability range, and prepare for the interview. You may be busy during this process, or you may be able to sit down and study, or you may have to deal with some emotional issues. But there’s a long way to go. This isn’t the end!
1. The Internet
The serial number | The company |
---|---|
1 | tencent |
2 | Ali. |
3 | huawei |
4 | headlines |
5 | baidu |
6 | jingdong |
7 | Meituan |
8 | millet |
9 | netease |
10 | sina |
There are also a lot of Dachang Internet distributed in Beijing, Shanghai, Guangzhou and Shenzhen. Choose according to your needs. Here is not a list!
Work 2.
Resume delivery website
The serial number | Web site |
---|---|
1 | Boss hired straight |
2 | Retractor net |
3 | Led the |
4 | affectionately |
5 | The resume template |
- Get into the team quickly
- Complete assigned tasks
- Learn the technology stacks and frameworks involved
3. Graduation project
- Finish the topic carefully
- Organize the technical stack and related materials of the project design
- Build Demo project and solve various problems step by step
- Output overall project and documentation
4. Books
The serial number | The name of the |
---|---|
1 | Effective Java Chinese Version (2nd edition) |
2 | 1000 Internet Java Engineer interview questions |
3 | [Code 2 Chinese version (full clear version)] |
4 | In-depth understanding of Java.7. Core technologies and best practices. Scan version |
5 | Head First Java Chinese HD Edition |
6 | The HotSpot of actual combat |
7 | Java_NIO_ details are also great |
8 | Java.Concurrency.in.Practice |
9 | JAVA to reassure |
10 | Java Virtual Machine Specification (Java SE 7) |
11 | Return in try and finally |
12 | White Hat talks about Web security |
13 | Principles and practices of distributed consistency from Paxos to Zookeeper |
14 | In-depth understanding of Java Virtual Machine ++JVM advanced features and best practices |
15 | Java SE 8 for busy people |
5. Video
The serial number | The name of the |
---|---|
1 | Distributed payment system |
2 | National power project combat (a total of nine days) |
1-3 years
Formal work is often different from study at school. Most of the time, I was writing DEMO at school, without considering the whole situation. But as you work through the iterations of business, operations, and product functionality, you develop and fulfill a variety of requirements. However, the 1-3 years are basically a process of personal skills explosion and enhancement. This will allow you to build on what you’ve learned and work on existing projects.
But also do not forget at this stage in addition to the work content needs, also have to continue to expand their knowledge and skills. Otherwise, it will fall into a kind of tool man’s impasse and slowly become a screw. If you want to constantly break through yourself, you must continue to learn and accept new ideas and new challenges.
1. The technical
The serial number | language | describe |
---|---|---|
1 | Dubbo | An RPC framework, many Internet are used, some companies are their own RPC framework. But the principle is basically the same. |
2 | MQ | Message-oriented middleware for system decoupling, peak elimination, etc |
3 | Zookeeper | Distributed, open source distributed application coordination services |
4 | ElasticSearch | Lucene-based search server |
5 | Eureka | Eureka, a service discovery framework developed by Netflix, is itself a REST-based service designed to locate middle-tier services running in AWS domains |
6 | nginx | Nginx (Engine X) is a high-performance HTTP and reverse proxy Web server that also provides IMAP/POP3/SMTP services. |
7 | Fusing, downgrading, current limiting | Some strategies for high concurrency protection in distributed microservices |
8 | Distributed task | The scheduled tasks are managed and scheduled by cluster and distributed to ensure high availability and improve fault tolerance of the system. |
9 | Jenkins | Project construction and deployment on-line |
10 | MyCat | Tools and principles of database and table |
Work 2.
- Take responsibility and fulfill requirement development within the framework
- Not only that, but the context of each requirement is clearly understood as well
- Precipitation growth, to learn the accumulation of knowledge to form their own technology stack a complete link
3. Books
The serial number | The name of the |
---|---|
1 | Alibaba Development Manual |
2 | Clean code |
3 | The way of programmer training |
4 | Java Programming ideas |
5 | In-depth understanding of the Java virtual machine |
6 | Java concurrent programming practice |
7 | Design patterns |
8 | Head First Design Mode (Chinese version) |
9 | Logical thinking game for 200 smart people. The most challenging and intelligent logical thinking puzzles |
4. The video
The serial number | The name of the |
---|---|
1 | Old boy Docker production practice |
2 | Moocs Docker+ K8S microservice container development practice |
3 | Zookeeper distributed system development |
4 | Nginx Tutorial (3 sets) |
3 to 5 years
The 3 – to 5-year programmer is not the same as it was three years ago, where most of the time it was just fulfilling requirements and getting things done. The amount of information you can focus on is pretty much point by point, but the tech stack works pretty well. Then there could be a situation where the technology is good but you can’t drive the system globally. Then this stage is to improve the overall system control ability, can write more easily extensible and more robust code.
Each stage of growth is not easy, need some projects to give and also need to give yourself some pressure. Not only a deeper understanding of the technology stack, but also more nutrition from it. Learn to be more abstracted and complete with the ability to build systems.
1. Source code ability
The serial number | The name of the |
---|---|
1 | The Spring source |
2 | Mybaits source |
3 | The Schedule of source code |
4 | Dubbo source |
5 | Thread pool source code |
6 | JVM Virtual machine principle, using Java to implement the JVM |
7 | JDK part of the core common component source code, JUC, HashMap |
2. Expand technology
The serial number | The name of the |
---|---|
1 | Netty |
2 | javaagent |
3 | asm |
4 | javassist |
5 | Distributed tracking |
6 | Docker |
7 | Fusing, downgrading, current limiting |
3. Algorithm ability
The serial number | The name of the |
---|---|
1 | Dynamic programming |
2 | The data structure |
3 | Algorithm thinking |
4 | Do some algorithmic improvements |
4. Scene summary
The serial number | The name of the |
---|---|
1 | Technical solutions under various scenarios |
2 | The integrity of the personal technology stack |
5. Books
The serial number | The name of the |
---|---|
1 | Clean architecture |
2 | Docker development Guide |
3 | Implement domain-driven design practices |
4 | Distributed system principles and paradigms |
5 | Redis design and implementation |
6 | The Google Way of testing software |
7 | Netty5.0 architecture analysis and source code interpretation |
8 | Refactoring improves the design of existing code |
9 | Multithreaded concurrent programming in Netty application analysis – notes edition |
6. Video
The serial number | The name of the |
---|---|
1 | Architect architecture video |
2 | Docker + K8S |
3 | Netty Introduction (including ebook) |
conclusion
- The summary of the above content is basically the same as my learning route from university to now, because some new technologies are also supplemented. Maybe some of the details are missing, but that’s okay. Because as you learn, you will see more scenery and harvest more fruits during the journey you learn.
- The programmer industry is a constant learning and growing direction. If you’re worried about what’s going to happen in your mid-30s, you probably haven’t put in enough experience to settle yourself before you panic. All the panic is just a little bit of lazy accumulation, and finally a point of explosion.
- Willing to work hard, you can harvest on the way forward!