For java, http://drdobbs.com/article/print?articleId=219401061&dept_url=/java/
Parallelism and Concurrency
When speaking about garbage collection algorithms, parallelism describes the collector's ability to perform its work across multiple threads of execution. Concurrency describes its ability to do work while application threads are still running. Hence, a collector can be parallel but not concurrent, concurrent but not parallel, or both parallel and concurrent.
The Java parallel collector (the default) is parallel but not concurrent as it pauses application threads to do its work. The CMS collector is parallel and partially concurrent as it pauses application threads at many points (but not all) to do its work. The G1 collector is fully parallel and mostly concurrent, meaning that it does pause applications threads momentarily, but only during certain phases of collection. For more information on garbage collection, and common algorithms used, read my latest book entitled Real-Time Java Programming with Java RTS, available from Pearson Publishing.
—EJB
https://blogs.oracle.com/yuanlin/entry/concurrency_vs_parallelism_concurrent_programming
http://www.quora.com/What-is-the-exact-difference-between-parallel-and-concurrent-programming