I have been a java developer for long and yet there is one question that struck my mind today.
The java.sql.Connection is an interface. Agreed. There is a method named commit() which explicitly commits all transactions made(considering autocommit is false).
This commit() in the connection interface does not implement anything, I am very curious to know what happens when this commit() is called.
There is something called System Global Area(SGA) which is a shared random access memory (RAM) allocated by oracle to manage connection pooling, caching ,etc.
So, when we call the commit method of the connection interface, does any thing happen in the java pool in the sga I mentioned above.
This question may be trivial to many experts, but I am found searching for an answer. If anyone finding time , can you please answer this.
Connection is an interface,
but the class you get from your JDBC jars when you get a connection is (has the type of) a concrete Java class.
And you call the commit() method of that concrete Java class.
and then I have to admit that I know nothing whatsoever of the SGA
Thanks a lot for clarifying!!
so an object reference of type Connection interface will be type cast over the implementation class (Oracle connection)_plain old java principle
Cool!! Thanks. This was digging my mind since Friday ...