From where I'm perched in the 21st century, it is difficult to fathom that once upon a time Java titles were in scarce supply. But such was the state back in the earliest days of Java when all to be had was a modicum of treasures published by a few Sun engineers such as "Hooked on Java" by Arthur Van Hoff et.al. and "The Java Handbook" by Patrick Naughton.
Those books certainly filled a void, but coming in at just three or four hundred pages each they necessarily made quantum assumptions about what you knew about programming and in particular about object oriented programming.
Then March of 1996 brought forth "Core Java" a 600 page single-volume treatise by Cay Horstmann and Gary Cornell that made no assumptions and taught the reader Java from the ground up, in a clear and readable style reminiscent of the early programming classics by Brian Kernighan and Patrick Henry Winston.
Fast-forward 17 years; Horstmann and Cornell have released Core Java (9th Edition). This is a two-volume tome weighing in at 974 pages for Volume I (Fundamentals) and 1128 for Volume II (Advanced Features). In it you will find everything you ever wanted to know about Java 7, the latest release of the Java Development Kit (JDK), including collections, generics, concurrency, and all of the Java embellishments introduced since the first edition of the JDK.
The writing style is as clear and readable as ever, and is replete with examples that are basic but not trivial. It is evident that a great deal of thought went into creating those examples, which are sufficiently detailed to provide a meaningful reference. The book is scattered with frequent "C++ Note" annotations that are intended to guide the C++ programmer on the corresponding Java idiom.
Volume I kicks off with a brief history of Java and the highest level requirements of the language designers (robust, portable, multithreaded, etc.) That is followed by a concise getting started guide including instructions for downloading and installing the Java programming environment including the JDK and the Eclipse IDE. There are some solid coding samples in this section so you can test your setup with some visual applets.
With all of the basics out of the way, the book breaks into a lucid discussion of object oriented (OO) programming. Programmers coming from a procedural background such as C generally find the transition to OO comes with a difficult learning curve. Core Java does a great job leveling that curve. The discussion starts simply with some basic UML, intuitive examples and a discussion of classes and objects in Java. It then segues nicely into the Java flavor of OO, including class files and constructors. The chapter closes with some "Class Design Hints"; a set of best practices for creating good, readable, and reusable code.
The next four chapters contain a 300 page development of graphics programming, including the major Swing components, fonts, working with colors, handling mouse and keyboard events, layout managers, applets, and strategies for deployment such as the browser, Java Web Start, and JAR files. I was disappointed that the book made no more than a mention of JavaFX, which is now built into the core Java libraries and functions as a Swing extension.
Returning from that colorful departure, the next chapter discusses exception handling, which transitions naturally into debugging tips, logging, and using a debugger. That is followed by a chapter on generics programming. Even hard-core Java programmers have trouble with that topic but the discussion was developed with lucid precision. The book also covers the new diamond notation introduced in Java 7 as part of "Project Coin". The book then segues into a discussion of Java Collections and Maps, including some algorithms, and a brief overview of some of the older Collections and Maps such as HashTable, Vector, and Enumeration.
The book concludes with a 108-page chapter on Multithreading from the ground up. The chapter starts with "What are Threads", continues with "Thread States" including a nifty state diagram, transitions through "Synchronization" and a discussion on race-conditions. That is followed by some discussion of the java.util.concurrent components introduced since Java 5. Then an introduction to Executors and thread pooling, "synchronizer" components, and an excellent discussion of the SwingWorker concept using threads to ensure the Swing UI remains springy and responsive.
I think it was a good decision to include the chapter on multithreading, which in previous editions was left to volume II. Concurrency is essential to all non-trivial Java code, and should not be thought of as an advanced feature. However I was sorry to see that the chapter on streams and readers, also a fundamental topic, was excised from volume I and will now appear in volume II when it is released in March.
Java has grown since it was first introduced back in 1995, not only in terms of expressiveness but also regarding the surrounding ecosystem. Core Java is long but thorough. It is easy to read and perfect for new programmers, programmers coming from other languages, and even advanced Java programmers who would like to keep a consistently clear reference on a variety of topics in core java close at hand.
This is the 9th edition of the two-volume comprehensive coverage of the Java language and its core libraries, updated for Java 7. Core Java has been in print since 1995 and has been translated into over 20 languages. Department of Computer Science
In the late 1980s the Hungarian interpreter Kat Lomb researched historical and contemporary polyglots in an effort to understand their linguistic achievements. Her resulting work, "Bbeli harmnia (Interjk Eurpa hres soknyelvű embereivel)," was published in Budapest in 1988. Her book was translated and edited by Adam Szegi and Scott Alkire ("Harmony of Babel: Profiles of Famous Polyglots of Europe") and published by TESL-EJ in September. Book design by Tani Mitsch. Department of Linguistics & Language Development
A ground-breaking survey of 45 self-taught Spanish artists and their monumental art environments, this book includes a CD with full photographic documentation, text descriptions, and site plans, altogether comprising over 1100 pages. Detailed case studies of the artists and their works--most of which have never before been fully documented, let alone published or exhibited--are contextualized with historical and theoretical references to art history, anthropology, architecture, Spanish area studies, and folklore. Department of Art & Art History
LinkedIn and 3rd parties use essential and non-essential cookies to provide, secure, analyze and improve our Services, and to show you relevant ads (including professional and job ads) on and off LinkedIn. Learn more in our Cookie Policy.
Hello guys, . if you want to learn core Java in 2024 and looking for best resources like online courses, books, and tutorials then you have come to the right place. Earlier, I have shared best Java courses and best spring framework courses, today, I am going to share best books you can read to learn Core Java.
Since Java is one of the most popular programming languages and very useful for getting a job as a Software developer, it has become a choice of programming language to start learning coding and application development, it makes sense to start well with core Java.
In this article, I have shared best books that will teach you how to code using the Java programming language. In the gone by era, when C and C++ ruled the academics and also the first language Engineers and Programmers used to learn how to code, we usually have some good recommendations to start with, like The C Programming Language by Dennis Ritchie himself.
The Head First Java book serves the same purpose for many years for Java programmers, but does it still relevant now? Particularly in the era of Java 21? Well, we'll find about that in this article shortly.
I also suggest you combine one of these books with an online course like Java 17 Masterclass: Start Coding in 2024, this works really great to not only understand important concepts quickly but also learn them in-depth and these days, online courses are also less costly than books.
These books will not only teach you fundamentals of Java programming language, but also many important classes from Java API, like String, Java Collection Framework, Thread, Java Executor Framework, Java IO, Java Networking, etc.
This list of books is also useful for anyone who has only learned Java in school and colleges or have a couple of experience in programming. These will help you to fill the gaps in your understanding of Java language, and it's rich API.
Whenever I mention Head First Java, the first question that comes to anyone's mind is whether this book was still relevant today or not, but that's not the case any more as the new version of book, Head First Java 3rd Edition, covers changes from Java 8 to Java 17.
Until last year, since the book was not updated for Java SE 8, it was clearly not the most up-to-date Java book for beginners, but when it comes to choosing books for beginners, the learning style plays an important role, and Head First books score big there.
Another thing, which works in favor of Head First Java is that Java fundamentals haven't been changed a lot in the last decade or two. So, once you build the fundamentals, you can always update yourself by reading any decent Java 8 books or joining a course like What's New in Java 8 on Pluralsight.
Even though the book was great it has got even better because the new version of Head First Java is available, which is quite-up-to-date. Trisha Gee has also joined Barry Bert's and Kathy sierra to make this the best Java book for beginners.
c80f0f1006