[Reprint] Java professionals required books and list of sites

Concurrent Programming in Java: Design Principles and Patterns (Doug Lea)

Concurrent Programming in Java: Design Principles and Patterns, 2nd edition (Doug Lea; Addison-Wesley, 1999 years)
Java Concurrent Programming - Design principles and patterns (second edition) (Zhao Yong, such as translation, China Electric Power Press, 2004)
Not every developer will need such a detailed understanding of concurrency, not all the engineers to achieve the standards of this book, but there is no better book than this about concurrency programming outlined. If you are interested, please start here. Lea of SUNY are a professional programmer, he and concurrency-related works and ideas are included in the JDK 5.0 specification (a quote from JSR166), so you can rest assured that what he said about the effective use of Java language's recommendations are worthy of one. He is a very good communication between people.

Expert One-On-One J2EE Design and Development (Rod Johnson)

Expert One-On-One J2EE Design and Development (Rod Johnson)
WROX: J2EE Design and Development Programming Guide ( Wei Hai-translation , Electronics Industry Press, 2003)
For New to J2EE , this is the only one which accurately reflects the book of this technology. The book includes many years of successful experiences and failures, unlike many other authors, Johnson will be happy to experience a failure made public. J2EE often have been the excessive use. Johnson's book can help you avoid this.

Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)

Refactoring: Improving the Design of Existing Code (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts; Addison-Wesley, 1999 years)
Reconstruction: Improving the Design of Existing Code (Chinese Version) (Hou Jie, such as translation, China Electric Power Press, 2003)
Fowler has written several books now published in book the most popular programming, including the Analysis Patterns. His book about remodeling are the basic books in this subject. Reconstruction of the code are being neglected training programmers, but programmers are the most intuitive mind. Remodeling are the result of not making any changes to the code under the premise of improving the design of existing code. This is to keep the code clean and the best way to design this way the code always easy to modify. When it is reconstructed? When the code "Taste emitted" when. Fowler's book is full of examples of Java language code. Many Java language integrated development environment (IDE) (including IBM's Eclipse) will be Fowler's remodeling included into each of the Reconstruction of the use of his name name, so familiar with such as extract method, such as reconstruction is still very worthwhile .

Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)

Design Patterns: Elements of Reusable Object Oriented Software (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Addison-Wesley, 1997 years)
Design Patterns: Reusable Object-Oriented software foundation (Lee, such as the British translation of Machine-Building Industry Press, 2005)
The Pragmatic Programmer: From Journeyman to Master (Andrew Hunt and David Thomas; Addison-Wesley 1999 years)
Practicing programmer's Road - from small works to the experts (Mahuida translation, Electronics Industry Press, 2004)
Does a pure object-oriented developers have the advantage. In today's complex society, as the Java language developers, in order to complete the mission often compromise. Hunt and Thomas discusses how not to compromise on the really important things out and complete the mission. This is not a book about Java language, but Java language developers thought the essential reading material. For example, in my opinion not from "to solve the problem, rather than pass the buck" this advice to benefit programmers, artists should not like a proud, like a masterpiece in his name on the sign.

Peopleware: Productive Projects and Teams (Tom DeMarco and Timothy Lister)

Peopleware: Productive Projects and Teams (Tom DeMarco, Timothy Lister; Dorset House, 1999 years)
Human cases (2nd edition) (UMLChina Translation Translation Group, Qinghua University Press, 2003)
The list of all the other books and technology are at least some correlation. This book is not. In all the technical jargon and acronyms of the ocean, sometimes software developers and managers forget: people are creating software. DeMarco and Lister to remind us of this truth, but also to remind us of the formation of the reasons for this distinction. This is not one about a specific programming language books, but they are each Java language programmers should read the book. About "exhausting programmers how to make managers counterproductive," there are many other books, but this is the best one.

Back to top

Web Site

Vast number of Web sites, if you want to digest one of the contents of the power of the poor all his life it is difficult to visit all. Java language contains elements of a detailed list of sites will be big outrageous. The following sites are reliable and true.

Sun's Java technology site

Sun's Java language site
This is Sun's Java language master station. Java language as a developer, you will find that they frequently visit this site. The following link is particularly important, especially for new entrants to the Java language developers:

  • New to Java Center
    New to Java Center
    New to Java Center store a lot of step-by-step link Java technology resources. If you New to the language , this is a good starting point.
  • Tutorials and code library
    Java Tutorial
    Here are the famous Java Tutorial, as well as about the various aspects of Java language (such as the Collection) of the other tutorials.

IBM developerWorks

