This is a simple download manager written in java. It downloads parts of a file in different threads and combines them later for efficient download.
It also allows you to pause/resume downloads. Similarly, downloads are persistence. The downloads are made persistent by serializing objects to disk. The main GUI is made by the JavaFX framework in the Observer/Observable model for easy extension.