A little about the application, which I will talk about in the next few lines:
XYZ is an RCP application for eclipse to mask data: you give it a column of the source table and a column of the target table, it will apply the transformation (encryption / shuffling / etc) and copy the row of data from the source table to the target table. Now, when I mask n tables at a time, n threads are started in this application.
Here is the problem:
I am having a problem releasing the first version from the above application. Unfortunately, I do not have magazines to get to the root. However, I tried to run this application in a test region and perform a stress test.
When I collected .hprof files and ran them through the analyzer (yourKit), I noticed that the oracle.jdbc.driver.T4CPreparedStatement objects kept a bunch. The analysis also tells me that one of my classes contains a reference to this prepared object object, and thus n threads have n such objects. The T4CPreparedStatement seemed to have arrays of characters: lastBoundChars and bindChars each of char size [300000].
So, I studied a little (google!), Got ojdbc6.jar and tried to decompile T4CPreparedStatement. I see that T4CPreparedStatement extends OraclePreparedStatement, which dynamically controls the size of lastBoundChars and bindChars.
So my questions are here:
- Have you ever encountered a problem like this?
- Do you know the value of lastBoundChars / bindChars?
- ,
, ? (
hprofs MAT -
- , ,
?)
- :
http://forums.oracle.com/forums/thread.jspa?messageID=2860681
/.