Я новичок в кодировании на стороне сервера и JSP/сервлетах. У меня есть код, который имеет 3 класса. 1-й — это класс Serv, унаследованный от java httpservlet. В этом у меня реализован метод doPost(). В doPost() я использую объект 2-го класса ResourceClass. ResourceClass — это одноэлементный класс. Следовательно, по существу, для использования любого метода нужно сделать что-то вроде ResourceClass.getInstance().readResource(); Теперь readResource furthur использует библиотеку доступа Java Native для чтения ресурса с диска. Теперь мой вопрос: поскольку, как я понимаю, если 1000 клиентов подключатся к моему серверу (Apache Tomcat) для каждого нового запроса, у меня будет новый сервлет, обслуживающий запрос. Но все эти сервлеты по существу будут использовать один и тот же объект singleton. Следовательно, это чтение будет потокобезопасным.
Я не меняю никакого внутреннего состояния. Поэтому я думаю, что это не повлияет на мой вывод, поэтому все это идемпотентно. Но будут ли все эти запросы поставлены в очередь, что сделает объект класса singleton узким местом. Или у каждого сервлета будет своя копия.
Также, если я изменю состояние ресурса, тогда в этом случае он будет потокобезопасным.