22 Soalan Temuduga Groovy Teratas & Jawapan

Anonim

Muat turun PDF

1) Terangkan apa itu Groovy?

Groovy adalah bahasa pengaturcaraan berorientasi objek untuk JVM (Java Virtual Machines). Ini digunakan untuk menggabungkan modul Java, untuk menulis aplikasi Java dan untuk memperluas aplikasi Java yang ada.

2) Mengapa menggunakan Groovy?

  • Untuk pengaturcara Java menyediakan sintaks biasa
  • Ia mempunyai stok Perpustakaan Java yang kaya
  • Ia mudah disatukan dengan infrastruktur yang ada seperti Servlet Container, App Servers, Banyak pangkalan data dengan pemacu JDBC,
  • Berorientasikan Objek Lengkap
  • Ia mempunyai sekeping kod yang dapat digunakan kembali dan dapat ditugaskan
  • Pengendali boleh berlebihan
  • Deklarasi literal untuk peta, tatasusunan, rentang dan ungkapan biasa
  • Ia mempunyai navigasi objek yang cekap

3) Apakah had Groovy?

  • Groovy boleh menjadi lebih perlahan
  • Groovy mungkin memerlukan banyak memori
  • Masa permulaan Groovy memerlukan penambahbaikan
  • Ia memerlukan pengetahuan Java
  • Kadang-kadang diperlukan untuk membiasakan diri seperti Sintaks Baru, penutupan, menaip lalai,
  • Dokumentasi tipis

4) Terangkan bagaimana Skrip dijalankan di Groovy?

Groovy menyokong skrip biasa; ia tidak memerlukan pengisytiharan kelas. Di bahagian depan skrip, import disokong dengan cara yang sama seperti di hadapan kelas. Di Groovy, anda mesti menggunakan kata def untuk menyatakan fungsi di luar kelas.

5) Sebutkan beberapa ciri yang ditawarkan oleh Groovy JDK?

Groovy telah menambah kaedah baru berbanding dengan versi lama seperti

  • Pelbagai jenis array dan aliran objek dengan kaedah berorientasikan Groovy yang baru

seperti Object.every (), Object.each () dll dan juga merangkumi ciri baru seperti "String BufferedReader.getText ()" dan "InputStream.eachLine (Penutupan)".

6) Sebutkan apakah peranan penutupan dan pendengar di Groovy?

Groovy tidak menyokong kelas dalaman tanpa nama; adalah mungkin untuk menentukan pendengar tindakan sebaris melalui cara penutupan. Di Groovy, penutupan pendengar digunakan sebagai ListenerAdapter di mana hanya satu kaedah minat yang diganti.

7) Terangkan bagaimana anda boleh menambahkan barang ke jalan kelas semasa menjalankan sesuatu dalam groovy atau groovysh?

Anda boleh menambahkan perkara ke pemboleh ubah persekitaran $ CLASSPATH anda. Kemungkinan lain adalah membina direktori .groovy / lib di direktori rumah anda dan menambahkan balang apa sahaja yang anda mahu tersedia secara lalai.

8) Sebutkan apakah lesen untuk Groovy?

Groovy bergantung pada waktu berjalan di perpustakaan ASM serta Java 1.4 dan balang Groovy.

9) Terangkan apa itu ExpandoMetaClass di Groovy?

ExpandoMetaClass digunakan untuk menambahkan kaedah, sifat, kaedah statik dan pembina. Expandoclass tidak diwarisi secara lalai; anda perlu memanggil ExpandoMetaClass.enableGlobally ().

10) Terangkan bagaimana rentetan Groovy dinyatakan?

Rentetan Groovy disebut sebagai Gstring.

  • Ini dikelilingi oleh tanda petik ganda, untuk rentetan biasa ia menggunakan tanda petik tunggal
  • Ia mungkin mengandungi Ungkapan Groovy yang dicatat dalam $ {}
  • Sintaks kurungan segi empat boleh digunakan seperti charAt (i)

11) Bagaimana anda boleh mendapatkan satu nilai dari pangkalan data menggunakan Groovy?

Untuk memulihkan satu nilai dari pangkalan data, anda boleh menggunakan perintah

row = sql.firstRow ('select columnA, column from tableName')
println "Row: columnA = $ {row.columnA} and column = ${row.columnB}"

