Я использую Java для отображения огромного графика. У меня есть персонализированный объект класса, который имеет эту карту, он состоит из нескольких hasmaps и вызывает другие персонализированные классы, которые также сделаны из объектов varios.
Моя проблема в том, что каждый раз, когда я запускаю это для выполнения тестов, требуется около 5 минут, чтобы отобразить все, а затем для каждого узла может потребоваться от 1 до 10 минут, чтобы выполнить некоторые вычисления. И каждый раз, когда мне нужно что-то исправить в коде, мне приходится проходить через это время ожидания.
Так что мои вопросы
есть ли способ сохранить основной класс объектов (который состоит из нескольких примитивных и не примитивных объектов) в виде двоичного файла, который я могу сохранить один раз и читать с этого момента?
Как будет происходить разбор?
Я начал изучать FileOutputStream / ObjectOutputStream и FileInputStream / ObjectInputStream, но я не уверен, что правильно понял, являются ли они хорошими вариантами для этой ситуации.
Любые комментарии и советы будут оценены по достоинству.
ОБНОВЛЕНИЕ: я прилагаю код, который пытался использовать для сохранения объекта класса.
FileOutputStream fos = new FileOutputStream("tbox.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(tboxObject);
oos.flush();
oos.close();
Это для первого запуска, после чего я поменял код на:
FileInputStream fis = new FileInputStream("tbox.dat");
ObjectInputStream ois = new ObjectInputStream(fis);
tboxObject savedTboxObject = (tboxObject) ois.readObject();
Я добавлю, что это объекты, состоящие не только из целых чисел и строк, но и из хеш-карт, списков и массивов других, также сложных объектов.