Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I have gone through Head First Java and some other sites but I couldn't find complete stuff related to Threads and additional concurrency packages at one place.
Please suggest a book/website which covers complete Threads with more details like
Synchronize and locking of objects
More detailed about volatile
Visibility issues in Threads
java.util.concurrent package
java.util.concurrent.atomic package
The must-read book about concurrent programming in Java is Java Concurrency in Practice.
Also see Concurrency in Sun's Java Tutorials.
You might find the Java Concurrency Refcard a useful aid along with Java Concurrency in Practice.
Java Concurrency in Practice is great for coverage of the higher-level stuff in java.util.Concurrent, but if you want the authoritative answers on synchronized and volatile, you need to go to the source. No, not the source code, that would be insane. I mean the spec: Java Language Specification, Third Edition — Chapter 17: Threads and Locks
Or if you want it in book form: The Java™ Language Specification (3rd Edition)
Java Threads is another good one :)
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm comfing from the .net world, and want a book that goes over the 'right' way of coding.
Things like dependancy injection, loosely coupling of objects, how to layout your web application properly, unit-testing etc.
Google code reviewer's guide, a 38 page pdf which covers writing testable code, loose coupling and dependency injection. The presentations are also highly recommended.
Dependency Injection covers the theory of why you would use dependency injection, in addition to the technical details.
Three books that are language-agnostic, but are considered 'classics':
Desing Patterns (by GoF)
Code complete (by Steve McConnell)
Patterns of Enterprise Application Architecture (by Martin Fowler)
Important: don't read them like belles-lettres - read parts of them while practicing.
While it does not cover some of the things you mention, for me the book to learn Java the right way is definitely Effective Java, Second Edition.
(source: sun.com)
Bruce Eckel's Thinking in Java is a very good introduction into Java for people who already know another language, the PDF version is free for download.
Read a few books if you want, anything "agile", "spring", "TDD" will do, but to be real quick, get a job where they let you work together with a seasoned developer who does pair programming with you... and you will learn more quickly than you can even think about it...
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I saw this post :
https://stackoverflow.com/questions/441198/has-anyone-learned-how-to-program-in-21-days/441224#441224
and I'm not familiar with java APIs, which books do you think will really help me get familiar with those APIs?
Java in a Nutshell, David Flanagan
Java has lots of APIs! Which ones are you interested in becoming familiar with?
What's nice, though, is that Javadocs tend to make APIs easy to learn, by providing method signatures and short descriptions.
Many APIs also have more in-depth tutorials online that you can read. In many cases this can be easier / more accessible / cheaper than buying books.
I would start off with Java Collections, as they are used in most Java applications: http://java.sun.com/docs/books/tutorial/collections/index.html
Note that this is one of Sun's "Trail" tutorials, which are very helpful. Check out the others as well, for those libraries that you are interested in learning. Here is the main index: http://java.sun.com/docs/books/tutorial/index.html
Effective Java by Josh Bloch
You should really start at http://java.sun.com/docs/books/tutorial/index.html
These tutorials are well written, and will get you up to speed quickly. For all the details, go to the documentation at http://java.sun.com/javase/6/docs/api/
If you insist on a book, Thinking in Java by Eckel is not bad, though Eckel can be a bit longwinded and obtuse.
Java Cookbook contains examples to many API's
Then javadoc can be used to adapt to own requirements.
Java 7- complete reference This books not out yet but it might help a lot along with the java docs and all the additional material the others have mentioned.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm trying to get the best possible performance from my quad core cpus, and i just discovered Parallel Colt (matrix-related operations).
Do you know any other package that include useful "parallel" utils (es. spanning tree, sorting, so on...)
you might want to take a look here:
java.util.concurrent that came with Java 5
I know this isn't exactly an answer to your question, but you might be interested in Scala. I believe utilizing many cores is one of the goals of Scala.
It also runs on the JVM so it interacts with java, is blazingly fast and contains all the new wizzy language features you might expect in a new language (and then some).
I suggest a package called LeoTask: https://github.com/mleoking/leotask
It helps you conduct tasks and aggregate the results in parallel.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm currently designing a Java application where a Rule engine could be useful. Where is a good place I can learn about how to use them, how they work, how to implement them, see samples, etc.?
The Drools documentation includes a lot of useful, general purpose information. Especially chapter 2, which covers rule engine basics, knowledge representation, etc. It also includes a nice recommended reading list for coming up to speed on rule engines and expert systems.
For most rule engines, a basic understanding of the rete algorithm usually comes in handy for writing efficient rules. I have personally found the Doorenbos paper referenced in the Wikipedia article to be the clearest technical explanation.
Also, here is a list of open source rule engines in Java.
You might want to read "Should I use a Rules Engine?" from Martin Fowler's blog.
I have worked on a project where we built our own (very simple) rules engine, with the intention to move to a general rule engine when things got too complicated. Never reached that point though, the system has been running happily with the simple homegrown engine for several years now.
I found this site pretty helpful. Are you looking at building your own, or using a 3rd party library?
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 months ago.
Improve this question
I'e been programming Java forever, but have been away from it for a while. Can anyone recommend a really good Java reference, where "really good" is defined by "Good coverage of the language, detailed coverage of recent extensions, and written for the technical reader (not a "for Dummies" sort of book)"?
As well as references saying what has changed in the languages (which other answers already cover better than I could) I can't recommend highly enough the Second edition of Effective Java by Joshua Bloch - which explains the most effective ways of using the language.
For anything to do with concurrency, get Java Concurrency In Practice.
As well as helping you avoid most of the many nasty pitfalls awaiting you, it gives a very good treatment of the new java.util.concurrent API memebers for Java 5 and 6.
Bruce Eckel's Thinking in Java 4th Edition
i've always liked cay horstmann's books: http://www.horstmann.com/corejava.html. these are 8'th editions. and there is gosling's http://java.sun.com/docs/books/javaprog/. haven't seen anything for 1.6 yet.