Вот пример статического метода, который используется в веб-приложении. Как видите, String[] allergensArr создается каждый раз, когда вызывается этот метод. Он потокобезопасен, так как находится в статическом методе, но это дорогостоящий вызов.
Каковы другие способы использования allergensArr[] , чтобы он не создавался каждый раз при вызове метода.
Я рассматривал следующие варианты.
- Иметь статический конструктор, который инициализирует статическую конечную строку []
- Используйте синглтон (хотя это заблокирует многих людей)
Это будет постоянный массив, который не изменится в течение времени существования экземпляра сервера.
public class UserHealthConcernsManager { public static String[] getAllergensFlag () { String[] allergensArr = new String[12]; allergensArr[0] = "x"; allergensArr[1] = "y"; allergensArr[2] = "w"; _SNIP_ return allergensArr; } }