Float16s are useful in ML and compute workloads where they make it possible to double the throughput of vector based instructions (SIMD in CPUs / GPUs) at the cost of a lower precision which can be acceptable for many such workloads.
Exactly so, there are a bunch of Java interfaces to native ML libraries that have some messy bit hacking to convert between fp16 and Java floats. This API along with the intrinsification (https://github.com/openjdk/jdk/pull/10500) will mean I can throw away that code and replace it with something that performs correctly and is much faster.