Ben Chuanlong Du's Blog

It is never too late to learn.

Parallel Computing in Java

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

The following are a few tips for multithreading parallel computing in Java.

  1. Instance fields, static fields and elements of arrays are stored in heap memory and thus can be shared between …

Use LightGBM With Spark

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

https://github.com/Azure/mmlspark/blob/master/docs/lightgbm.md

MMLSpark seems to be the best option to use train models using LightGBM on a Spark cluster. Note that MMLSpark requires …

Tips on VirtualVM

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

VisualVM is a great tool for performance profiling of JVM applications.

  1. The application must be LONG RUNNING in order for VirtualVM to profile it.

IntelliJ IDEA

VisualVM Launcher

VirtualVM Executable

/usr …

The JAVA_HOME Environment Variable

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

Point to the JDK directory if you can. Otherwise, point it to the JRE directory.

References

https://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/

https://www.quora.com/What-is-the-use-of-JAVA_HOME

Calling Rust from Java

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!

https://github.com/drrb/java-rust-example

https://users.rust-lang.org/t/ffi-java-call-a-rust-dynamic-library/19924

https://docs.rs/jni/0.14.0/jni/

https://stackoverflow.com/questions/30258427/calling-rust-from-java

https://github.com/java-native-access/jna …