> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cross-platform development in Java

> Develop cross-platform ABBYY FineReader Engine applications in Java using the com.abbyy.FREngine .jar wrapper across Windows and Linux with platform-specific loaders.

<Note>
  This topic applies to FRE for Linux and Windows.
</Note>

To effectively use all functionality provided and ensure developing the cross-platform applications, ABBYY FineReader Engine includes the [Java wrapper](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/using-in-java), which you can find in the [distributive package](/fine-reader/engine/distribution/distribution-windows/distribution-kit). This wrapper is suitable for any platform supported by ABBYY FineReader Engine and allows you to implement the ready-to-use Java classes intended for working with the Engine library. These Java classes can be used directly from Java applications. However, using Java wrapper has specifics for each platform, see the table below to learn about platform difference.

|                                                         | Windows                                                                                                                                                                                                                                                                       | Linux                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Wrapper files                                           | com.abbyy.FREngine-%BUILD\_ID%.jar                                                                                                                                                                                                                                            | com.abbyy.FREngine-%BUILD\_ID%.jar                                                                                                                                                                                                                                                                                             |
| Loading and unloading methods                           | [InitializeEngine](/fine-reader/engine/api-reference/functions/initializeengine-function) function and [COM loaders](/fine-reader/engine/api-reference/engine-loaders)/[DeinitializeEngine](/fine-reader/engine/api-reference/functions/deinitializeengine-function) function | [InitializeEngine](/fine-reader/engine/api-reference/functions/initializeengine-function) function/[DeinitializeEngine](/fine-reader/engine/api-reference/functions/deinitializeengine-function) function                                                                                                                      |
| Processing                                              | Supports both single-threaded and multi-threaded processes                                                                                                                                                                                                                    | Supports both single-threaded and multi-threaded processes                                                                                                                                                                                                                                                                     |
| Using in-process                                        | Use the [InprocLoader](/fine-reader/engine/api-reference/engine-loaders/inprocloader) object                                                                                                                                                                                  | Native JNI binding                                                                                                                                                                                                                                                                                                             |
| Using out-of-process                                    | Use the [OutprocLoader](/fine-reader/engine/api-reference/engine-loaders/outprocloader) object                                                                                                                                                                                | You must use com.abbyy.Outproc.FREngine-%BUILD\_ID%.jar instead of com.abbyy.FREngine-%BUILD\_ID%.jar (See details of using out-of-process implementation under Linux in [Out-of-Process Server Implementation](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/out-of-process-server-implementation)) |
| Using remote method invocation                          | No                                                                                                                                                                                                                                                                            | com.abbyy.rmi.FREngine-%BUILD\_ID%.jar<br />com.abbyy.rmi.server.FREngine-%BUILD\_ID%.jar (See details in [Using the RMI-capable wrapper](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/using-in-java/using-fre-in-java-in-linux#rmi-capablewrapper))                                                |
| [Code samples](/fine-reader/engine/guided-tour/samples) | Hello<br />EnginesPool                                                                                                                                                                                                                                                        | Hello<br />Outproc<br />MultiThreading<br />rmiWorker<br />rmiWorkerClient<br />rmiPoolServer<br />rmiPoolClient<br />threadPoolClient                                                                                                                                                                                         |

## See also

[Using ABBYY FineReader Engine in Java](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/using-in-java)
