Fork/Join is an enhancement to the
ExecutorService implementation that allows you to more easily break up processing to be executed concurrently, and recursively, with little effort on your part. It’s based on the work of Doug Lea, a thought leader on Java concurrency, at SUNY Oswego. Fork/Join deals with the threading hassles; you just indicate to the framework which portions of the work can be broken apart and handled recursively. It employs adivide and conquer algorithm that works like this in pseudocode (as taken from Doug Lea’s paper on the subject):
Ethan Nicholas :
I’m sure some of you are grumbling by now, as I’m talking about an API which is nearly a decade old and haven’t said anything which hasn’t been said before. While that’s certainly true, in my experience many Java programmers really don’t know very much (if anything) about weak references, and I felt that a refresher course was needed. Hopefully you at least learned a little something from this review.
A weak reference, simply put, is a reference that isn’t strong enough to force an object to remain in memory. Weak references allow you to leverage the garbage collector’s ability to determine reachability for you, so you don’t have to do it yourself.