A lot of software code has been written and will be written to manipulate data. We use classes to create, hold, and give structure to the data while it lives in the application memory. But sooner or later, the data should be stored somewhere in order for it to be read and processed at a later stage. Storage mediums include relational database managing systems (such as MySQL, Postgres, or Oracle), NoSQL solutions (such as Apache Cassandra or InfluxDb), even raw files—perhaps as part of a Hadoop filesystem, or messaging systems (such as Apache Kafka, Apache Pulsar, or RabbitMQ).
There are many ways to store the data, and the process of translating your runtime class instance information into an array of bytes (ultimately everything is represented on a computer as an array of bytes) is called serialization. Even the text of a JSON file while on disk is...