У меня есть метод getStudents для управляемого BackBean, я вызываю getstudents, который inturn делает вызов в базу данных и извлекает данные. Пользовательский интерфейс отображается правильно, но вызывает проблемы с производительностью, так как занимает слишком много времени для загрузки страницы. Пожалуйста, предложите мне, как справиться с этой проблемой производительности.Как повысить производительность при загрузке
1
A
ответ
3
Вы не должны делать бизнес-логику в методах getter. Вы должны инициализировать свой список в @PostConstruct
метод или сделать отложенную загрузку в поглотителе:
private List myList;
@PostConstruct
public void init() {
// init my List
}
// getter and setter
@PostConstruct
метод будет вызываться после того, как управляемый боб конкретизации. Я предлагаю вам инициализировать этот метод, а не конструктор. По мере того, как вы меняете свой список во время жизни бэкэнда, вы должны его обновить, когда он будет изменен. Вы можете добавить данные, которые были созданы пользователем, или вы можете снова позвонить в базу данных после вставки значений. Вы должны беспокоиться об этом, нет автоматизации.
Смежные вопросы
- 1. Как повысить производительность при загрузке моделей в three.js?
- 2. Как повысить производительность при загрузке страницы на мобильный?
- 3. Повысить производительность при вставке курсора?
- 4. Как повысить производительность запросов?
- 5. Как повысить производительность MongoDB
- 6. Как повысить производительность памяти?
- 7. Как повысить производительность .NET?
- 8. Gatling - как повысить производительность
- 9. javascript - как повысить производительность?
- 10. Как повысить производительность приложения
- 11. Как повысить производительность процедуры
- 12. Как повысить производительность запросов
- 13. Как повысить производительность jQuery
- 14. Как повысить производительность запроса при использовании подзапроса
- 15. Как повысить производительность рендеринга изображения?
- 16. Как повысить производительность чтения AeroSpark?
- 17. Как повысить производительность sql-запроса?
- 18. Как повысить производительность веб-службы WCF?
- 19. Как повысить производительность этого запроса?
- 20. Как повысить производительность скрипта поиска?
- 21. Как повысить производительность хранимой процедуры?
- 22. Как повысить производительность вызова API
- 23. Как повысить производительность этого скрипта?
- 24. SQL Server: как повысить производительность
- 25. Как повысить производительность хранения данных?
- 26. Как повысить производительность следующего кода?
- 27. Как повысить производительность одностраничного приложения?
- 28. Индексы MySQL - как повысить производительность?
- 29. Как повысить производительность этого запроса?
- 30. Как повысить производительность NLTK? альтернативы?
Сначала проверьте, выполняете ли вы только «запрошенные столбцы» или «выбирая целую таблицу», что даст вам ненужные данные, которые влияют на время загрузки страницы. Это только одна причина. На ваш код могут быть другие depennds – SRy
@ SrinivasR: Я вызываю только нужные столбцы. В моем случае я просто получаю идентификаторы учеников. Этот метод getstudent используется на разных страницах .., а мой внешний компонент - сеанс. Каждый раз, когда этот метод getter называется, он будет звонить в DB, который получает список студентов. – shreekanth
Может быть, у вас нет правильного представления о bean scopes. В конструкторе bean-компонента, обработанном сессией, вызывается только один раз. Если вы выполняете этот вызов базы данных в конструкторе, данные, которые в сеансе будут загружены. Это не вызовет метод снова – SRy