Сервлеты не являются потокобезопасными. Поэтому, если я использую статическую функцию класса, что произойдет, когда несколько запросов придут одновременно. Как они справятся со статической функцией?Использование статических классов в сервлетах
ответ
Вам потребуется синхронизировать его при доступе к совместно используемым изменяемым данным. Если данные являются неизменяемыми или доступными только для чтения или в стеке, вы должны быть в порядке.
Это зависит от того, какой у вас статический метод, является ли он без гражданства или нет. Если он не имеет статуса и не ссылается на что-либо вне области вашего метода, он будет потокобезопасным.
Если я использую base64 в java, у него есть статический метод encodeBase64 (byte []). Если я напрямую получаю доступ к этой функции, используя имя cass, не возникнет ли проблема? Зачем? – Ashwin
Я спрашиваю об этом, потому что статическая функция является общей для всех объектов класса. Таким образом, будет только одна копия. – Ashwin
, если вы используете статический метод в сервлетах вам нужно, чтобы сделать их поточно с помощью Использование только локальные переменные, когда состояние переменной может изменяться или использовать статическую переменную, если они не изменить или использовать синхронизацию метод доступа
и вы можете безопасно выполнять потоки функций, реализуя интерфейс SingleThreadModle или конструкцию «synchronize».
- 1. Использование статических переменных в сервлетах Java (например, в AppEngine)
- 2. Использование beans в сервлетах
- 3. Использование аннотаций классов или статических свойств
- 4. Константы в статических классов
- 5. Расширение статических классов PHP
- 6. Проблема статических классов PHP
- 7. TypeAttribute для статических классов
- 8. Альтернатива библиотекам статических классов
- 9. Укладка статических классов в PHP
- 10. Используется для статических родовых классов?
- 11. Достаточно ли закончить использование в основном статических классов?
- 12. Использование статических классов для глобальных объектов в C#
- 13. Использование двух статических классов с таким же именем в C#
- 14. Использование сокетов TCP в сервлетах JBos
- 15. Использование статических методов и статических классов в веб-приложениях - Следует ли его избегать?
- 16. Ошибка стоксового потока в переопределении статических методов статических внутренних классов
- 17. C# имитируемый полиморфизм статических классов?
- 18. Наилучшая практика переопределения статических классов
- 19. Карта статических классов с AutoMapper
- 20. Использование абстрактных классов и статических элементов для лучшей функциональности управления
- 21. Использование статических классов для представления различных форм валюты
- 22. Запрограммированные классы против статических классов?
- 23. Как показать использование статических методов Диаграмма классов UML
- 24. Использование свободно шаблон строитель без внутренних статических классов для процесса
- 25. Модели в сервлетах/MVC
- 26. вызов статических методов из других классов
- 27. Объявление статических классов в заголовке C++
- 28. Имя класса в статических методах абстрактных классов
- 29. защищенные целые числа в статических классов
- 30. Моделирование переменных статических классов в UML
Если я использую base64 в java, у него есть статический метод encodeBase64 (byte []). Если я напрямую получаю доступ к этой функции, используя имя cass, не будет проблемы – Ashwin
Я спрашиваю об этом, потому что статическая функция является общей для всех объектов класса. Таким образом, будет только одна копия. – Ashwin
Вам всегда нужно защищать общие, изменяемые данные - статические или нет. – duffymo