IBM's developerWorks
Some may be selling his thick-skinned, but developerWorks resources are an enormous collection of a large number of Java tools and technologies language tutorials and articles. Its contents from the beginners guide to learning the language to advanced technology concurrency. Search content based on subject, then according to the type of browser.

Apache Software Foundation

Apache Software Foundation
Apache sites are much reusable library (common areas) and tools for home page, these libraries and tools to help Java developers to develop. Here are the contents of all open source, so even though you want to download! Very much popular Java language library and tools (such as Struts, Ant and Tomcat) have started in Apache projects. Jakarta area brings together the majority of new Java language materials.


There are several good Java language integrated development environment (IDE). Eclipse (from IBM) is the latest one of the IDE, it will soon become the Java language developed by the primary IDE. It is completely open source, which means that it is free of charge. The station contains Eclipse Learn how to effectively use various reference materials. There are about Standard Widget Toolkit (SWT) the information, SWT are compared with the Swing of the selection is even more lightweight.

Eclipse and Eclipse plug-ins Plug-Center

Eclipse plug-in Center And Eclipse plug-ins
Eclipse-based plug-in architecture. In fact, Eclipse plug-ins are components of the Java language. But have almost thousands of plug-in, plug-ins from the Web development environment in Eclipse plug-ins to play games. A breakdown of these two sites the majority of plug-ins, you can search. They are great resources. If you want to in the Eclipse development environment Get some new things , lucky have a plug-in may have been realized from these two sites to find the desired plug-ins. These two sites are allowed to comment on plug-in, so you can know which plug-ins, and what's worth a try.


Junit is a Java language in a basic framework for unit testing. The site contains the latest and greatest version of Junit, plus a large number of the tests (Java language or other languages) at all levels (for desktop applications, Web applications, J2EE applications, etc.) of other resources. If you want to find the test of resources, here is the best starting point.


If you want to (or will be) engaged in a server-side Java language development, this site is a vital resource. Here you can find information about JBoss, J2EE, LDAP, Struts and a large number of other subject of the article, and are completely searchable. These articles not only easy to describe the characteristics of Java language or library support. They further describe the novel use of the Treasury (such as the use of Jakarta Velocity as a rules engine, rather than a template engine). They also provided information on the status of Java language for Comments (the current one by Tim Bray article written by Java is boring). The site a better one common feature of Java language tools and products (application servers, etc.) matrix comparison.

Bruce Eckel's MindView, Inc.

Bruce Eckel's MindView, Inc.
Eckel has written several "... ... to consider using" the book, content about Java language, Python and C + +, when I study Java language, his Thinking in Java to help me in particular. It is very practical and pertinently, in the "In the Java language environment, consider how the object-oriented" has informed. You can download him from this site for free electronic version of all the books. He also wrote a much better article, and he put a link to these articles are on here (including about Jython, Java and. NET content comparison article).


O'Reilley published over the years a number of programming languages and tools, excellent books. Their focus on the Java language Web site is not bad. It some of the various Java language tools (such as JDOM and Hibernate), Java platform (such as J2SE and J2EE) different areas of different parts of the article. All can be retrieved. They have excellent articles and tutorials. The site is arranged by topic. For example, Java and XML, Java Security, Wireless Java and Java SysAdmin. The site also has to O'Reilley Learning Lab link, where you have access to online reference materials (Java language-related and other). Those who are not free, but for many of the University of certification. So you can in a very convenient way to study skills, and get some certification.


java.net community
java.net community has a number of "community", have specific topic forums and articles. For example, Java Desktop community has all kinds of desktop development with the Java language-related information. Java Patterns community as a gateway may be provided by Java language on the model of the resources of considerable interest. There is also a Java User Groups (JUG) communities, where can I find information about creating, add and manage a Jug of information.

Back to top

Concluding remarks

Any "good", "key" or "important" reference list is doomed to be incomplete, this article also failed to list the exceptions. Java language, a large number of books, of course, the World Wide Web is also very large. In addition to the references listed in this article, there are a lot of studying for the Java language reference. However, if you have mentioned here all the books, website, article or tutorial, you should already have a good start so that you and help you treasure Into the practical .

Finally, the ability to become a growing and efficient Java language developers, is to use it to work yourself to have a try. If there is a detailed tutorial of the software needed to create each part, you are likely not to be little benefit. Sometimes, you may have to go its own way. Successfully tried some new things, you may want to write an article, tutorial or a book to share that you learned.


About the author

