Java must read books!

Source: Internet
Author: User

As a Java programmer, the most painful thing is that you can choose a wide range of books, you can read too many books, and it is often easy to get 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

Programmers who have no Java programming experience need to get started and read any introductory books at will. At this stage, you need to quickly master the basic java syntax and basic usage. The purpose is to "Never get started ", get familiar with Java first. It takes a short time to quickly go through the Java syntax and write more code by using tokens with guesses ".

1. Java programming ideas

After some java programming experience, you need to "know why. At this time, "Java programming ideology" is a good book that gives you a clear understanding of the basic object-oriented knowledge and basic java syntax, the basic class library has a clear explanation, which can help you lay a good foundation for Java programming. 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 did not go over it when I sorted it out two days ago, I found this is definitely a good book! A major feature of this book is unit testing and tdd throughout the book. In the process of teaching you all kinds of important basic knowledge of Java, it has a subtle influence on your Agile programming thinking and moving towards 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 is also very suitable for the selection of content. After all, the Java language has a huge library and can talk too much about it. The content and content selected in this book are very suitable, it will give you the least time to master the most important knowledge of Java, and cultivate excellent programming ideas by the way. This 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. I also want to flip this book and learn it when I have time.

3. 261 Java language issues you must know

This book can be downloaded online. I have explained many knowledge points. The book uses the form of Q &. It is worth learning for beginners and intermediate programmers!

Ii. Advanced Java programming

To lay a good Java Foundation, 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, cultivating good programming habits and improving 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 has a subtle influence on you.

2. Test-driven development by example
This book is very thin and seems to have no burden. You can look for a weekend afternoon to finish reading the book. 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, but you may still lack the grasp of the overall architecture of the application software, this is your first step towards architects.

1. Expert one-on-one J2EE design and development

This book is a famous book by Rod Johnson and 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, with the participation of many industry experts. Although the signed translator is javaeye, javaeye does not contribute much, but it is truly the name of the translator.

The above two books are the classic masterpiece of rod Johnson, a must-read book for Java architects. Among the books I have recommended, I have read the most carefully and seriously. At that time, I almost read this book in an out-of-the-box manner, when I was a child, I picked up the lights and went to night to read Jin Yong's martial arts novels. The content in the book, as well as my own experience and knowledge, were thoroughly summed up. After reading this book, I was able to get through the channels, the feeling of explosive growth in power.

However, I have read comments from other people and it seems that the reading experience is not as high as I do, maybe because of the different knowledge accumulation and experience of each person. 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 framework developers. For example, if you want to write an ORM on your own, this book must be viewed. However, it doesn't matter if you don't look at the application. But if you are free, I recommend you take a look at it carefully to see why the framework is designed like this, in this way, 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 I have never read them as seriously as Rod Johnson's books.

4. Agile Software development principles, models and practices
The famous book of Uncle Bob, the classic masterpiece of agility, is quite special. It is not so much a book about the software development process as a book about the software architecture, this book takes a lot of space to talk about various object-oriented software development models. I personally think that after reading this book, you 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 a tool required 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 bad. You are advised to read 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 are not necessarily in conflict. Up also emphasizes iteration and testing, but the document and process-driven by up are not agile. 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

Scott Ambler's masterpiece, this book is very progmatic, telling you how to be agile and up, unify agility and up, and put forward many progmatic suggestions and practices. You can read three books, resolution eXtreme Programming Embracing Change, unified software development process, and agile modeling, to see the differences between XP and up, let's look at how am unifies XP and up, and combines these three theories into one furnace to form your own theoretical system. Then you can write a book.

V. Software Project Management

If you are suddenly Promoted to a project manager by a leader and you have no project management experience, you will surely feel confused. If you feel that your project management skills are poor, you would like to improve your project management capabilities, therefore, PMP is definitely far from quenching thirst.

1. Fast Software Development

This is also a masterpiece. In this case, if you have a book in hand, you will have a senior project management adviser to give you advice, and you will no longer 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, I listed various problems faced by various software projects and the ideas on how to solve the problems. You just need to make some changes and just find someone to take the medicine.

Vi. Others

1. I'm happy with programming

Teach you how to be a qualified and happy programmer.

2. calm life is not lonely

Let you understand many philosophies of life.

VII. Summary

In this list of recommended books, I did not list popular books on software frameworks, such as struts, hibernate, spring, or Ajax. This is because these books are easy to get out of date, and the life cycle of most of the above books is long enough, so it is worth buying and collecting them.

