Java Threads, 3rd Edition
by Scott Oaks; Henry Wong
Java Concurrency in Practice
by Brian Goetz; Tim Peierls; Joshua Bloch; Joseph Bowbeer; David Holmes; Doug Lea
Java™ I/O, 2nd Edition
by Elliotte Rusty Harold
Java NIO
by Ron Hitchens
Head First Java, 2nd Edition
by Kathy Sierra; Bert Bates
Head First Design Patterns
by Eric Freeman; Elisabeth Robson; Kathy Sierra; Bert Bates
Effective Java™, Second Edition
by Joshua Bloch
Java Concurrency in Practice
by Brian Goetz; Tim Peierls; Joshua Bloch; Joseph Bowbeer; David Holmes; Doug Lea
Core Java™, Volume I–Fundamentals, Eighth Edition
by Cay S. Horstmann; Gary Cornell
The new third edition of this highly regarded introduction to Java networking programming has been thoroughly revised to cover all of the 100+ significant updates to Java Developers Kit (JDK) 1.5. It is a clear, complete introduction to developing network programs (both applets and applications) using Java, covering everything from networking fundamentals to remote method invocation (RMI). Java Network Programming, 3rd Edition includes chapters on TCP and UDP sockets, multicasting protocol and content handlers, servlets, multithreaded network programming, I/O, HTML parsing and display, the Java Mail API, and the Java Secure Sockets Extension. There's also significant information on the New I/O API that was developed in large part because of the needs of network programmers. This invaluable book is a complete, single source guide to writing sophisticated network applications. Packed with useful examples, it is the essential resource for any serious Java developer.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 35 Ratings
Comprehensive reference (3rd Edition) - 2004-11-23
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
If you're doing anything with Java and Network I/O programming, the topic will most likely be covered in this book. The author does a great job describing not only how Java handles network programming, but the concepts and details of network programming in general. The book takes the core java.net classes and describes each method, what it does, how to use it, what to watch for, code examples, etc - it takes the API Javadoc and expands upon it.
It's a great Java Network API reference book.
An excellent and thorough treatment of networking in Java - 2007-01-12
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book begins with three chapters that outline how networks and network programs work. Chapter 1 is a gentle introduction to network programming in Java and explores some of the unique programs that become feasible when networking is combined with Java. Chapters 2 and 3 explain in detail what a programmer needs to know about how the Internet and the Web work. Chapter 2 describes the protocols that underlie the Internet, such as TCP/IP and UDP/IP. Chapter 3 describes the standards that underlie the Web, such as HTTP, HTML, and REST.
The next two chapters discuss two parts of Java programming that are critical to almost all network programs but are often misunderstood and misused - I/O and threading. Chapter 4 explores Java's classic I/O models which, despite the new I/O APIs, are still the preferred means of handling I/O in most client applications. Understanding how Java handles I/O in the general case is a prerequisite for understanding the special case of how Java handles network I/O. Chapter 5, explores multithreading and synchronization, with a special emphasis on how they can be used for asynchronous I/O and network servers. Chapter 6 shows how Java programs interact with the domain name system through the InetAddress class, the one class that's needed by essentially all network programs.
Chapter 7 explores Java's URL class, which enables you to connect to and download files and documents from a network server without concerning yourself with the details of the server's protocol. It lets you connect to an FTP server using the same code you use to talk to an HTTP server or to read a file on the local hard disk. Chapter 8 introduces some little known classes for parsing and rendering HTML documents that make this task easy.
Chapters 9 through 11 discuss Java's low-level socket classes for network access. Chapter 9 introduces the Java sockets API and the Socket class in particular. It shows how to write network clients that interact with TCP servers of all kinds including whois and HTTP. Chapter 10 shows how to use the ServerSocket class to write servers for these and other protocols in Java. Chapter 11 shows how to protect your client server communications using the Secure Sockets Layer (SSL) and the Java Secure Sockets Extension (JSSE).
Chapter 12 covers the I/O APIs that were introduced in Java 1.4. These APIs were specifically designed for network servers. They enable a program to figure out whether a connection is ready before it tries to read from or write to the socket. This allows a single thread to manage many different connections simultaneously, thereby placing much less load on the virtual machine. These APIs primarily provide huge performance boosts for high volume servers. Chapter 13 introduces the User Datagram Protocol (UDP) and the associated DatagramPacket and DatagramSocket classes, and Chapter 14 shows how to use UDP to communicate with multiple hosts simultaneously.
Chapters 15 through 17 look more deeply at the infrastructure supporting the URL class. These chapters introduce protocol and content handlers, concepts unique to Java that make it possible to write dynamically extensible software that automatically understands new protocols and media types. Chapter 15 describes the class that serves as the engine for the URL class of Chapter 7. It shows how to take advantage of this class through its public API. Chapter 16 also focuses on the URLConnection class, but from a different direction; it shows how to subclass this class to create handlers for new protocols and URLs. Finally, Chapter 17 explores Java's mechanism for supporting new media types.
Chapter 18 introduces RMI, which enables distributed Java applications to run across multiple heterogeneous systems simultaneously, while communicating with straightforward method calls just like a nondistributed program. Chapter 19 discusses JavaMail, which is an alternative to low-level sockets for talking to SMTP, POP, IMAP, and other email servers.
This book assumes you are an experienced Java programmer. Thus, you should be comfortable with basic AWT and Swing programming, since some of the code examples use these APIs. It is assumed that you know the basics of computer networking - how to use the Internet, what a URL is, how to FTP files, and write simple HTML. However, it assumes no prior experience with network programming. I found the book to be complete and in-depth. The code examples are plentiful, non-trivial, and well commented. I would recommend it not only as a tutorial in Java network programming but as a reference for someone who already knows the subject.
Excellent Book - 2005-08-15
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book is certainly a good reference book for me when I need to know about network programming using Java. As you all know, Java Network Programming is a vast subject, on which a single book can make no justice of. But Elliotte has tried and he is successful with this book.
I liked his treatment of Multicasting, NIO, Threads and reaped a lot of benefit reading these chapters. I particularly liked his treatment of NIOs.
Elliotte is an educator and his books on XML have been fantastic. As a teacher, I am sure he knows how to write books.
This book caters to beginners and intermediate programmers who want a good reference book on Java N/W programming. The expert programmers can always read the Javadocs on the Sun website and other generic network books.
Anil Saldhana,
Chicago Java Users Group.
Good reference, mediocre otherwise. - 2007-11-12
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I've noticed that most reviews (both positive and negative) are a bit out-dated, referring to older editions. This review is about the latest (third) edition, which is also somewhat outdated (2004).
My biggest complaint is that the book is basically a glorified API with some very boring examples. Each chapter explains the methods and constructors of a certain class then throws them together in a sample program.
In my opinion, the book should have included more ideas and concepts and logic used in networking. It doesn't really discuss how networking relates to most of the things any given programmer would like to do. The book's cover and description leads you to believe otherwise, to believe it's more than a strict reference. Unfortunately, it isn't.
Another complaint is that the book is a terribly dry read and almost completely devoid of illustrations. This makes things terribly confusing when discussing things that might be new to you such as sockets.
It's not a bad book overall, it's just bad at some things. Admittedly, a great desk reference, and no one can deny that the API docs can be cryptic at times.
Bottom Line:
Good reference, mediocre instruction. Nice to have but might not be enough.
good reference - 2006-03-25
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I bought it to prepare my class
It was a good reference to me
Top Level Categories:
Internet/Online
Networking
Programming
Sub-Categories:
Internet/Online > Java
Networking > Solaris
Programming > Java
Some information on this page was provided using data from Amazon.com®. View at Amazon >