Improve Oracle JDeveloper 12c Performance

To improve Oracle JDeveloper 12c IDE performance, 2 configuration files require modification:

Increase Heap size - ide.conf

1. Go to JDeveloper installation directory e.g. C:\Oracle\Middleware\jdeveloper\

2. Open the file \ide\bin\ide.conf

3. Scroll down and find the following memory entries:

# If you are getting the 'Low Memory Warning' Message Dialog while running
# JDeveloper, please increase the -Xmx value below from the default 800M to
# something greater, like 1024M or 1250M.  If after increasing the value,
# JDeveloper is no longer starting up because it fails to create a virtual
# machine, then please reduce the modified -Xmx value, or use a 64bit JDK
# which allows for very very large value for -Xmx.
AddVMOption  -Xms128M
AddVMOption  -Xmx768M

4. Change the memory parameters to something larger and save file:

AddVMOption  -Xms1024M
AddVMOption  -Xmx1024M

Other config changes - jdev.conf

5. Go to JDeveloper installation directory e.g. C:\Oracle\Middleware\jdeveloper\

6. Open the file \jdev\bin\jdev.conf

7. Add the following new entries at the bottom and save file:

# Added from
# optimize the JVM for strings / text editing
AddVMOption -XX:+UseStringCache
AddVMOption -XX:+OptimizeStringConcat
AddVMOption -XX:+UseCompressedStrings

# if on a 64-bit system, but using less than 32 GB RAM, this reduces object pointer memory size
AddVMOption -XX:+UseCompressedOops

# use an aggressive garbage collector (constant small collections)
AddVMOption -XX:+AggressiveOpts

# for multi-core machines, use multiple threads to create objects and reduce pause times
AddVMOption -XX:+UseConcMarkSweepGC
AddVMOption -DVFS_ENABLE=true
AddVMOption -Dsun.java2d.ddoffscreen=false
AddVMOption -XX:+UseParNewGC
AddVMOption -XX:+CMSIncrementalMode
AddVMOption -XX:+CMSIncrementalPacing
AddVMOption -XX:CMSIncrementalDutyCycleMin=0

7.  Start JDeveloper. If there are issues starting it, then reduce the memory settings in Step 4 to something slightly less and retry.

Credits: The above configurations have been obtained via other blog posters on the internet mainly from here. I have collated the information in one and is something I can personally refer to as well.