Consider the possible role of Java as a language for
High Performance Computing. After discussing reasons why Java
may be a natural candidate for a portable parallel programming
language, we describe several case studies.
These cover Java socket programming, message-passing through
a Java interface to MPI, and class libraries for data-parallel
programming in Java.