As a Java programmer, the most painful thing is that the range of options is too wide and there are too many books to read.
At a loss. I want to select some technical books I have read and recommend them to you in the order of study, especially Java programmers who want to continuously improve their technical skills.
I. Java programming Basics
For programmers who have no Java programming experience, they need to get started and read any introductory books at will. At this stage, you need to quickly
To master the basic syntax and usage of Java, the aim is to "get familiar with Java first. It takes a short time to quickly repeat the Java syntax and write more code by using tokens with guesses,
You need to "know it ".
1. Java programming ideas
After some java programming experience, you need to "know why. Java programming ideas
It is a good book that lets you know why. It has a clear explanation of basic object-oriented knowledge and a clear explanation of Basic Java syntax and basic class libraries, it can help you develop a good Java
Programming basics. The disadvantage of this book is that it is too thick and coarse. It is not suitable for modern people to learn quickly. Therefore, it is not worth reading every chapter in this book, you can focus on it in depth.
2. Chinese version of agile Java
This book was handed to me by the publishing house. As soon as I got it, I had no pages on the bookcase, But I sorted out the bookcase two days ago.
When I tried it out, I found it was definitely a good book! This book is characterized by unit testing and TDD throughout the book. It is subtle in the process of teaching you various important basic java knowledge.
Influence your programming thinking to agile, to TDD. In addition, this book is quite new. Based on the jdk5.0 syntax, it is also good to learn the new jdk5.0 syntax. This book also provides content
The trade-off is also very appropriate. After all, the Java language has a large class library and can talk too much about it. The content and content selected in this book are very suitable, this gives you the least time to know the most important Java knowledge.
Knowledge, By the way cultivate excellent programming ideas, is really a rare good book.
Although the author positions this book at the entry level, I am not sure if it is a little deep in getting started.
Prepare to read this book and study it when you are free.
Ii. Advanced Java programming
To lay a good Java Foundation, more practical experience is needed. I don't think there is any shortcut. Two books worth your attention
Read at this stage of your programming career, cultivate good programming habits, and improve your code quality.
1. refactoring to improve the design of existing code
This book is very popular. You don't need to introduce it much. You can flip it over in your spare time and prove it with your own practices. This book is intended for you
The impact is imperceptible.
2. Test-driven development by example
This book is very thin and seems to have no burden. You can look for a weekend afternoon while watching and taking photos
After reading the book in the afternoon, all the examples in this book are finished. The role of this book is to help you cultivate TDD ideas through practice.
Iii. Path to Java architect
At this stage, you should have been very skillful in using Java programming and have a good programming idea and habit,
However, you may still lack the ability to grasp the overall architecture of the application software. Now you are the first step towards the architect.
1. Expert one-on-one J2EE design
And Development
This book is Rod
Johnson's famous book is very classic. springframework was born from the code in this book. But it seems that this book does not have a Chinese translation.
2. Expert one-on-one J2EE
Development without EJB
This book was translated by gigix and participated by many industry experts. Although the signed translator is javaeye
Javaeye does not contribute much. It is truly the name of the translator.
The above two books are the classic masterpiece of rodjohnson, a must-read book for Java architects. In
Among these books, I have read the most careful and earnest books. I read this book almost all over the air. When I was a child, I picked the light and went to the night to read Jin Yong's martial arts novels, content and experience in the book
I learned one by one, and I was very incisive. After reading this book, I felt that I was able to get through the channels, and my skills increased.
However, I have read comments from other people and it seems that the reading experience is not as high as I do, maybe because everyone knows
This is caused by different knowledge accumulation and experience. At that time, I had accumulated a wealth of experience and knowledge, but there was no systematic arrangement. Let the book be sorted out and a complete knowledge system was formed immediately.
3. Enterprise Application Architecture Model
Martin has another famous book, but I have read this book extensively and have not read it carefully. This book seems more suitable
For example, if you want to write an ORM on your own, you must read this book. However, it doesn't matter if you don't look at the app. But if you are free, I recommend you take a look at it carefully.
You know why the framework is designed in this way, so that your level can be promoted to the perspective of the Framework designer to think about the problem. I have always admired Martin's books, but they have never been like Rod.
Johnson's book is very serious.
4. Agile Software development principles, models and practices
Uncle
Bob's masterpiece is a classic masterpiece of agility. This book is more special than a book about the software development process, this book uses a lot of space to talk about various models of object-oriented software development.
I personally think that if I read this book, I don't have to read gof's design pattern.
4. Software Development Process
Understanding the software development process is not only to improve the good programming habits of individual programmers, but also to enhance the foundation of team collaboration.
1. UML Essence
In fact, UML is not necessarily related to the software development process, but it is necessary for the software team to collaborate and communicate and write software documents.
. However, there are not many practical diagrams in UML. It is enough to read this book and there is no need to chew on things like the UML user guide. I would like to remind you that the Chinese translation of this book is very helpful.
It is recommended that you check the original English version if necessary.
2. Resolve eXtreme Programming to embrace change XP
This is the second version of Kent Beck's masterpiece. There is nothing to say. You must read books.
3. unified software development process up
In fact, up and agile do not necessarily conflict. Up also emphasizes iteration and testing, but the document and process-driven content of up is
Agility is not desirable. In any case, up is worth reading. After all, there are very few enterprises that really accept agility in China. You still need to arm yourself with up, even if it is a pack of XP.
4. agile modeling AM
Scottambler's masterpiece, this book is very progmatic, telling you how to be agile and up,
The agile and up are unified, and many progmatic suggestions and practices are put forward. You can write three books, resolution eXtreme Programming Embracing Change, unified software development process, and agile modeling.
Read them together, view the Differences Between XP and up, and then see how am unifies XP and up, and integrates these three theories into one furnace to form its own theoretical system, you can also write a book.
V. Software Project Management
If you are suddenly Promoted to a project manager by a leader without any project management experience, you will be confused.
If you are not good at managing your own projects and want to improve your project management capabilities, you will be far from thirsty to test PMP.
1. Fast Software Development
This is also a masterpiece. If you have a book in hand, you will have a senior project management adviser to give you advice.
You don't have to worry about your incompetency. This book is not about management theory. In actual project management, these theories do not solve problems. This book is a bit similar to "software project ideas ".
It lists the various problems faced by various software projects and the ideas on how to solve the problems. You only need to make some changes, just find someone to take the medicine.
Vi. Summary
In this list of recommended reading books, I did not list popular software framework learning books, such
Struts, hibernate, spring, and so on have not listed Ajax books. This is because such books are easy to get out of date, and the life cycle of most of the above books is long enough.
You have to purchase and add to favorites.
A wise man gives up when he chooses to give up;
The option of giving up is a brave one.