Skip to main content

Java 8 Beta

1 reply [Last post]
samuelj
Offline
Joined: 2013-01-14
Points: 0

The IBM Java 8 Beta is now open. Please use this link to access the files

https://ibm.biz/BdxPpH

Feel free to use the message board on this site if you have questions or queries, or view past questions and answers.

Downloads are available for AIX, Linux, zLinux and z/OS.

Over the coming months there will be further code drops on this site. Get an early view of Java 8 and test those app you have to make sure they remain fit and proper.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
samuelj
Offline
Joined: 2013-01-14
Points: 0

IBM changes in the 1st drop (beta 1) of the Java 8 beta

Removal of legacy and deprecated functionality
JRIO on z/OS
"Use JZOS record I/O instead
Annotation Processing Tool (apt) and com.sun APIs
"Use Pluggable Annotation Processing API instead (available since Java 6)

Limitations
Java plugin and Webstart unavailable
Kerberos security unavailable
Uninstallation leaves some files behind on Linux

Enhancements to JVM dump API
Specify dump filename at runtime:
com/ibm/jvm/Dump.javaDumpToFile(fileName)
com/ibm/jvm/Dump.heapDumpToFile(fileName)
com/ibm/jvm/Dump.systemDumpToFile(fileName)
com/ibm/jvm/Dump.snapDumpToFile(fileName)
Setting and querying of dump options at runtime:
com/ibm/jvm/Dump.setDumpOptions(options)
com/ibm/jvm/Dump.queryDumpOptions()
com/ibm/jvm/Dump.resetDumpOptions()
com/ibm/jvm/Dump.triggerDump(options)
New information available in javacore.txt files
Hypervisor information:
2CISYSINFO Hypervisor name = PowerVM
Supported hypervisors:
"KVM
"VMWare
"PowerVM
"Hyper-V
"z/VM
"PR/SM

Data Access Accelerator (DAA)
A new Java API for bare-bones data conversion and arithmetic
Operates directly on native data record (byte arrays)
"No Java object tree created
Orchestrated with JIT for deep platform optimization
Avoid expensive Java object instantiation by allowing in-place operations
Expose hardware acceleration in a platform and JVM-neutral manner
Can provide significant speedup to record parsing frameworks
Can provide significant speedup for data marshalling and inter-language communication
Adding two Packed Decimal numbers in Java
"No Packed Decimal type
"Convert to Big Decimal -> Expensive!

Current Approach:
byte[] addPacked(array a[], array b[]) {
BigDecimal a_bd = convertPackedToBd(a[]);
BigDecimal b_bd = convertPackedToBd(b[]);
a_bd.add(b_bd);
return (convertBDtoPacked(a_bd));

Proposed Solution:
byte[] addPacked(array a[], array b[]) {
DAA.addPacked(a[], b[]);
return (a[]);

On Z, there are hardware packed instructions " i.e. AP (Add Packed)!
Marshalling and Un-marshalling
Transform primitive type (short, int, long, float, double) <-> byte array
Support both big/little-endian byte arrays
Packed Decimal (PD) Operations
Arithmetic: +, -, *, /, % on 2 PD operands
Relation: >,<,>=,<=,==,!= on 2 PD operands
Error checking: checks if PD operand is well-formed
Other: shifting, and moving ops on PD operand
Decimal Data Type Conversions
Decimal " Primitive: Convert Packed Decimal(PD), External Decimal(ED), Unicode Decimal(UD) <-> primitive types (int, long)
Decimal " Decimal: Convert between different decimal types (PD, ED, UD)
Decimal " Java: Convert decimal types (PD, ED, UD) <-> BigDecimal, BigInteger