Існує різниця між "Найкращою практикою", тим, що багато людей роблять з поважних причин, та "Загальною практикою", тим, що багато хто робить, тому що вони ліниві та / або неосвічені.
Програми та (що ще гірше) сервери, які потрібно регулярно перезапускати або перезавантажувати, щоб продовжувати працювати, є досить поширеними. Але це також чітка ознака того, що у вас є критична помилка.
Здійснюючи SOP регулярно перезавантажувати програму, ваша компанія приховує серйозну помилку під килимом. Це невиправдано, клопа потрібно зіткнути і розім'яти, інакше він пізніше повернеться, щоб вкусити вас.
В ідеалі ваша компанія повинна знайти кращого розробника. На жаль, це може призвести до великої роботи, щоб переписати великі тракти вашого коду. Той факт, що розробник або вважає, що погано записаний код прийнятний, або недостатньо знає, щоб розпізнати симптоми помилкового коду, говорить про якість коду на низькому рівні. Хороший розробник буде конституційно нездатний залишити його в такому стані.
Зважаючи на те, що ви можете не в змозі замінити розробника, кілька пропозицій:
- Подивіться, чи можна краще розробнику переглянути код і повідомити про свою оцінку тому, хто щось може зробити,
- Погляньте на інструменти профілювання. Якщо у вас є навички та / або схильність, спробуйте самі профлігувати код, щоб знайти витік і повідомити про це.
Навіть не потрапляючи в інструменти для профілювання, орієнтовані на розробників, існує багато інструментів, орієнтованих на систематизм, для профілювання та моніторингу використання пам'яті в додатках Java. У будь-якому випадку вам слід налаштувати моніторинг пам'яті (особливо купи) на виробничих серверах. Я б рекомендував це, навіть якщо ви використовували код якості. Це може заздалегідь попередити, коли ваші програми-баггі збираються перевалитись.
Але ще краще, вони повинні допомогти вам зібрати докази того, що є витік, і навіть можуть вказати, де проблема в додатку. Це дасть вам кращі боєприпаси лобіювати його для фіксації.