Externalization is the ability of an object to make its state mutable. Externalization is used in design patterns like Singleton, Factory and Prototype to implement the dependency inversion principle and the Interface Segregation Principle. Externalization is not a built-in feature of Java, but it is possible to add that feature to a class. Externalization is a process of converting an object into a character stream in Java. It is a mechanism that is used for storing objects in files in a binary format. It is used for storage of character data in files as a sequence of bytes. The data can be read in subsequent executions of the Java program.