Roy Miller is an independent software development trainer, programmer and writer, he is full of challenges and fast-paced consulting company engaged in more than a decade of software development and project management. He was initially in the Andersen Consulting (now is the Accenture) company, where he managed the team achieve a number of systems, from mainframe accounting system to data mart star mode. The last three years, his Holly Springs, North Carolina, the RoleModel Software, Inc. Company, where he specialized in the use of Java technology, and served as developers and Extreme Programming (XP) trainer. His co-author of the Addison-Wesley XP series of Extreme Programming Applied: Playing to Win One book, recently he wrote Managing Software for Growth: Without Fear, Control and the Manufacturing Mindset one book to help managers and management to understand: like XP so why Agile methods to build than the traditional methods more effective. In 2003, he founded his own company: The Other Road, the company to help other companies learn how to XP and what he called Extreme Business (XB) method of conversion.

分类:Java 时间:2009-02-27 人气:867
blog comments powered by Disqus


  • Bill Venners a dialogue with Martin Fowler (test-driven development) 2010-03-29

    Dialogue Martin Fowler (Martin Fowler) - Part V: Test Driven Development Introduction In this section, Fowler describes the test-first design of calm quality, defines what constitutes a single thought, and an analysis of unit testing and functional t

  • Bill Venners a dialogue with Martin Fowler (evolutionary design) 2010-03-29

    Dialogue Martin Fowler (Martin Fowler) - Part III: Evolutionary design Introduction In the third part of the serialized Fowler to discuss the planned design and evolutionary design differences, revealing the appearance of focusing on solving the prob

  • Bill Venners a dialogue with Martin Fowler (design principles and code ownership) 2010-03-29

    Dialogue Martin Fowler (Martin Fowler) - Part II: Design Principles and Code Ownership Profile This part of the interview, Fowler discusses some design principles, including how to avoid repetition, how to separate business logic and its said that ex

  • Jiading District, Shanghai Electric Power Company and the government signed a power-building and development agreement 2010-05-07

    Jiading District, Shanghai Electric Power Company and the government signed a power-building and development agreement The afternoon of June 3, Shanghai Electric Power Company and the Shanghai Jiading District People's Government 2009-2011 power cons

  • Shanghai Municipal Electric Power Company and the Jiading District Government to sign the power construction and development agreements 2010-05-07

    Jiading District, Shanghai Electric Power Company and the government signed a power-building and development agreement The afternoon of June 3, Shanghai Electric Power Company and the Shanghai Jiading District People's Government 2009-2011 power cons

  • Bill Venners dialogue with Martin Fowler (Reconstruction) 2010-03-29

    Bill: Please give the definition of reconstruction. Martin: Refactoring the code itself is the right to make changes to improve its internal structure, but without changing its external manifestations. Bill: If the reconstruction is neither to add a

  • Bill Venners with Martin Fowler's dialogue (the flexibility and complexity) 2010-03-29

    Dialogue Martin Fowler (Martin Fowler) - Part IV: the flexibility and complexity of the profile In Part IV, Fowler discusses the design of fade (design decay), flexibility, and reusability and complexity of the relationship between the simple system

  • 对话软件大师Martin Fowler:灵活性与复杂性 2013-10-08

    设计褪色与重构 Bill Venners:为什么设计会随着时间而褪色? Martin Fowler:对于计划型设计来说,设计只在最开始时是正确的,随之不可避免地会褪色.生活中的许多事情都 会褪色.关键是,你要懂得如何避免设计褪色.而这恰恰是重构的目的--逆转褪色的过程.重构是一种相对来说比较新的技术.我们还未能完全掌握这项技术.不 过有一点可以肯定,你可以借助重构来防止设计褪色,甚而逆转褪色过程,使设计随着时间而变得越来越完善. 灵活性和复杂性 Bill Venners:在<重构>一书中你写道

  • Bill Venners dialogue with Martin Fowler (performance and process tuning) 2010-03-29

    5, dialogue, Martin Fowler (Martin Fowler) - Part VI: Performance Tuning and Process Overview In this last section, Fowler talked about how to find a balance between efficiency and maintainability point, as well as how to develop tunable excellent so

  • 对话软件大师Martin Fowler:测试驱动开发 2014-09-15

    逐步设计 Bill Venners:在进化型设计中,接口的设计是否是逐步完成的,每次只设计一小块? Martin Fowler:没错.比如说,当我构造一个 Money 类时,在没实现"加法"功能之前,对于"乘法"功能我连考虑都不会考虑.只专注在"加法"功能上,不要想其它的事情.定义"加法"的接口,实现它的代码.然后再做下一步. Bill Venners:我还是更习惯于这样的方式:好,让我们来看看 Money 这个类,它应该有哪

iOS 开发

Android 开发

Python 开发



PHP 开发

Ruby 开发






Javascript 开发

.NET 开发



Copyright (C) codeweblog.com, All Rights Reserved.

CodeWeblog.com 版权所有 闽ICP备15018612号

processed in 0.234 (s). 12 q(s)