📜 ⬆️ ⬇️

Bookshelf: Java

Based on «JAVA → Java in Russian. Part One: Books » habrahabr.ru/blogs/java/66568


Good afternoon, dear habrovchane!
In a previous review of Java books, conducted by a Scala user, it was told about “practical” books that have been released to the market in the last three years. I want to talk about these and other books from a slightly different angle: try to highlight the value of information books.
I do not like to read from the monitor, and I prefer to buy books on paper. To make an informed choice, one should be aware that the book bears some fundamental knowledge, but not the collection of “last pieces”. Also in this article I want to mention other famous works that are not directly related to Java. Let's see what is best to choose for language learning?

So java. Wonderful, in my opinion, programming language. Simple to learn, with ample opportunities and many other useful things. And it’s worth starting a study with a famous book

K.Horstmann - Java2: Basics

Very good book showing the basic features of the language and the platform itself. Contains the description of the main API. In my opinion, it is mandatory for the acquisition, and you should not even look at the thick guide G.Schildt.
')
“Having learned a language”, one must be able to apply it correctly. This will help us

G. Buch with his book "Object-Oriented Analysis and Design with Examples of Applications"

This book will be useful for both beginners and advanced programmers. Its main meaning is to teach thinking “objectively”.
> note: the book is not directly related to Java, so I don’t single it out separately.


Understanding the object-oriented approach itself provides an excellent basis for understanding design patterns. And this will help us

“Application of Java templates” - S.Steling, O. Massen, 2001


“Why are the patterns, are we code perfectly well without them?” Is a rather frequent question of people “programming” in any of the OOP languages. I want to clarify this situation somewhat: modern programming is no longer a craft, but rather a factory, and not only the result is important, but the speed of development, extensibility, and so on. All this is not achievable without competent design. Secondly, reading such literature will provide an understanding of the Java organization itself, since almost everything in this language is built on patterns.

Now you can take on larger projects than our first, to receive new knowledge. And the second volume of the book will help us.

K.Horstmann - Java2: programming subtleties

Remarkable book showing unobvious “tricks” of the obvious process. Without experience - do not stick in the jungle.

I can't help but mention my favorite book from

Steve McConnell - Perfect Code

Since you have contacted programming, if you please read it from cover to cover every year or two .

So, we already understand what Java is, and desktop applications no longer inspire us as before, so we decided to write server applications.
Go to J2EE. Immediately, I note that for me the J2EE specification is not only servlets, jsp, jsf and a couple of frameworks. For deeper knowledge, a completely different literature is required, which I did not find among the Russian-speaking (I can only advise books in the original, such as “EJB 3 in Action” and “EJB Design Patterns: Advanced Patterns, Processes, and Idioms”).

As mentioned in the article by the habious user Scala, there are very few books on J2EE, and you can only tell about three:

Budi Kurnyavan - “Programming Web Applications in the Java Language”


A wonderful book for a newbie. It describes the basics of creating servlet-based and JSP-based j2EE applications. Masters will say that this is no longer relevant, and even about the EJB does not say anything. But this book is designed for people who have just begun their acquaintance with J2EE and the work of server applications that are poorly represented. Provides basic development skills for the Internet. So this edition fulfills its mission one hundred percent. The study of frameworks and other technologies is another story. We should also mention the disgusting quality of print: the pictures are unreadable.

K.Horstmann - “JavaServer faces”


An excellent book on the JSF framework of the must_have discharge. It shows all the advantages of JSF development in terms of convenience and speed of development, the principle of building an application on beans (beans), and many other advantages of this technology.

“J2EE samples. The best solutions and design strategies


Deepak Alur, John Krupi, and Dan Mulks wrote an excellent book about patterns for J2EE. Required to read to anyone who as much as seriously interested in web-programming based on J2EE.

Why did I miss the recipe book? Yes, it is useful, but this is not the book that is worth buying on paper.

J2me
Here things are really bad. All I have ever read was reduced to the banal tutorial “write the game while you read.” Extremely stupid literature.

Conclusion:


