Reflection in Oracle Java vs OpenJDK
After an update to Ubuntu Server 12.04 I saw slow performances of my web application.
In particolar I use Reflection to set value of object properies inside two "for" cicles.
One "for" cicle is for all properties of object and other "for" cicle is for al records retrived from a table.
You can show different performance with different Java Edition
- from START to START1:
executing sql query
- from START1 to END:
[...]
methods = contClass.getMethods(); for (Method method : methods) { for (MyClass obj : queryResult) { // use of reflection to set values } }[...]
atreeflow@atreeflow32:~$ java -version java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.4) (6b24-1.11.4-1ubuntu0.12.04.1) OpenJDK Client VM (build 20.0-b12, mixed mode, sharing) atreeflow@atreeflow32:~$ java -jar TestAtreeFLOW.jar 2012-09-07 15:08:35,328 INFO TestAtreeFLOW.testSalvaContatto():267 - START 2012-09-07 15:08:35,759 INFO TestAtreeFLOW.testSalvaContatto():294 - START1 2012-09-07 15:09:06,121 INFO TestAtreeFLOW.testSalvaContatto():349 - END
atreeflow@atreeflow32:~$ /usr/lib/jvm/jdk1.6.0_32/bin/java -version java version "1.6.0_32" Java(TM) SE Runtime Environment (build 1.6.0_32-b05) Java HotSpot(TM) Client VM (build 20.7-b02, mixed mode, sharing) atreeflow@atreeflow32:~$ /usr/lib/jvm/jdk1.6.0_32/bin/java -jar TestAtreeFLOW.jar 2012-09-07 15:09:43,471 INFO TestAtreeFLOW.testSalvaContatto():267 - START 2012-09-07 15:09:43,948 INFO TestAtreeFLOW.testSalvaContatto():294 - START1 2012-09-07 15:09:45,032 INFO TestAtreeFLOW.testSalvaContatto():349 - END
Commenti