Co-authored by the creator of the Java technology and an experienced object-oriented developer, The Java (TM)Programming Language, Second Edition, is the definitive resource for all serious Java programmers. This book will give you a solid foundation in Java programming language strategies and techniques. It features a concise introduction to the language; detailed descriptions of Java's commands, constructs, and libraries; and numerous real-world examples that show you how to exploit the language's power, portability, and flexibility. You will find in-depth and progressively advanced coverage of classes and objects, interfaces, exception-handling, threads and multitasking, and packages. In addition, the book describes the Java core library packages, including I/O, standard utilities, language types, and system classes. Thoroughly revised from start to finish, this second edition fully integrate, is the definitive resource for all serious Java programmers. This book will give you a solid foundation in Java programming language strategies and techniques. It features a concise introduction to the language; detailed descriptions of Java's commands, constructs, and libraries; and numerous real-world examples that show you how to exploit the language's power, portability, and flexibility.You will find in-depth and progressively advanced coverage of classes and objects, interfaces, exception-handling, threads and multitasking, and packages. In addition, the book describes the Java core library packages, including I/O, standard utilities, language types, and system classes.Thoroughly revised from start to finish, this second edition fully integrates Java 1.1 into both text and examples. This edition includes the changes introduced in Java 1.1, such as nested classes (including anonymous classes), threading issues, character-based streams, object-serialization, documentation comments, new utility classes, plus internationalization and localization.The book lets you in on the rationale behind Java's design, direct from the language's creator, as well as the tradeoffs involved in using specific features. With these insights, you will have the understanding you need to begin developing Java applications and applets.
Excellent books for anyone who: - would like to learn programming in Java; - already knows a programming language, ideally object-oriented one; - doesn't want to subscribe to the Church of Design Pattern.
There's AND not OR between above items :D Very straight to the point and descriptive way of explaining things, even if a bit on the verbose side. Good read.
Il est tentant de comparer ce livre aux ouvrages équivalents sur le C et le C++, chacun étant un "best seller" de la littérature informatique, voir un monument pour ce qui est du Kernighan & Ritchie. Par son abord du type "tutorial", cet ouvrage se rapproche plus justement du K&R, et c'est tant mieux car l'aspect pédagogique y gagne, les auteurs justifiant les choix du langage sur le plan de la conception (bien qu'ils en profitent pour défendre l'utilisation des accesseurs de façon éhontée). Les différents aspects du langage sont illustrés de façon heureuse par des extraits de code. Sur le plan du contenu, on remarquera un traitement plutôt superficiel des exceptions (les exceptions chaînées ne sont même pas traitées), tandis que les streams sont plutôt trop largement détaillés, plutôt à la façon d'un manuel de référence. De façon générale, on regrettera un manque de profondeur dans le traitement des différents aspects du langage, contrairement au "C++ Programming Language" de Bjarne Stroustrup. Par exemple la "wait set" n'est pas abordée dans le traitement de la classe Object. Ceci en fait probablement un excellent tutorial introductif au langage qu'un livre exhaustif sur celui-ci. Toutefois n'oublions pas qu'il existe le "JLS" pour cela. Egalement au chapitre des criques, un comportement trop "autarcique" des auteurs qui ne font même par référence au "Design Pattern" quand ils parlent du pattern "Observer", ou désignent le C et le C++ comme des "langages apparentés sans jamais les citer (!) et proposent des diagrammes de classes avec leur propre notation en ignorant complètement UML. Enfin, on se régalera des nombreuses et excellentes citations qui émaillent largement l'ouvrage, ainsi que des exemples Unicode qui nous donnent un aperçu de nombreux langages et de leur spécificité linguistiques, tels que le Russe, le Mandarin, le Tamoul, Le Croatien, le Géorgien et le Lituanien !