The following are ten Java books recommended on Java inside (Source of the article) 1) Java language specification,Third Edition( By
James Gosling
This book is written by the inventor of Java technology and is an authoritative technical guide for the Java TM programming language. If you want to know the exact meaning of the language structure, this book is the best resource. Link to the Chinese version: Java programming specifications
Link to the English version: the Java language specification (3rd edition) 2) Valid Java, Second Edition( By Joshua BlochThis book introduces 78 practical experience rules in Java programming. These experience rules cover the solutions to the daily problems faced by most developers. A comprehensive description of the technologies used by Java platform design experts reveals what should be done and what should not be done to generate clear, robust, and efficient code .. Each rule in this book appears in the form of a short and independent small article, and further describes it through the example code. This book provides comprehensive content, clear structure, and detailed explanations. Can be used as a reference for technical personnel .... Link to the Chinese version: tive
Link to the English version of Java version 2: tive Java (2nd edition)
3) Java concurrency in practice( By Brian GoetzWith the popularization of multi-core processors, the use of concurrency becomes the key to building high-performance applications. Java 5 and 6 have made significant progress in developing concurrent programs, improved the performance of Java virtual machines, improved the scalability of concurrent classes, and added a wealth of new concurrent building blocks. In this book, the creators of these convenience tools not only explain how they work, how they are used, but also explain the reasons for their creation and the design patterns behind them. This book can be both theoretical support for readers and technical support for building reliable, scalable, and maintainable concurrent programs. This book not only provides a list of concurrent APIs and its mechanisms, but also provides design principles, models, and thought models that allow us to build correct and well-performing concurrent programs.
Readers of this book are programmers with certain Java programming experience, programmers who want to learn about Java SE 5 and 6 improvements and new features in thread technology, as well as Java and concurrent programming enthusiasts. Link to the Chinese version: Java concurrent programming practices
Java concurrency in practice 4) Java puzzles: traps, pitfalls and corner Cases( By Joshua BlochJava puzzlers, another classic masterpiece of Java, Amazon five-star books. I think you know more about Java? Are you a code probe? Have you ever spent several days tracking bugs caused by traps and defects in Java or its class libraries? Do you like quiz? This book is suitable for you! Link to the Chinese version: Java Solutions
Java puzzlers: traps, pitfalls, and corner Cases 5) Thinking in Java( By Bruce EckelThis book has won widespread praise from programmers around the world. Even the most obscure concept will be resolved in front of Bruce Eckel's text affinity and small and direct programming examples. From the basic syntax of Java to the highest level of features (in-depth object-oriented concepts, multithreading, automatic project building, unit testing and debugging), this book will guide you through the process. It is not hard to tell from the awards and comments from readers around the world that this book has won. The author of this book has many years of teaching experience and has unique and in-depth insights into C, C ++, and Java languages, it explains obscure abstract concepts in simple and straightforward examples. This book consists of 22 chapters, including operators, control execution processes, access control, reuse classes, polymorphism, interfaces, error handling through exceptions, strings, generics, arrays, containers for in-depth research, Java
I/O system, enumeration type, concurrency, and graphical user interface. These rich content includes the basic syntax and advanced features of the Java language, which is suitable for Java programmers at all levels to read, it is also an excellent teaching material and reference book for colleges and universities to teach object-oriented programming language and Java language. Link to the Chinese version: Java programming ideology (version 4th)
Link to the English version: Thinking in Java (4th edition) 6) better, faster, lighter Java( By Justin gehtland, Bruce A. TateJava developers are deeply immersed in complexity and cannot extricate themselves. Our experience and capabilities are approaching the limit. Programmers spend much more time writing programs that support the selected framework than solving real problems. We can't help but ask, is it necessary to make Java so complicated ?. The answer is no. This book guides you a way out. Whether it is to maintain the application or to design it from the beginning, you can go beyond the rules and greatly streamline the basic framework, development process and final code. You can re-master the once out-of-control J2EE application... In this book, the original authors Bruce A. Tate and Justin gehtland will step by step. First, they listed five basic laws. They demonstrate how to build simple, decoupled code and tell you how to select technology. They also analyzed how two widely used open-source programs cater to these concepts. Finally, the author will use these basic concepts to build a simple but rich application to solve the problems encountered in the real world. Link to the Chinese version: Brisk Java
Link to the English version: better, faster, lighter Java 7) core Java (Vol. 1, 2)( By Cay S. horstmann, Gary Cornell(Java core technology) has been selling well since its publication and is favored by readers. Each new version keeps up with the development of Java Development Toolkit as quickly as possible, in addition, some content is rewritten in each version to adapt to the latest Java features. This version is no exception. It reflects the new features of Java SE 6. The book consists of 14 chapters, including Java BASIC program structure, objects and classes, inheritance, interfaces and internal classes, graphical program design, event processing, swing user interface components, deployment applications and applets, exception log assertions and debugging, generic program design, collection, and multithreading. This book provides a detailed description of the Java technology in a simple way and contains a large number of examples to help readers fully understand the Java language and Java class library features.
Link to the Chinese version: Java core technology, Volume 1, Volume 2
Link to the English version: core Java, Volume I-fundamentals (8th edition), Core
Java, vol. 2: advanced features, 8th edition 8) the Java Virtual Machine Specification( By Tim linhoma, Frank Yellin) If You Need To Know the byte code of the Java Virtual Machine, or some compilation, this book will definitely make you what you want. It not only contains the specification of the machine code, but also the specification of the Java compiler and runtime environment. Link to the Chinese version: "NONE"
Link to the English version: the Java Virtual Machine specification (2nd edition) 9) Robust Java: Exception Handling, testing, and debugging( By Stephen stelting) Handling exceptions involves development, design, architecture, and other knowledge. This book is divided into three parts.
Part I introduces the mechanism and usage of Java exceptions, introduces some best practices, and describes common APIs and technologies used for exception handling.
Part II describes the testability design, describes the failure mode analysis, discusses common API exceptions and causes, and analyzes the J2EE architecture and distributed API exception modes.
Part III discusses how to handle exceptions and errors during the software development cycle, analyze the software architecture, design patterns, testing and debugging, and list mature design patterns, this section describes the impact of processing policies on the system architecture and how to build a robust system. Link to the Chinese version: robust Java Chinese version-Java Exception Handling, testing and debugging
Link to the English version: robust Java Exception Handling, testing and debugging
10) Java code conventionThe last one is of course the Java coding specification, which was officially produced by Sun. This is what every programmer needs to know in order to make the program easy to understand and maintain. Http://java.sun.com/docs/codeconv/CodeConventions.pdf

