Web

Web development notes

Basic

Perkenalan

  • Java adalah bahasa pemrograman berorientasi objek, jadi semua hal di Java adalah sekumpulan kelas dan object
  • Strongly typed: tipe data enforced, tidak bisa dimodifikasi dan tidak ada konversi langsung/otomatis, hanya bisa beroperasi sesuai tipe data yang benar-benar sesuai.
  • Portable, selama perangkat memiliki JVM (Java Virtual Machine), program Java dapat berjalan
  • Mendukung multithreading
  • Memiliki Java garbage collection, sehingga memory management dilakukan secara otomatis oleh Java

    Java Garbage Collection

  • Pada bahasa pemrograman C dan C++, setiap variabel yang digunakan dapat dialokasikan secara manual ataupun otomatis. Jika kita melakukannya secara manual, kita perlu manage memory tersebut agar dapat di-free ketika tidak digunakan lagi. Free unused memory ini dilakukan agar memory tidak penuh dan dapat digunakan oleh data/proses lain
  • Java garbage collector adalah sebuah thread berprioritas rendah untuk memusnahkan objek yang sudah tidak digunakan (dengan cara mengembalikan ke pool memory)
  • Java interpreter memeriksa apakah objek di memori masih diacu atau digunakan oleh program, jika tidak, maka object akan dimusnahkan
  • Java garbage collector berjalan sebagai thread yang berprioritas rendah dan melakukan kerja saat tidak ada kerja lain di program, misalnya ketika idle menunggu input dari user.
  • Tapi jika kekurangan memori, garbage collector akan bekerja dengan prioritas tinggi, tapi ini jarang kejadian karena biasanyah thread prioritas rendah juga sudah solve masalah

Variabel dan Tipe Data

  • Inisialisasi variabel menggunakan format:
    tipeVariabel data = value;
    
  • Jika inisialisasi variabel berasal dari kelas, maka inisialisasi dilakukan dalam bentuk:
    tipeVariabel data = new constructor(value);
    
  • Inisialisasi variabel bisa tidak menggunakan initial value juga
    tipeVariabel data;
    float x;
    x = 12.45;
    
  • Penulisan nama variabel, fungsi menggunakan camelCase.

    Tipe Data

  • Integer: bilangan bulat
  • Float: bilangan desimal
  • Char: karakter (misalkan ‘A’ atau ‘@’)
  • Double: float dengan kapasitas lebih besar
  • String: kumpulan karakter yang berbentuk teks
  • Boolean: True/False

    Konstanta

  • Konstanta (variabel final yang tidak bisa diubah) bisa diinisialisasi dengan menambahkan keyword final sebelum nama variabel.
    final int x = 12;