Jim Connors published a great blog post a little while ago, describing the benefits of using the new Java SE 8 language and API features on multicore embedded systems like the Boundary Devices BD-SL-i.MX6 (built around the Freescale i.MX6 quad-core architecture).
As you can see in the above diagram, leveraging parallel Java SE 8 Lambda and stream operations can dramatically improve overall performance. What’s more, the effort on the part of the developer is minor and the resulting Java code is portable and scalable across all Java SE 8 platforms, including completely different underlying architectures such as ARM on Linux vs. x86 on Windows.
Compare that to a traditional embedded multicore application, which typically is built with specialized frameworks, knowledge, and tuning and results in platform-specific code with limited portability and scalability. Plus, potentially hard-to-find multithreading bugs …
Out-of-the-box multicore support is another great example of why Java Embedded makes a lot of sense for embedded solutions.