java.rmi (Java Platform SE 8 )
Keywords: java.rmi package
Date: 2026-03-29

compact3

# Package java.rmi

Provides the RMI package.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Remote | The `Remote` interface serves to identify interfaces whose methods may be invoked from a non-local virtual machine.

- Class Summary
  Class | Description
  --- | ---
  MarshalledObject<T> | A `MarshalledObject` contains a byte stream with the serialized representation of an object given to its constructor.
  Naming | The `Naming` class provides methods for storing and obtaining references to remote objects in a remote object registry.
  RMISecurityManager | Deprecated Use `SecurityManager` instead.

- Exception Summary
  Exception | Description
  --- | ---
  AccessException | An `AccessException` is thrown by certain methods of the `java.rmi.Naming` class (specifically `bind`, `rebind`, and `unbind`) and methods of the `java.rmi.activation.ActivationSystem` interface to indicate that the caller does not have permission to perform the action requested by the method call.
  AlreadyBoundException | An `AlreadyBoundException` is thrown if an attempt is made to bind an object in the registry to a name that already has an associated binding.
  ConnectException | A `ConnectException` is thrown if a connection is refused to the remote host for a remote method call.
  ConnectIOException | A `ConnectIOException` is thrown if an `IOException` occurs while making a connection to the remote host for a remote method call.
  MarshalException | A `MarshalException` is thrown if a `java.io.IOException` occurs while marshalling the remote call header, arguments or return value for a remote method call.
  NoSuchObjectException | A `NoSuchObjectException` is thrown if an attempt is made to invoke a method on an object that no longer exists in the remote virtual machine.
  NotBoundException | A `NotBoundException` is thrown if an attempt is made to lookup or unbind in the registry a name that has no associated binding.
  RemoteException | A `RemoteException` is the common superclass for a number of communication-related exceptions that may occur during the execution of a remote method call.
  RMISecurityException | Deprecated Use `SecurityException` instead.
  ServerError | A `ServerError` is thrown as a result of a remote method invocation when an `Error` is thrown while processing the invocation on the server, either while unmarshalling the arguments, executing the remote method itself, or marshalling the return value.
  ServerException | A `ServerException` is thrown as a result of a remote method invocation when a `RemoteException` is thrown while processing the invocation on the server, either while unmarshalling the arguments or executing the remote method itself.
  ServerRuntimeException | Deprecated no replacement
  StubNotFoundException | A `StubNotFoundException` is thrown if a valid stub class could not be found for a remote object when it is exported.
  UnexpectedException | An `UnexpectedException` is thrown if the client of a remote method call receives, as a result of the call, a checked exception that is not among the checked exception types declared in the `throws` clause of the method in the remote interface.
  UnknownHostException | An `UnknownHostException` is thrown if a `java.net.UnknownHostException` occurs while creating a connection to the remote host for a remote method call.
  UnmarshalException | An `UnmarshalException` can be thrown while unmarshalling the parameters or results of a remote method call if any of the following conditions occur: if an exception occurs while unmarshalling the call header if the protocol for the return value is invalid if a `java.io.IOException` occurs unmarshalling parameters (on the server side) or the return value (on the client side).

## Package java.rmi Description

Provides the RMI package. RMI is Remote Method Invocation. It is a mechanism that enables an object on one Java virtual machine to invoke methods on an object in another Java virtual machine. Any object that can be invoked this way must implement the Remote interface. When such an object is invoked, its arguments are ``marshalled'' and sent from the local virtual machine to the remote one, where the arguments are ``unmarshalled.'' When the method terminates, the results are marshalled from the remote machine and sent to the caller's virtual machine. If the method invocation results in an exception being thrown, the exception is indicated to caller.

Since:
  JDK1.1

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.