JavaRush /Blog Jawa /Random-JV /Ngopi #159. Siklus urip serat ing Jawa. Antarmuka Fungsio...

Ngopi #159. Siklus urip serat ing Jawa. Antarmuka Fungsional lan Metode Default ing Jawa 8

Diterbitake ing grup

Siklus Utas ing Jawa

Sumber: Sedheng Artikel iki mbahas macem-macem kahanan siklus urip benang ing Jawa. Ngopi #159.  Siklus urip serat ing Jawa.  Antarmuka Fungsional lan Metode Default ing Jawa 8 - 1Siklus urip utas ing Jawa utamane dumadi saka transisi menyang macem-macem negara, diwiwiti kanthi lair benang lan diakhiri kanthi mungkasi benang. Utas siap mbukak nalika digawe lan diwiwiti kanthi nelpon metode wiwitan () ing kelas Utas . Nalika metode turu kelas Utas () utawa ngenteni () diarani , Utas dadi ora bisa digunakake. Kanggo ngatur utas kanthi program, penting kanggo ngenali kahanan utas. Ayo ngerti kepiye siklus urip benang Jawa nemtokake kahanane. Mangkene apa sing dikandhakake dokumentasi Jawa babagan iki: Utas minangka jalur eksekusi program sing bisa mlebu salah siji saka limang negara sajrone siklus urip:
  1. Anyar
  2. Bisa mlaku
  3. mlaku
  4. Diblokir
  5. mati
1. New (newborn state) occurs nalika sampeyan nggawe obyek Utas ing kelas Utas. Aliran kasebut digawe lan ana ing negara "bayi". Sing, nalika Utas digawe, lumebu ing negara anyar, nanging wiwitan () cara durung disebut ing Kayata. 2. Runnable. Negara iki tegese thread wis siyap kanggo mbukak. Nalika wiwitan () cara disebut ing thread anyar, dadi siap kanggo miwiti. Ing negara iki, thread ngenteni nganti prosesor kasedhiya (wektu CPU). Tegese, utas dadi antrian (seri) utas sing nunggu dieksekusi. 3. Mlaku (mlaku). Eksekusi tegese prosesor wis nyedhiyakake slot wektu kanggo nglakokake thread. Iki minangka negara ing ngendi benang nindakake fungsi nyata. 4. Diblokir (kahanan diblokir). Utas ana ing kahanan diblokir nalika ngaso, turu, utawa ngenteni sawetara wektu kanggo marem kondisi tartamtu. 5. Negara Mati. Kahanan iki kedadeyan nalika cara run () rampung nglakokake instruksi. Utas kanthi otomatis mandheg utawa mlebu ing Negara Mati. Ing tembung liyane,, nalika thread metu saka run () cara , iku salah siji mungkasi utawa dadi mati.

Antarmuka Fungsional lan Metode Default ing Jawa 8

Sumber: Sedheng Ing artikel iki, sampeyan bakal sinau babagan sawetara owah-owahan ing Java 8, yaiku antarmuka fungsional lan metode standar.

Apa Metode Default?

Kita ngerti yen kelas abstrak bisa duwe metode abstrak lan non-abstrak (metode sing dileksanakake), nanging antarmuka 100% abstrak (kabeh metode iki mung duwe tanda tangan lan ora ana implementasine). Nanging apa yen kita butuh antarmuka tinimbang kelas lan fungsi umum ing antarane kabeh kelas sing ditindakake? Amarga banjur kode implementasine diulang maneh lan maneh ing saben kelas sing ngleksanakake antarmuka. Kanggo ngindhari iki, Java 8 nambahake tembung kunci standar . Yen kita duwe metode sing diimplementasikake ing antarmuka, mula tembung kunci standar kudu ditugasake kanggo metode kasebut, yen ora, kita bakal entuk kesalahan runtime.

Apa antarmuka fungsional?

Antarmuka fungsional ora liya mung antarmuka karo siji metode abstrak lan sawetara metode standar utawa statis. Conto antarmuka fungsional yaiku Comparable, sing nduweni siji cara abstrak, compareTo () . Ing siji, Runnable wis run () cara lan ing. Kita uga bisa makili antarmuka fungsional nggunakake anotasi @FunctionalInterface. Iki mesthekake yen antarmuka mung nduweni siji cara abstrak:
@FunctionalInterface
public interface MyfunctionalInterface{
   public void myabstractmethod();
   public static void method1(){
       //Имплементация
    }
   public default void method2(){
       //Имплементация
    }
}

Jinis antarmuka fungsional

Konsumen - njupuk siji argumen lan ora ngasilake apa-apa.
  • Telung varian Consumer yaiku DoubleConsumer, IntConsumer lan LongConsumer (gumantung saka jinis argumen sing ditampa).
  • Bi-Consumer - njupuk rong argumen lan ora ngasilake apa-apa.
Predikat - njupuk siji argumen lan ngasilake nilai boolean.
  • Telung varian saka Predikat yaiku DoublePredicate, IntPredicate lan LongPredicate (gumantung saka jinis argumen sing ditampa).
  • Bi-Predicate - njupuk rong argumen lan ngasilake nilai boolean.
Fungsi - njupuk siji argumen lan ngasilake siji nilai.
  • Akeh versi fungsi kasedhiya minangka jinis argumen, kanthi int , dawa lan dobel sing paling umum digunakake.
  • Bi-Function - njupuk rong argumen lan ngasilake siji nilai.
  • Operator Unary lan Binary ngetrapake Fungsi lan Bi-Fungsi, nanging syarat tambahan ing kene yaiku input lan output kudu identik lan jinis sing padha.
Supplier - Ora nampa input apa wae nanging ngasilake nilai siji. Macem-macem versi Supplier: BooleanSupplier, IntSupplier, LongSupplier lan DoubleSupplier, kanggo jinis bali minangka primitif sing cocog.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION