If you use the Loader.load method to load a new scene you will get multiple instances of all of the controllers.
For example in the FXML-LoginDemo Application from http://www.oracle.com/technetwork/java/javafx/downloads/devpreview-1429449.html#sb (Attached) there is a method in the Main class called replaceSceneContent. If you monitor this application with JVisualVM and login multiple times you will see the number of instances of each controller increase each time.
I believe the old instances of the controllers will no longer be accessible yet also they wont be garbage collected.
For example in the FXML-LoginDemo Application from http://www.oracle.com/technetwork/java/javafx/downloads/devpreview-1429449.html#sb (Attached) there is a method in the Main class called replaceSceneContent. If you monitor this application with JVisualVM and login multiple times you will see the number of instances of each controller increase each time.
I believe the old instances of the controllers will no longer be accessible yet also they wont be garbage collected.