I'm generally not so happy with the wrox "Professional" series. The editing is minimal, and the author styles are varied, and mostly awkward. They tenI'm generally not so happy with the wrox "Professional" series. The editing is minimal, and the author styles are varied, and mostly awkward. They tend (and this one's an extreme example) to read more like extended slash-dot posturing than wisdom or guidance....more
Like all the O'Reilly Nutshell books, this is clear, helpful, and human. It's not a take-you-by-the-hand tutorial, but it's tutorial enough if you've Like all the O'Reilly Nutshell books, this is clear, helpful, and human. It's not a take-you-by-the-hand tutorial, but it's tutorial enough if you've already mastered a language or two, and it'll be well worth keeping on your shelf after you're trained and effective....more
Good treatment of a topic that, ideally, should be treated quickly yet well. Particularly handy as a basis for a team style standard ... "Vermeulen, bGood treatment of a topic that, ideally, should be treated quickly yet well. Particularly handy as a basis for a team style standard ... "Vermeulen, but with all open-braces on their own lines" or like that....more
This is a really crucial book for any Java developer. You may not realize you need it, but man oh man, you do![return][return]The Java culture and lanThis is a really crucial book for any Java developer. You may not realize you need it, but man oh man, you do![return][return]The Java culture and language development contain a trap: whereas it once was a commonplace that concurrent programming was too hard for "ordinary" developers, Java made it easy to do, and even in the beginning reasonably easy to do successfully.[return][return]Times have changed. Java programs used to run on uniprocessor machines (where "concurrency" is more an aspiration than a reality), and the Java virtual machine used to be relatively simple. Nowadays, even an inexpensive laptop has at least two cores, and can achieve real concurrency among half a dozen Java threads. The JVM has evolved aggressively to use this power, taking liberal advantage of feature always contained in the Java language specifications, but until now not necessary embodied in the JVM implementation. As a result, more and more, your programs do not mean what they appear to mean, and less and less are you free to presume they do.Fortunately, the principal and supporting authors here are the powerful minds behind the growth of the JVM's concurrency capabilities. And, a bit miraculously, these great minds, deeply embedded in this complex code, can and do explain its surprises and mastery in a way that should be accessible to any competent programmer. This is not "for Dummies" stuff, but it's also "not rocket science" (quite). You can handle this.[return][return]And, you must....more