Skip to main content
Legend
September 12, 2013
Answered

CF10 with Java 8

  • September 12, 2013
  • 1 reply
  • 5321 views

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.


    This topic has been closed for replies.
    Correct answer carl type3

    I have been using CF11 with Java 8 in development environments.

    About ColdFusion > System Information  

    Server Product  ColdFusion 
    Version  11,0,0,289822 
    Tomcat Version  7.0.52.0 
    Adobe Driver Version  5.1.1 (Build 0001)   
    JVM Details 
    Java Version  1.8.0_11   
    Java Vendor  Oracle Corporation   
    Java Vendor URL  http://java.oracle.com/ 
    Java Home  C:\Program Files\Java\jdk1.8.0_11\jre  

    Regards, Carl.


    Thanks Adobe CF team; Java 8 support available:

    ColdFusion 10 support with Java 8 — Adobe ColdFusion Blog

    Regards, Carl.

    1 reply

    Legend
    February 3, 2014

    With Java 8 release pending next month I thought I would edit this post. When will CF10 be officially supported on Java 1.8? 

    Thanks, Carl.

    Inspiring
    August 18, 2014

    Just received an email from FusionReactor announcing support for Java 8.  Does anybody know the status of official CF10 support for Java 1.8 ?