• Small knowledge, big challenge! This article is participating in the creation activity of “Essential Tips for Programmers”.
  • This article has participated in the “Digitalstar Project” and won a creative gift package to challenge the creative incentive money.

Quote:

The Nuggets recently held an event called “Programmer’s Essentials” and IT dawned on me that there is a lot of knowledge out there that many programmers ignore in their pursuit of greatness.

A few years ago, I began to guide fresh graduates with bachelor’s degree and master’s degree. In my actual work, I found that the gap in working ability lies not in academic qualifications, but in experience and thinking. Some students can write good code, use the right method, code branch is strong, and some students write the code is terrible, although it can barely achieve the function, but the use of the method is not appropriate, and many students repeat the wheel, racking their brains to write a tool class already have methods.

If you write code just to show off, it’s definitely not necessary for the job, but if you write code that is aesthetically pleasing and robust, it must be based on years of coding.

Many Java textbooks and books tend to introduce the basics of Java from the beginning, and then introduce all the Java content in a comprehensive and redundant way. When it is found in the actual work that the Java technology required for the work is not mastered, but the Java technology that is not needed for the work (such as Swing) has taken up a certain amount of learning time. What’s more, during the interview, a bunch of distributed and high-concurrency theory, actual code, and not even a thread-safe method can be written, so utility is king.

Based on the above, EVERY time I bring in a new employee, I teach them everything from coding specifications to essential basics.

The author based on huawei and Ali work experience, decided to plan and compile a Java practical technology, and strive to use the most practical technology to help new programmers grow up, here is not dazzling skills, only learning skills. The year before last, the editor of China Machine Press talked to me about publishing a book, but I failed to sign a contract because I was too busy at that time.

This time I decided to update the chapter through the form of blog first, if the feedback is good, then arrange the book.

I assume that the reader of this book already has the necessary basic knowledge of Java. Java syntax, control statements, and object-oriented concepts are not fully covered in this book. Refer to the textbook if necessary.

I hope this book can be the first Java book for Java engineers to enter the workplace. Welcome to join QQ communication group: 866944450

For each chapter, if you have a better idea, feel free to leave a comment below.

If there are mistakes and improper, also kindly correct.

PS: the public account of the same name is updated simultaneously.

Mind mapping throughout the book

Chapter introduction

Chapter divided

The book is planned to be divided into 4 chapters, 15 chapters in total.

The first one is the introduction of programming habits and development tools. As the saying goes, sharpness of the knife does not mistakenly cut wood, good programming habits will benefit for life, and handy development tools will significantly enhance combat effectiveness.

The second part is the main content, including the necessary strings, arrays, collections, objects, interfaces, exceptions, and common toolkits. This article takes the actual work as the content, selects the excellent method to carry on the elaboration, then gives the actual code to carry on the application explanation. Finally, the necessary interfaces are listed for everyone to learn by themselves.

The third comprehensive content, including design pattern, Lambda expression, Stream and other advanced technology, as well as Spring foundation, Maven and other tool technology. These techniques can improve code quality and code elegance in practice.

Reflection, enumeration, IO, and concurrency will be briefly introduced in part 4. The Spring framework, multithreading, caching, and distributed systems will be previewed in a later installment of Java Advanced Utility Technology.

If you have a better idea about the division of the chapter, you are welcome to send a private message or comment.

section

Each chapter will be divided into several sections, and the content of each section will contain words and codes. The demo used takes common scenarios in work as examples, and the codes are mainly simplified. Of course, not all examples are perfect, so you’re welcome to correct them.

In order to avoid boring explanation and code desert, PART of the section I will record a video, posted on watermelon and B station, let’s play ha.

At the end of each section, I will make a summary in the way of mind map, which is convenient for everyone to remember.

Like:

Updated instructions

Not necessarily in strict accordance with the order of chapter update, according to the busy situation of work decide to update frequency, try to update a chapter every week.

Some content may be better demonstrated by code, so I will select part of the content handwritten code demonstration, supporting video posted to watermelon /B station, also welcome everyone to exchange.

The code samples in the book will be consolidated on GitHub at the end of each issue. If you have better content, you are also welcome to send me a private message to add it to the updated content.

At present, I only publish in the nuggets community and wechat public account as soon as possible. If you need to reprint, please contact me for authorization.