Is there a possibility in Spark to re-use a cached RDD in another application (or in another run of the same application)?
JavaRDD<ExampleClass> toCache = ... // transformations on the RDD
toCache.cache(); // can this be reused somehow in another application or further runs?
No, Spark RDD cannot be used in other application or in another run.
You can connect Spark with for example Hazelcast or Apache Ignite to save RDDs in memory. Other application will have possibility to read data saved in first application