Everyone wants to be on the crest of a wave in technology. Here are just these technologies, unfortunately, are born in the west. The authors write books, they are translated ... The precious time is wasted, and by the time the book is published, half of the topics are no longer so relevant. But, nevertheless, reading technical literature (including in the original) is very useful in terms of creating a foundation in my head, on which it would be much easier to build an understanding of modern technologies than without them. After all, the work of a programmer is not just typing code, it is hard work that requires a creative approach.
What else can I add? To heighten the effect - read the originals, documentation and forums. Beginners - first of all - books.

PS
There are books - reasoning, such as "Agile development of Java applications using Spring, Hibernate and Eclipse". In fact, they don’t have any springs or hibernates. Just reasoning on how to program. I will not give a description of such publications, let everyone choose for himself what to read before bedtime.

UPD: Description of the book “Architecture of corporate applications” M. Fowler from user sse



My opinion on the book.
The first thing that distinguishes the book - the author's style of presentation. Everything is very clear, and it reminds of a summary made by a joyful student - the main points are written down, moments are highlighted, there are necessary illustrations. The book covers a wide range of issues: the division of the application into layers, the organization of business logic, possible scenarios of working with the database, the organization of the UI in a web application (the book does not cover the UI for desktop applications, but later the author added this information to his site). Importantly, there are examples in Java, which is lingua franca for a modern developer.
Whenever the thought begins to spin in my head, “to wrap up this table in the classroom, and then inherit - cheers, I came up with a new way”, you should take Fowler’s book and read it - it’s likely that it is documented, described, an improved way is described and There are pitfalls and ways to circumvent them.
The book is divided into two parts, and this is very similar to the structure of the book "Design Patterns" by GoF. The first part contains general provisions on the construction of the system, as well as examples of the application of knowledge from this book in real applications. The second part is a directory-directory of patterns, grouped by application layers, in which it is typical to meet each of them.
In conclusion, a number of elementary patterns are presented as the most general and universal in the field of data processing and storage, the construction of their business objects and tips on the interface part.
The book is not cheap, but the information given in it pays for itself. On the Fowler website at martinfowler.com, it is available electronically: you can “unhindered” (c) get acquainted to decide if you need it or not. I immediately realized that I needed :)

UPD2: Description from the user culvert editions in English


The list of the best, in my opinion, ever written books about Java. Books are arranged in order of importance (the most fundamental are listed first).

0. J ava Language Specification 3rd Edition by James Gosling et al is the most important book, book number “zero” of this list, also known as JLS. The third edition describes the 5th version of the language. I believe that every Java programmer should read JLS at least once. It is necessary to know all the possibilities provided by the language in order to use them yourself and to understand the code written by others. JLS is similar to JavaDoc or other documentation for the libraries you use. However, unlike library classes for which documentation is usually available from your programming environment, contextual documentation in programming environments is not provided by language, so JLS needs to be read almost “from cover to cover” at least at the level of the table of contents and the overall content of each item. JLS is a must-read in preparing for the Sun Certified Java Programmer (SCJP) exam.

1. Effective Java 2nd Edition by Joshua Bloch tells you exactly how to use the Java language to write good and understandable to other programs. This is a collection of practical tips and templates that should be in the repertoire of every Java programmer. In the second edition of his bestseller, Bloch talks about the effective use of all the features of the 5th version of Java. Even a programmer with many years of experience will discover something new in it and will certainly enjoy the systematization of all the basic knowledge about Java programming.

2. Java Concurrency in Practice by Brian Goetz et al (Must read if you want to write good multithreaded code) is necessary for everyone who writes multithreaded Java applications. It does not need to be read if you are writing simple applications and for business logic you use J2EE or other application frameworks that isolate the programmer from multithreading. However, as soon as you need to optimize the performance or speed of reaction of your application, then in the modern world you cannot escape from multithreading. In this case, the Goets book will be your best assistant.

3. Java Puzzlers: Traps, Pitfalls, and Corner Cases by Joshua Bloch, Neal Gafter is an interesting book that consists of intellectual puzzles exclusively in the Java language. It will reveal to you all the boundary cases of the Java language, teach you how not to program, so that your code is understandable. The book is not required to read, but is highly recommended for preparing for the SCJP and for your own pleasure.

Source: https://habr.com/ru/post/67763/


All Articles