Books that programmers should read most (Chinese translation)

Vote from stackoverflow

Http: // stackoverflow. Com/questions/1711/What-is-the-single-mOst-influential-book-Every-programmer-SHOcould-read

    
1. Code Daquan (version 2nd)

Author: [us] Steve Mike Cornell
Press: Electronic Industry Press

2.
Practices for programmers

Author: Andrew hunt/David Thomas
Press: Electronic Industry Press

3.
Construction and interpretation of computer programs

By harold Abelson/Gerald Jay Sussman/Julie Sussman
Press: Machinery Industry Press

4.
C Programming Language

Author: knihan
Press: Machinery Industry Press

5.
Introduction to Algorithms

Author: [us] Thomas H. cormen/Charles E. leiserson/Ronald L. Rivest/Clifford Stein
Press: Machinery Industry Press

6.
Reconstruction

Author: Martin Fowler
Press: People's post and telecommunications Press

7.
Mythical man-month

Author: Fred Brooks
Press: Tsinghua University Press

8.
Design Mode

Author: [us] Erich Gamma/Richard helm/Ralph Johnson/John vlissides
Press: Machinery Industry Press

29.
Computer Programming art (vol. 1st)

Author: [us] Donald E. knuth
Press: Tsinghua University Press

10.
Compilation principles

Author: Alfred v. Aho/Monica S. lam/Ravi Sethi/Jeffrey D. Ullman
Press: Machinery Industry Press

11.
Head first design model (Chinese Version)

Press: China Power Press

12.
Godel, Esher, Bach

Author: [us] Hou Shida
Press: Business Press

13.
Valid C ++

By Scott Meyers
Press: Electronic Industry Press

14.
More effective C ++ Chinese Version

Author: mayyes
Press: China Power Press

15.
Programming Pearl

By Jon Bentley
Press: People's post and telecommunications Press

16.
Wanli Ren Chan game

Author: (US) Robert M Bosiger
Press: Chongqing Press

17.
Encoding

Author: [us] Charles Petzold)
Press: Electronic Industry Press

18.
The art of code modification

By Michael feathers
Press: People's post and telecommunications Press

19.
Parts

Author: Tom Demarco/Timothy lister
Press: Tsinghua University

20.
Clean code

Author: Martin
Press: People's post and telecommunications Press

18:14:03 add 21.
Programming life

Author: Peter Seibel
Press: People's post and telecommunications Press

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.