“The best things in life can not be experienced virtually.”

– Michael ONeill, Road Work: Images And Insights Of A Modern Day Explorer


Pendahuluan


Sekarang kita hidup di dunia yang banyak Virtual nya.

Sosial Media, meeting, digitalisasi, AI membuat semua kenyataan menjadi virtual.

Sampai-sampai istilah di dunia IT banyak yang memakai kata Virtual, seperti :

  • Virtual Machine
  • Virtualization
  • Virtual memory
  • Virtual meeting
  • dll

Begitupun juga kalau kita lihat di bahasa Java.

Ada namanya Java Virtual Thread !.

Java Virtual Thread (VT) adalah fitur baru Java yang diperkenalkan di JDK 19.

Java Virtual Thread (VT) ini menawarkan pendekatan inovatif untuk pengembangan aplikasi konkuren dan paralel di Java.

Java VT ini adalah Thread yang dikelola oleh JVM nya Java.

Thread Java yang dihandle oleh Proses nya JVM.

Sehingga secara proses akan lebih ringan dan lebih cepat dilihat dari sudut pandang aplikasi Java.


Perbedaan Tradisional Thread vs. Virtual Thread


Aplikas Java Tradisiona menggunakan Thread yang dikelola oleh sistem operasi.

Membuat thread berarti melakukan system call, yang memakan resource.

Sebaliknya, VT dikelola oleh Java Virtual Machine (JVM).

Hal ini memungkinkan pembuatan dan pengelolaan thread yang lebih efisien dengan resource yang lebih ringan.


Keuntungan Menggunakan Virtual Thread


Peningkatan Throughput

VT dapat meningkatkan kemampuan aplikasi untuk menangani banyak tasks secara bersamaan. Ini karena VT membutuhkan lebih sedikit resource dibandingkan thread biasa.

Pengurangan Memori

VT tidak menggunakan stack sendiri seperti thread tradisional. Alih-alih, VT menggunakan heap yang di-garbage collect, sehingga penggunaan memori menjadi lebih efisien. Kemungkinan aplikasi kehabisan resource untuk membuat thread baru (OutOfMemoryError) menjadi berkurang

Peningkatan Ketersediaan Aplikasi

Dengan resource yang lebih ringan, VT dapat membantu mengurangi kemungkinan aplikasi kehabisan resource untuk membuat thread baru (OutOfMemoryError).

Peningkatan Kualitas Kode

VT menyederhanakan pengembangan aplikasi konkuren. Software Engineer dapat menulis kode yang lebih ringkas dan mudah dikelola.

Kompatibilitas

VT 100% kompatibel dengan thread platform tradisional, sehingga memudahkan migrasi aplikasi yang sudah ada.


Kesimpulan


Java Virtual Thread merupakan terobosan baru yang menjanjikan untuk pengembangan aplikasi konkuren.

VT menawarkan performa yang lebih baik, penggunaan memori yang lebih efisien, dan kemudahan pengembangan.

Jika kita sedang membangun aplikasi konkuren di Java 19 atau lebih tinggi, maka Virtual Thread patut dipertimbangkan untuk dicoba.