Memfilter List di Java 7 dan Java 8


Java Logo

Java Logo

Salah satu feature baru yang terdapat di Java 8 adalah lamda expression dan Stream. Salah satu contoh yang dapat di implementasikan adalah ketika kita mau memfilter atau menyaring data di List (atau collection).

Misal kita memiliki sebuah data List yang berisikan angka dari 1 sampai 10, dan sekarang kita ingin menyaring seluruh data yang habis jika dibagi 2.

Jika kita menggunakan Java 7 atau versi java sebelumnya, kita biasanya menggunakan perulangan for lalu mengecek datanya apakah habis dibagi dua, jika habis dibagi dua, simpan ke list yang isinya hanya data yang bisa dibagi 2. Baca lebih lanjut

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.

beginilah alur transformasi dari dunia nyata ke kode java


#InfoJava

beginilah alur transformasi dari dunia nyata ke kode java 

Apa itu NullPointerException dan kapan terjadinya?


#FaktaJava

exception yang sering sekali dilakukan oleh coder java adalah NullPointerException, kenapa ex ini bisa terjadi?

NullPointerException adalah ex yang terjadi ketika pada saat runtime, terjadi pemanggilan atribut atau metode terhadap sebuah objek yang belum diinisialisasi (bukan gaya viky ya :P), alias masih NULL

contohnya ada sebuah metode dengan isi seperti ini :

public void show(Barang barang){
System.out.println(barang.getNama());
}

seandainya metode show() tersebut dipanggil dengan parameter objek yang masih null :

Barang barang = null;
show(barang);

sudah jelas bahwa akan terjadi NullPointerException.

begitulah NullPointerException terjadi, jadi mulai sekarang kalo membuat method yang sekiranya tidak siap menerima objek null, gunakan pengecekan terlebih dahulu, misal kita ubah metode show() menjadi :

public void show(Barang barang){
if(barang != null){
System.out.println(barang.getNama());
}
}

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

apa bedanya statement dan prepare-statement dalam jdbc?


#TanyaJava

apa bedanya statement dan prepare-statement dalam jdbc?

#statement merupakan objek untuk manipulasi data di jdbc, namun tidak mendukung parameter, pembuatan parameter secara manual di statement bisa menyebabkan sql injection, statement disarankan hanya untuk perintah sql tanpa parameter.

#prepareStatement merupakan objek untuk manipulasi data di jdbc yang mendukung parameter, prepare-statement menjamin parameter yang dimasukkan tidak akan dapat menyebabkan sql injection

#contoh SQL INJECTION :

String username = …
String password = …

String sql = “select * from table_user where username = ‘” + username + “‘ and password = ‘” + password + “‘”;

jika
username = “admin”, dan
password = “admin or ‘A’ = ‘A”

maka hasilnya :

sql = “select * from table_user where username = ‘admin’ and password = ‘admin’ or ‘A’ = ‘A'”

dengan begitu orang bisa login, tanpa harus memasukkan username dan password yang benar.

BAHAYA BUKAN?

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

kalo udah jago java, belajar apa lagi bagusnya?


#InfoJava

kalo udah jago java, belajar apa lagi bagusnya?

Java => Groovy => Scala => …..

isilah titik2nya, kalo udah bisa 3 itu sih terserah mau belajar apa juga, bahasa pemrograman di luar JVM juga gak masalah