Liquibase + JPA DDL autoupdate

It is obvious how things going to when there are some ddl changes in entity and in the same time some Liquibase executables need to be applied.

The order of exec:

  1. liquibase
  2. JPA

PS in my mind this is the best practice when schema managing with sql scripts: main script describes whole schema and patches containing all the changes. Liquibase is also good but it is hard to use together with

hibernate.hbm2ddl.auto=update
Liquibase + JPA DDL autoupdate

Выделение памяти для Java-приложений

Иногда нужно устанавливать не только максимальный размер хипа но и минимальный (стартовый).
Если выставить -Xms512M -Xmx1024 то это заставит GC работать в более агрессивном режиме, и в отсутствие активного выделения памяти размер хипа будет стремиться к стартовому значению.
Если выставить только -Xmx то размер занимаемой памяти программой будет постепенно увеличиваться, пока не достигнет указанного значения.
Есть подозрение, что jvm не проверяет наличие реально доступной памяти в системе, если написать слишком большое число, jvm в рамках этого числа будет просить у OS все большее пространство до тех пор, пока память не закончится, и при очередном невыполнимом запросе OS просто остановит jvm.
Таким образом, если просто выставить размер хипа очень большим, это не гарантирует бесперебойной работы программы.
Нужно подбирать параметры -Xmx и -Xms для каждого конкретного случая.

Выделение памяти для Java-приложений