JavaSpaces servers provide a place on the network, a space, for clients to store and exchange objects. Sets of processes in a distributed system can coordinate their actions by flowing objects in and out of the space. Because these processes interact via the space they can be decoupled from each other. The basic {@link net.jini.space.JavaSpace} interface allows objects, called {@linkplain net.jini.core.entry entries} to be copied into, removed from, and/or non-destructively copied out of the space - optionally using {@linkplain net.jini.core.transaction Jini technology-based transactions}.

The basic `JavaSpace` interface is specified in the JavaSpaces Service Specification.

The {@link net.jini.space.JavaSpace05} interface extends the `JavaSpace` interface to provide methods that allow clients to perform batch operations on the space (which are generally more efficient than performing an equivalent set of singleton operations) and to more easily develop applications where a given `Entry` needs to be read by multiple clients. Implementations of the `JavaSpace` interface are not required to implement this interface.

@see JavaSpaces Service Specification @see Jini Transaction Specification @see Jini Entry Specification @since 1.0