Using Java code for things that are this performance critical doesn't feel like a good idea. It will work of course, but it will probably GC a lot, and while modern JVMs do JIT, the code they generate can't be as optimal as something that has manual SIMD optimizations.
Honestly, you'd benefit more from idiomatic bindings rather than a pure Java implementation. There are quite a few high quality Java libraries that wrap C/C++ code but maintain a nearly 1:1 API, which is what ends up making them difficult to work with. OpenCV is a good example of this.