Hello,
Has anyone else tried to use CF with Java 8 preview? If you have tried Java 8 preview have you noticed anything interesting?
Something to share. Java 8 uses memory differently to Java 7 or 6 (reminder Java 6 is EOL). The non heap memory Permanent generation has been done away with and is now consumed in a new memory space called Metaspace. I guess that will mean CF folks will not see the dreaded “java.lang.OutOfMemoryError: PermGen space” in coldfusion-out.log anymore.
For interested readers here is my CF10 Summary part:
Server Settings > Settings Summary
System Information
Server Product ColdFusion
Version ColdFusion 10,284825
Operating System Windows 7
OS Version 6.1
Update Level /C:/ColdFusion10/cfusion/lib/updates/chf10000010.jar
Adobe Driver Version 4.1 (Build 0001)
JVM Details
Java Version 1.8.0-ea
Java Vendor Oracle Corporation
Java Vendor URL http://java.oracle.com/
Java Home C:\Program Files\Java\jdk1.8.0\jre
Java File Encoding Cp1252
Java Default Locale en_AU
User Dir C:\ColdFusion10\cfusion\bin
Java VM Specification Version 1.8
Java VM Specification Vendor Oracle Corporation
Java VM Specification Name Java Virtual Machine Specification
Java VM Version 25.0-b48
Java VM Vendor Oracle Corporation
Java VM Name Java HotSpot(TM) Server VM
Java Specification Version 1.8
Java Specification Vendor Oracle Corporation
Java Specification Name Java Platform API Specification
Java Class Version 52.0
For those more curious about Java memory heap, non heap spaces and garbage collection here is a portion of CF10 verbose Java 8 log:
{Heap before GC invocations=25 (full 11):
PSYoungGen total 116736K, used 58624K [0x25840000, 0x30300000, 0x30300000)
eden space 58624K, 100% used [0x25840000,0x29180000,0x29180000)
from space 58112K, 0% used [0x2ca40000,0x2ca40000,0x30300000)
to space 58112K, 0% used [0x29180000,0x29180000,0x2ca40000)
ParOldGen total 349440K, used 349401K [0x10300000, 0x25840000, 0x25840000)
object space 349440K, 99% used [0x10300000,0x258364e0,0x25840000)
Metaspace total 39432K, used 38121K, reserved 11104K
data space 39432K, used 38121K, reserved 11104K
545.052: [Full GC (Ergonomics) [PSYoungGen: 58624K->0K(116736K)] [ParOldGen: 349401K->38999K(276992K)] 408025K->38999K(393728K), [Metaspace: 38121K->38111K(11104K)], 0.2856262 secs] [Times: user=0.45 sys=0.00, real=0.29 secs]
Heap after GC invocations=25 (full 11):
PSYoungGen total 116736K, used 0K [0x25840000, 0x30300000, 0x30300000)
eden space 58624K, 0% used [0x25840000,0x25840000,0x29180000)
from space 58112K, 0% used [0x2ca40000,0x2ca40000,0x30300000)
to space 58112K, 0% used [0x29180000,0x29180000,0x2ca40000)
ParOldGen total 276992K, used 38999K [0x10300000, 0x21180000, 0x25840000)
object space 276992K, 14% used [0x10300000,0x12915c00,0x21180000)
Metaspace total 39418K, used 38111K, reserved 11104K
data space 39418K, used 38111K, reserved 11104K
}
To have something to compare switching CF10 back to Java 7 with no other JVM alterations verbose log portion for similar usage says:
{Heap before GC invocations=24 (full 9):
PSYoungGen total 116480K, used 65026K [0x1d360000, 0x27e00000, 0x27e00000)
eden space 58240K, 100% used [0x1d360000,0x20c40000,0x20c40000)
from space 58240K, 11% used [0x24520000,0x24bc09b8,0x27e00000)
to space 58240K, 0% used [0x20c40000,0x20c40000,0x24520000)
PSOldGen total 205184K, used 35647K [0x07e00000, 0x14660000, 0x1d360000)
object space 205184K, 17% used [0x07e00000,0x0a0cfc90,0x14660000)
PSPermGen total 58880K, used 45819K [0x03e00000, 0x07780000, 0x07e00000)
object space 58880K, 77% used [0x03e00000,0x06abec70,0x07780000)
530.568: [GC [PSYoungGen: 65026K->5223K(116480K)] 100673K->45573K(321664K), 0.0220773 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]
Heap after GC invocations=24 (full 9):
PSYoungGen total 116480K, used 5223K [0x1d360000, 0x27e00000, 0x27e00000)
eden space 58240K, 0% used [0x1d360000,0x1d360000,0x20c40000)
from space 58240K, 8% used [0x20c40000,0x21159d78,0x24520000)
to space 58240K, 0% used [0x24520000,0x24520000,0x27e00000)
PSOldGen total 205184K, used 40350K [0x07e00000, 0x14660000, 0x1d360000)
object space 205184K, 19% used [0x07e00000,0x0a567a60,0x14660000)
PSPermGen total 58880K, used 45819K [0x03e00000, 0x07780000, 0x07e00000)
object space 58880K, 77% used [0x03e00000,0x06abec70,0x07780000)
}
I should add Java 8 is preview and not officially support by Adobe CF so do not install it on your CF production or any environment that you rely on.
Java 8 release is expected March 2014. That might seem a long way off but like the previous Java 7 release can creep up on you rather quickly.
Regards, Carl.