apa itu Java Beans? apa bedanya dengan POJO?


#IlmuJava

apa itu Java Beans? apa bedanya dengan POJO?

status sebelumnya saya cerita tentang POJO, sekarang saya akan cerita tentang Java Beans.

Java Beans adalah kelas POJO yang serializable (implements java.io.Serializable), kelas Java Beans memiliki default contructor (constructor tanpa parameter), atribut yang ada di Java Beans harus private dan diakses oleh metode getter dan setter.

Berikut adalah contoh kelas POHO

=============================
public class Person{

}
=============================

kalo udah diubah jadi Java Beans, hasilnya seperti ini :

=============================
public class Person implements java.io.Serializable {

private String name;

public Person(){
}

public String getName(){
return this.name;
}

public void setName(String name){
this.name = name;
}

}
=============================

sekian dan terimakasih, jangan lupa follow twitter kita di @PakarJava 

Java adalah memiliki fitur automatic garbage collection? wah apaan tuh?


#FaktaJava

salah satu kelebihan java adalah memiliki feature automatic garbage collection? wah apaan tuh?

#BahasaAwam
kalo dijelaskan secara awam, kurang lebih seperti ini. jika aplikasi kita diibaratkan sebuah rumah, maka pasti didalamnya ada tempat sampah. automatic garbace collection itu artinya, secara otomatis sampah2 yang ada di dalam rumah akan dimasukkan ke tong sampah, tanpa kita melakukannya sendiri (manual), dan yang paling keren, automatic GC itu secara otomatis akan menghilangkan sapah yang ada, hilang, tanpa tersisa sedikitpun.

#BahasaTeknis
JVM adalah sistem yang pintar, dimana dia bisa mendeteksi apakah ada objek yang masih digunakan atau tidak, seandainya ada objek yang sudah tidak digunakan lagi, maka otomatis objek tersebut akan dihapus dari memori secara otomatis, kita tidak perlu menghilangkan objek itu secara manual seperti ti C/C++, di JVM semuanya otomatis.

#KapanGCTerjadi
garbage collection akan terjadi ketika aplikasi sudah menyentuh batas maksimal memori, seandainya aplikasi kita set batas maksimal memorinya adalah 500MB, maka saat aplikasi kita menggunakan memori menyentuh 500MB maka otomatis GC akan berjalan, menghapus seluruh objek yang tidak dibutuhkan dari memori, sehingga penggunaan memori lebih efektik

#OutOfMemoryError
seandainya aplikasi kita sudah mencapat batas maksimal memori, lalu GC akan menghapus objek yang tidak diperlukan. Namun kadang ada kejadian tidak ada objek yang tidak terpakai, dengan kata lain tidak ada yang bisa dihapus lagi, pada saat ini, JVM akan menyatakan error OutOfMemoryError, artinya tidak ada memori yang bisa digunakan untuk objek baru. Jika ini terjadi, hal yang bisa dilakukan hanyalah menaikkan kapasitas memori.

apa bedanya final, finally dan finalize?


#TanyaJava

apa bedanya final, finally dan finalize?

#final adalah keyword untuk mendeklarasikan bahwa sebuah variabel/atribut tidak dapat diubah lagi isinya (konstan), jika final disebutkan di method, artinya method tersebut tidak dapat di override oleh subclassnya, jika final disebutkan di class, artinya class tersebut tidak dapat diturunkan lagi

#finally merupakan tag dalam try-finally yang digunakan untuk memastikan bahwa kode didalam finally akan dieksekusi walaupun dalam try sukses / gagal.

#finalize merupakan methode kelas Object yang dieksekusi saat garbace collection menghapus sebuah object yang sudah tidak terpakai.

fakta tentang finally di Java


tahu try-finally kan?

try{

}finally{

}

apakah finally benar2 akan dieksekusi, bahkan walaupun ada exception di try nya?

nyatanya TIDAK! jika terjadi errornya di try menyebabkan JVM mati, maka finally tidak akan dieksekusi, atau jika System.exit(…) dipanggil, maka otomatis finally juga tidak akan dieksekusi

apakah bedanya String, StringBuilder dan StringBuffer?


#FaktaJava

apakah bedanya String, StringBuilder dan StringBuffer?

- objek StringBuilder dan StringBuffer adalah mutable (bisa diubah) sedangkan objek String adalah immutable (tidak bisa berubah), liat status fb sebelumnya.
– StringBuffer itu synchronized sehingga thread safe, sedangkan StringBuilder tidak synchronized

kapan menggunakan String, StringBuilder dan StringBuffer?

- saat membuat objek yang tidak akan berubah, gunakanlah String
– saat membuat objek yang bisa berubah2 dan akan diakses dari beberapa thread, gunakanlah StringBuffer
– saat membuat objek yang bisa berubah2 namun hanya diakses oleh satu thread, gunakanlah StringBuilder

Mocking http servlet request menggunakan mockito


Pernah kejadian kayak gini, misal kita bikin utilities atau helper, helper itu ngambil data parameter2 yang ada di HttpServletRequest, trus dijadiin objek.

Misalnya, kita mau bikin objek Buku dari HttpServletRequest dimana datanya diambil dari data parameter “nama”, “tanggalTerbit”, “jumlahHalaman”, “harga” dan lain-lain. Baca lebih lanjut

Cara cepat ngopi atribut dari satu objek ke objek lain


Pernah kejadian ngopi atribut dari satu objek ke objek lain? Trus nama atributnya sama, atau bahkan kelas nya sama? Ini adalah salah satu hal yang mudah tapi buang2 waktu :)

Nih misal kayak gini nih, gw punya kelas dengan nama kelas Buku, isinya ada beberapa atribut. Baca lebih lanjut