12) Terangkan bagaimana anda boleh membuat pertanyaan di Groovy?

Mari lihat contoh ringkas bagaimana Groovy memanggil pertanyaan

import groovy.sql.sqlsql = Sql.newInstance ('jdbc: jtds: sqlserver://serverName/dbName-Class;domain=domainName','username','password','net.sourceforge.jtds.jdbc.driver')sql.eachRow ('select * from tableName') {print "$it.id--${it.firstName} -" }

13) Terangkan bagaimana anda boleh membina AST (Abstrak Pohon Sintaksis) di Groovy dari rentetan?

Anda boleh membina AST di Groovy dari

  • Rentetan
  • Kod
  • Dari DSL seperti spesifikasi

Objek AstBuilder menyediakan API untuk membina AST dari rentetan Kod Sumber Groovy. Sebagai contoh

Senaraikan node = AstBuilder baru (). buildFromString ("\" Hello \ "")

14) Terangkan bagaimana anda boleh memasukkan skrip groovy dalam alur lain?

Anda boleh memasukkan skrip groovy dengan groovy lain dengan menggunakan kod berikut. Apabila meletakkan kod ini di bahagian atas skrip, ia akan membawa kandungan fail groovy.

Nilaikan (fail baru ("… /tools/Tools.groovy"))

15) Terangkan apa itu Groovysh?

Groovysh adalah aplikasi baris perintah yang membolehkan akses mudah untuk menilai ekspresi Groovy, menentukan kelas dan menjalankan eksperimen.

16) Terangkan komen GroovyDoc?

Seperti komen multiline, komen GroovyDoc adalah multiline tetapi ia bermula dengan / ** dan diakhiri dengan * /. Komen tersebut berkaitan dengan

  • Jenis definisi (kelas, antara muka, enum, anotasi)
  • Definisi bidang dan sifat
  • Definisi kaedah

17) Terangkan apa itu Pengendali Bitwise di Groovy?

Pengendali bitwise boleh dilaksanakan pada BYTE atau INT dan return dan INT. Pengendali bitwise menawarkan 4 pengendali bitwise

  • &: bitwise "dan"
  • Saya: bitwise "atau"
  • J: sedikit demi sedikit "xor"
  • ~: penolakan bitwise

18) Senaraikan perbezaan antara Groovy dan Java?

  • Semua pakej dan kelas di Groovy diimport secara lalai, anda tidak perlu menggunakan pernyataan import secara eksplisit
  • Tidak seperti Java di mana metode dipilih pada waktu kompilasi, metode di Groovy dipilih berdasarkan jenis argumen pada waktu proses
  • Di {…} blok disediakan untuk penutupan, yang bermaksud bahawa anda tidak dapat membina literal array dengan sintaks ini
  • Seperti di Java, menghilangkan pengubah pada medan tidak menghasilkan paket peribadi
  • Pengurusan Sumber Automatik atau blok ARM dari java 7 tidak disokong di Groovy
  • Java 8 lambdas lebih kurang dianggap sebagai kelas dalaman tanpa nama, dan Groovy tidak menyokong sintaks itu

19) Terangkan peranan kebergantungan Anggur di Groovy?

Grape adalah pengurus pergantungan JAR yang dimasukkan ke Groovy. Ia membolehkan anda menambahkan kebergantungan repositori cepat ke kelas anda, menjadikan skrip lebih mudah. Penggunaan paling mudah adalah menambahkan anotasi pada skrip anda.

20) Terangkan apa yang ditunjukkan oleh kelas JsonSlurper?

JsonSlurper adalah kelas yang menguraikan teks JSON atau kandungan pembaca ke dalam struktur data Groovy (objek) seperti senarai, peta, dan jenis primitif seperti double, Boolean, string dan Integer.

21) Bilakah kaedah "propertyMissing (String)" dipanggil?

Kaedah "propertyMissing (String)" dipanggil apabila tidak ada kaedah mendapatkan harta tertentu yang dapat dikesan oleh runtime Groovy.

22) Sebutkan pengendali hubungan apa yang digunakan di Groovy?

Pengendali hubungan membolehkan anda membandingkan antara objek, untuk memeriksa sama ada kedua-dua objek itu berbeza atau sama atau jika satu objek kurang, lebih besar daripada atau sama dengan yang lain.