Duda con PreparedStatement

Hola amigos, este es mi primer post, y soy novato en Java

Estoy haciendo un app como servidor de datos sobre Tomcat. Todo marchar bien, solo tengo una duda sobre PreparedStatement

Segun lei, cuando se crea un instantcia de el, el SQL ingresado se compila y esta disponible para su uso sin necesidad de volverlo a recompilar.

Mi duda es si esta disponible durante el ciclo de vida de lo que corre una sesión, o si usuario A se conecta y crea una consulta, y otro usuario B se conecta, tendra disponible esa instancia, sin necesidad de hacer una nueva? me refiero al código SQL compilado, no al resultSet de la consulta...

Espero haberme explicado bien, desde ya muchas gracias...

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

PreparedStatement

Un PreparedStatement vive dentro de una java.sql.Connection, de modo que se puede utilizar tantas veces como requieras mientras la conexión siga viva.

Sin embargo hay DataSources que manejan cache de sus PreparedStatements (o estrictamente hablando, de los PreparedStatements de sus conexiones) para poder reutilizarlos y optimizar un poco el desempeño.

Siguiendo con lo que mencionas, si el usuario A y el usuario B usan la misma conexión a la base de datos, es posible que reutilicen la instancia del preparedStatement, pero es muy improbable que ambos usuarios utilicen la misma conexión.

Gracias

Te agradezco por la respuesta... =)