LATE EDIT: Начиная с Java 8, вы не должны использовать ни java.util.Date
, ни java.sql.Date
, если можете вообще избежать этого, и вместо этого предпочитаете использовать пакет java.time
(на основе Joda) а не что-либо другое. Если вы не на Java 8, вот исходный ответ:
java.sql.Date
- когда вы вызываете методы / конструкторы библиотек, которые его используют (например, JDBC). Не иначе. Вы не хотите вводить зависимости к библиотекам баз данных для приложений / модулей, которые явно не имеют отношения к JDBC.
java.util.Date
- при использовании библиотек, которые его используют. В противном случае, как можно меньше, по нескольким причинам:
Calendar
. Если вы чувствуете, что это слишком много, ввести новую зависимость, такую как Joda, long
s, не так уж плохо использовать для полей timestamp в объектах, хотя я сам обычно обертываю их в juD при их передаче, для безопасности типов и документации.
В моем случае я должен был проверить флаги в контейнере докера, который не сделал имел большинство основных утилит (PS, pstree...)
Используя jps
я получил PID выполнения JVM (в моем случае 1), и затем с jcmd 1 VM.flags
я получил флаги от рабочей JVM.
Это зависит, на каких командах Вы имеете в наличии, но это могло бы помочь кому-то.:)