Завантажте PDF
1) Поясніть, що таке Groovy?
Groovy - це об'єктно-орієнтована мова програмування для JVM (Java Virtual Machines). Він використовується для поєднання модулів Java, написання програми Java та розширення існуючої програми Java.
2) Навіщо використовувати Groovy?
- Для програмістів Java він забезпечує знайомий синтаксис
- Він має багатий фонд бібліотек Java
- Він легко інтегрується з існуючою інфраструктурою, такою як контейнери сервлетів, сервери програм, навантаження баз даних з драйверами JDBC,
- Повністю об'єктно-орієнтований
- Він має багаторазові та призначувані фрагменти коду
- Оператори можуть бути перевантажені
- Буквальна декларація для карт, масивів, діапазонів та регулярних виразів
- Він має ефективну навігацію об’єктами
3) Яке обмеження Groovy?
- Groovy може бути повільнішим
- Groovy може знадобитися багато пам'яті
- Час запуску Groovy вимагає вдосконалення
- Для цього потрібні знання Java
- Іноді потрібно, щоб використати, як Новий синтаксис, закриття, введення за замовчуванням,
- Документація тонка
4) Поясніть, як запускаються сценарії в Groovy?
Groovy підтримує простий сценарій; він не вимагає оголошення класу. У передній частині сценарію імпорт підтримується так само, як і в передній частині класу. У Groovy вам потрібно використовувати слово def, щоб оголосити функцію поза класом.
5) Згадайте, які функції пропонує Groovy JDK?
Groovy додав нові методи порівняння зі старою версією, наприклад
- Різні типи масивів та потоки об’єктів за допомогою нових методів Groovy
як Object.every (), Object.each () тощо, а також включають нові функції, такі як "String BufferedReader.getText ()" та "InputStream.eachLine (Closure)".
6) Згадайте, яка роль закриття та слухачів у Groovy?
Groovy не підтримує анонімні внутрішні класи; можна визначити слухачів дії вбудованими за допомогою засобів закриття. У Groovy закриття слухачів використовується як адаптер Listener, де замінено лише один цікавий метод.
7) Поясніть, як ви можете додавати речі до шляху до класу, коли запускаєте речі у groovy або groovysh?
Ви можете додавати речі до своєї змінної середовища $ CLASSPATH. Інша можливість полягає у створенні каталогу .groovy / lib у вашому домашньому каталозі та додаванні будь-яких банок, які ви хочете бути доступними за замовчуванням.
8) Згадайте, що таке ліцензія на Groovy?
Groovy під час виконання залежить від бібліотеки ASM, а також Java 1.4 та jar Groovy.
9) Поясніть, що таке ExpandoMetaClass у Groovy?
ExpandoMetaClass використовується для додавання методів, властивостей, статичних методів та конструкторів. Expandoclass не успадковується за замовчуванням; вам потрібно зателефонувати до ExpandoMetaClass.enableGlobally ().
10) Поясніть, як виражається ряд Groovy?
Рядок Groovy називається Gstring.
- Він оточений подвійними лапками, для звичайних рядків використовується одинарні лапки
- Він може містити Groovy Expressions, зазначені в $ {}
- Синтаксис квадратних дужок може застосовуватися як charAt (i)
11) Як можна отримати одне значення з бази даних за допомогою Groovy?
Щоб відновити одне значення з бази даних, ви можете скористатися командою
row = sql.firstRow ('select columnA, column from tableName')
println "Row: columnA = $ {row.columnA} and column = ${row.columnB}"
12) Поясніть, як ви можете робити запити в Groovy?
Давайте побачимо простий приклад того, як Groovy викликає запит
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) Поясніть, як можна створити AST (абстрактні синтаксичні дерева) у Groovy із рядка?
Ви можете побудувати AST в Groovy з
- Струни
- Код
- З DSL, як специфікація
Об'єкт AstBuilder надає API для побудови AST із рядків вихідного коду Groovy. Наприклад
Список
14) Поясніть, як можна включити груві-сценарій в інший груві?
Ви можете включити скрипт groovy до іншого groovy, використовуючи наступний код. Якщо розмістити цей код у верхній частині сценарію, він додасть вміст грубого файлу.
Оцінити (новий файл ("… /tools/Tools.groovy"))
15) Поясніть, що таке Гроовиш?
Groovysh - це програма командного рядка, яка забезпечує простий доступ до оцінки виразів Groovy, визначення класів та запуску експериментів.
16) Поясніть коментар GroovyDoc?
Як і багаторядкові коментарі, коментарі GroovyDoc є багаторядковими, але вони починаються з / ** і закінчуються * /. Ці коментарі пов'язані з
- Визначення типів (класи, інтерфейси, перелічення, анотації)
- Визначення полів та властивостей
- Визначення методів
17) Поясніть, що таке побітові оператори в Groovy?
Побітові оператори можуть бути реалізовані на BYTE або INT і повертати та INT. Побітові оператори пропонують 4 побітові оператори
- &: побітове "та"
- I: побітове "або"
- A: побітове "xor"
- ~: побітове заперечення
18) Перелічіть відмінності між Groovy та Java?
- Усі пакети та класи в Groovy імпортуються за замовчуванням, вам не потрібно явно використовувати оператор import
- На відміну від Java, де методи вибираються під час компіляції, методи в Groovy вибираються на основі типів аргументів під час виконання
- У {…} блок зарезервований для закриття, що означає, що ви не можете створювати літерали масиву з цим синтаксисом
- Як і в Java, відсутність модифікатора в полі не призводить до приватного поля пакета
- Автоматичне управління ресурсами або ARM-блок з Java 7 не підтримуються в Groovy
- Лямбди Java 8 більш-менш розглядаються як анонімні внутрішні класи, і Groovy не підтримує цей синтаксис
19) Поясніть роль залежності від винограду у Groovy?
Грейп - менеджер залежностей JAR, включений до складу Groovy. Це дозволяє швидко додавати залежності сховища maven до шляху до вашого класу, що полегшує сценарії. Найпростішим використанням є додавання анотації до вашого сценарію.
20) Поясніть, на що вказує клас JsonSlurper?
JsonSlurper - це клас, який аналізує вміст тексту або читання JSON на структури даних (об’єкти) Groovy, такі як списки, карти та примітивні типи, такі як double, Boolean, string та Integer.
21) Коли викликається метод "propertyMissing (String)"?
Метод "propertyMissing (String)" викликається, коли за час роботи Groovy не вдається виявити жодного методу отримання для даної властивості.
22) Згадайте, для чого використовуються реляційні оператори в Groovy?
Реляційні оператори дозволяють порівнювати між об’єктами, перевіряти, чи відрізняються два об’єкти чи однакові, чи один менше, більший або дорівнює іншим.