Java self-study books recommend programmers to architects
As a java programmer, the most painful thing is that there are too many choices and too many books to read, which is often at a loss. I want to select some of the technical books I have read and recommend them to you, especially those Java programmers who want to continuously improve their technical level.
1、 Introduction to Java programming for programmers without Java programming experience, it is the same to read any introductory books. At this stage, you need to quickly master the basic syntax and basic usage of Java. The purpose is to "swallow without understanding", and get familiar with Java first. Quickly go through the Java syntax in a short time, write more code and "know it".
1. Java programming ideas
With some Java programming experience, you need to "know why". At this time, Java programming ideas is a good book to let you know why. It has a clear explanation of the basic object-oriented knowledge and a clear explanation of the basic Java syntax and basic class library, which can help you lay a good foundation for Java programming. The disadvantage of this book is that it is too thick and wordy. It is not suitable for modern people to study at a fast pace. Therefore, you should know the trade-offs when reading this book. Not every chapter and section is worth reading. You can pick the key points and read them in depth.
2. Agile JAVA Chinese version
This book was given to me by the publishing house. As soon as I got it, I put it on the shelf and didn't turn a page in the bookcase. But when I sorted out the bookcase two days ago, I took it out and turned it. Unexpectedly, I found that it was definitely a good book! A major feature of this book is that it runs through the whole book with unit testing and TDD. In the process of teaching you all kinds of important basic knowledge of Java, it imperceptibly affects your programming thinking towards agility and TDD. In addition, this book is very new, with jdk5 0 grammar based explanation, to learn jdk5 The new syntax of 0 is also good. In addition, this book is also very appropriate for the selection of content. After all, the Java language has a huge class library and can speak too much content. The content selected and the amount of content in this book are very appropriate. It can enable you to master the most important knowledge of Java in the least time and cultivate excellent programming ideas. It is really a rare good book. Although the author has positioned this book at the entry level, I'm not sure if it's a little deeper for entry. I'm ready to turn over this book and learn when I'm free.
2、 Advanced classes of Java programming lay a good foundation for Java, and more practical experience is needed. I don't think there is any shortcut. There are two books worth reading at this stage of your programming career to cultivate good programming habits and improve the quality of your code.
1. Refactoring to improve the design of existing code
This book is very famous. It doesn't need to be introduced. You can turn it over in your spare time and confirm it with your own practice. The influence of this book on you is imperceptible.
2. Test driven development by example
The biggest feature of this book is that it is very thin and seems to have no burden. You can look for a weekend afternoon and do it while reading. You can finish reading the book in one afternoon and run all the examples of the book. The function of this book is to let you cultivate TDD ideas through practical combat.
3、 The path of Java Architect
At this stage, you should have been very skilled in using java programming and have a good programming idea and habit, but you may still lack the grasp of the overall architecture of the application software. Now is your first step towards an architect.
1、《Expert One-on-One J2EE Design and Development》
This book is a famous work of rod Johnson. It is very classic. The spring framework was born from the code in this book. But it seems that there is no Chinese translation of this book.
2、《Expert One-on-One J2EE Development without EJB》
This book is translated by gigix and participated by many industry experts. Although the signed translator is JavaEye, in fact, JavaEye does not contribute much, which is really in the name of the translator. The above two books are classic works of rod Johnson and must read books for Java architects. Among the books I recommend, they are the most careful and earnest books I have ever read. I almost finished reading this book without forgetting to eat and sleep at that time. When I was a child, I was eager to read Jin Yong's martial arts novels at night. The contents of the book and my own experience and knowledge were confirmed one by one, and were brilliantly summarized. After reading this book, I felt like I was connected with the meridians, The feeling of skill explosion. But later I read some other people's comments. It seems that the reading experience is not as high as me, perhaps because everyone's knowledge accumulation and experience are different. At that time, I had accumulated enough experience and knowledge, but it had not been systematically sorted out and formed. Once this book was sorted out, it immediately formed a complete knowledge system.
3. Enterprise application architecture model
Martin's another famous book, but I only read it in general and didn't read it carefully. This book seems to be more suitable for framework people. For example, if you plan to write an ORM yourself, this book must be read. However, it doesn't seem to matter if you don't look at it, but if you are free, I recommend taking a serious look, which will let you know why the framework is designed in this way, so that your level can be promoted to the perspective of the framework designer. I've always admired Martin's books, but I've never read them as seriously as rod Johnson's books.
4. Agile software development principles, patterns and practices
Uncle Bob's masterpiece is a classic of agile. This book is special. It is not so much a book about software development process as a book about software architecture. This book devotes a lot of space to various patterns of object-oriented software development. I think I don't have to read GOF's design patterns after reading this book.
4、 Software development process
Understanding the software development process is not only to improve programmers' good programming habits, but also to enhance team cooperation.
1. UML essence
In fact, UML has nothing to do with the software development process, but it is a tool for software teams to cooperate and communicate and write software documents. However, there are few really practical diagrams of UML. It is enough to read this book. There is no need to chew on things such as UML user's Guide. I would like to remind you that the Chinese translation of this book is very poor. It is recommended to read the original English version conditionally.
2. Analysis of extreme programming embracing change XP
This is the second edition of Kent Beck's masterpiece in both Chinese and English. There's nothing to say. You have to read books.
3. Unified software development process
In fact, up does not necessarily conflict with agile. Up also emphasizes iteration and testing, but up emphasizes document and process driving, which agile does not take. Anyway, up is worth reading. After all, there are few enterprises that really accept agile in China. You still need to arm yourself with up, even XP in up.
4. Agile modeling am
Scott Ambler's masterpiece, which is very progmatic, tells you how to be agile and up, unifies agile and up, and puts forward many progmatic suggestions and practices. You can read the three books "analyzing extreme programming embracing change", "unifying software development process" and "agile modeling" together, see the differences between XP and up, and then see how am unifies XP and up, integrate these three theories into one furnace and form your own theoretical system, then you can also write a book.
5、 Software project management
If you are suddenly promoted to project manager by the leader, and you have no project management experience at all, you will have no bottom in your heart; If you feel that you are not good at managing the project and want to improve your project management ability, you must be thirsty for PMP.
1. Rapid software development
This is also a famous book. It can be said that with a book in hand, you will have a senior staff member of project management to give you advice, and you will no longer have to worry about your incompetence. This book is not about the theory of management. In actual project management, talking about these theories does not solve problems. This book is somewhat similar to "a complete collection of ideas for software projects". It lists various problems faced in various software projects and ideas on how to solve them. You only need to make some modifications and find a prescription.
6、 Summary
In this list of recommended books, I did not list popular software framework learning books, such as struts, hibernate and spring, nor did I list ajax books. This is because such books are easily outdated, and most of the above books have a long life cycle enough to be worth buying and collecting.