Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Java Prepared Statement - concurrency and performance

Re: Java Prepared Statement - concurrency and performance

From: Thomas Kyte <tkyte_at_us.oracle.com>
Date: Tue, 14 Dec 1999 08:14:26 -0500
Message-ID: <hdgc5sg9sodlotpmf6489mrla5fr631ir5@4ax.com>


A copy of this was sent to nmp93_at_my-deja.com (if that email address didn't require changing) On Tue, 14 Dec 1999 09:36:26 GMT, you wrote:

>
>
>I said:
>
>According to the Oracle documentation, "...any public static Java
>method can run in the RDBMS as a stored procedure..."
>
>Please correct me if I'm wrong, but doesn't this raise a whole host
>of concurrency issues. If the method is static, Oracle's JVM will use
>the 'same' method for all calls made upon a given stored procedure. In
>a multi-client system there would be the possibility of muddled results
>- or am I missing the point? Why doesn't the Oracle JVM execute each
>stored procedure as a separate object instance/thread???
>
>You said:
>
>each session gets it own virtual jvm -- their is an instance of each
>static class for each session that uses it.
>
>I wonder!?:
>
>Surely, if the method has to be static, that would imply the the Oracle
>JVM is not creating multiple instances of your class/Stored Procedure
>to deal with the numerous calls on it. Your explanation is that each
>stored procedure is running inside its own JVM. I can see how this
>would work, but the memory/performance overheads could be quite
>significant. The footprint for a JVM isn't that big, but each JVM has
>to load a whole host of classes to get going. I wouldn't like to see a
>server with 20 JVMs running on it ( plus Oracle, plus other stuff ) let
>alone a 1000.
>
>

I said:

each session gets its own VIRTUAL jvm -- virtually, as far as each session is concerned, they each get their OWN jvm but in reality, there is lots and lots of sharing going on. Logically many jvm's running, physically -- one big jvm with lots of sub-vm's sharing stuff.

Same technology we use with PL/SQL to share code and resources.

See http://www.oracle.com/java/scalability/ and then read the 'test results' to get more info on this technique.

>Many thanks, I eagerly await your reply!
>
>
>Sent via Deja.com http://www.deja.com/
>Before you buy.

--
See http://osi.oracle.com/~tkyte/ for my columns 'Digging-in to Oracle8i'... Current article is "Part I of V, Autonomous Transactions" updated June 21'st  

Thomas Kyte                   tkyte_at_us.oracle.com
Oracle Service Industries     Reston, VA   USA

Opinions are mine and do not necessarily reflect those of Oracle Corporation Received on Tue Dec 14 1999 - 07:14:26 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US