Ben Chuanlong Du's Blog

It is never too late to learn.

Useful Java Libraries

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

General Purpose Java Libraries

Guava

Guava is a high-quality general purpose Java opensource library mainly developed by Google. It has good immutable collection implementations which are preferred to Java's built-in immutable …

Memory in JVM

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

Stack, heap and off-heap are all memory that stored in a computer's RAM.

Stack

Stack is used for static memory allocation. Variables allocated on the stack are stored directly to the …

Async Framework for JVM-based Languages

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

RxJava

RxJava is a reactive extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

Debugging Tools for Java

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

arthas

arthas

JDK commands

Thread dump: jstack jvm_pid > (use -F if not responding)

Memory dump: jmap -dump:live,format=b,file=.hprof jvm_pid

Heap status: jmap -heap jvm_pid

GC status: jstat …

Call Java Code Using JPype from Python

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

JPype is easy and intuitive to use. It is the most popular Java interface for Python currently.

import os
import sys
from pathlib import Path
import jpype


jpype.addClassPath("/path/to …