Size: a a a

2020 December 02

N

Nick in learn.java
Tagir
public class Service {
   private Map<Object, Object> map;

   public Service(Map<Object, Object> map) {
       this.map = map;
   }

   public void saveOnDiskAndClear() {
       Map<Object, Object> myMap;
       synchronized (this) {
           myMap = map;
           map = new HashMap<>();
       }
       // код сохранения в файл
   }

   public synchronized void updateCache(Object k, Object v) {
       map.put(k, v);
   }
}
что делаем в случае краша на сохранении?
источник

MB

M Botyuk in learn.java
Задача: входящий json разобрать на пары ключ-значение. Json может содержать в себе массивы и содержание json может меняться. Какой библиотекой и методом/ми лучше решить эту задачу? Спасибо
источник

N

Nick in learn.java
в изначальной постанове очистка идет после сохранения
источник

T

Tagir in learn.java
Nick
что делаем в случае краша на сохранении?
Что хочешь, то и делай - вариантов много. Изначальный вариант вряд ли вообще правильно будет работать и в любом случае постановку задачи приходится додумывать, потому что она совсем не полна. Если ты додумал её так, что обработка крэшей важна, то сам и додумай решение этого вопроса =)
источник

N

Nick in learn.java
Tagir
Что хочешь, то и делай - вариантов много. Изначальный вариант вряд ли вообще правильно будет работать и в любом случае постановку задачи приходится додумывать, потому что она совсем не полна. Если ты додумал её так, что обработка крэшей важна, то сам и додумай решение этого вопроса =)
спасибо за ответ))
источник

N

Nick in learn.java
просто был опыт плюс минус похожего действа, прям флешбеки
источник

T

Tagir in learn.java
Ну самое правильное - кинуть исключение, потому что решать это проблему надо не на данном уровне
источник

N

Nick in learn.java
тут больше рпедостережение топикстартеру, что такое решение имеет проблему с потерей данных, если не обработать
источник

T

Tagir in learn.java
Можно, конечно, добавить рековери - ещё одну секцию синхронизации и в ней влить новую мэпку в старую (тут возникает другой вопрос - что делать в случае совпадения ключей, в постановке задачи про это ничего, и я додумываю, что эта ситуация невозможна). Но если, к примеру, кончилось место на диске и сохранение не будет успешно вообще никогда, то такое рековери бессмысленно. Надо пользователю сказать
источник

АМ

Алексей Маринченко... in learn.java
Java или Kotlin?
Только не баньте)
источник

T

Tagir in learn.java
Любая запись на диск чревата тем, что может окончиться ошибкой
источник

T

Tagir in learn.java
Алексей Маринченко
Java или Kotlin?
Только не баньте)
источник

АМ

Алексей Маринченко... in learn.java
Ай донт спик как его там
источник

GV

Gukov Viktor in learn.java
Алексей Маринченко
Java или Kotlin?
Только не баньте)
Котлин отличный язык чтобы писать градл файлы
источник

АМ

Алексей Маринченко... in learn.java
Gukov Viktor
Котлин отличный язык чтобы писать градл файлы
👎
источник

GV

Gukov Viktor in learn.java
Для всего остального есть Scala
источник

V

Vadim in learn.java
Чего нет в Котлине, что есть в Джаве?)
источник

T

Tagir in learn.java
Алексей Маринченко
Java или Kotlin?
Только не баньте)
Сказал человек с логотипом Python на юзерпике...
источник

GV

Gukov Viktor in learn.java
Vadim
Чего нет в Котлине, что есть в Джаве?)
тернарного оператора
источник

GV

Gukov Viktor in learn.java
источник