Скачать PDF
1) Объясните, что такое Groovy?
Groovy - это объектно-ориентированный язык программирования для JVM (виртуальных машин Java). Он используется для объединения модулей 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 закрытие слушателей используется как ListenerAdapter, где переопределяется только один интересующий метод.
7) Объясните, как можно добавлять что-то в путь к классам при запуске в groovy или groovysh?
Вы можете добавить что-нибудь в свою переменную окружения $ CLASSPATH. Другой вариант - создать каталог .groovy / lib в вашем домашнем каталоге и добавить любые файлы jar-файлов, которые должны быть доступны по умолчанию.
8) Укажите, какая лицензия у Groovy?
Во время выполнения Groovy зависит от библиотеки ASM, а также от Java 1.4 и Groovy jar.
9) Объясните, что такое ExpandoMetaClass в Groovy?
ExpandoMetaClass используется для добавления методов, свойств, статических методов и конструкторов. Expandoclass по умолчанию не наследуется; вам нужно вызвать ExpandoMetaClass.enableGlobally ().
10) Объясните, как выражается строка Groovy?
Groovy строка называется Gstring.
- Он заключен в двойные кавычки, для обычных строк используются одинарные кавычки.
- Он может содержать выражения Groovy, указанные в $ {}
- Синтаксис квадратных скобок может применяться как 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, используя следующий код. Если поместить этот код в верхнюю часть скрипта, он перенесет содержимое файла groovy.
Оценить (новый файл ("… /tools/Tools.groovy"))
15) Объясните, что такое Groovysh?
Groovysh - это приложение командной строки, которое обеспечивает легкий доступ для оценки выражений Groovy, определения классов и проведения экспериментов.
16) Объясните комментарий GroovyDoc?
Как и многострочные комментарии, комментарии GroovyDoc являются многострочными, но начинаются с / ** и заканчиваются * /. Эти комментарии связаны с
- Определения типов (классы, интерфейсы, перечисления, аннотации)
- Определения полей и свойств
- Определения методов
17) Объясните, что такое побитовые операторы в Groovy?
Поразрядные операторы могут быть реализованы с байтами или INT, а также return и INT. Побитовые операторы предлагают 4 побитовых оператора
- &: побитовое "и"
- I: побитовое "или"
- A: побитовое "xor"
- ~: побитовое отрицание
18) Перечислите различия между Groovy и Java?
- Все пакеты и классы в Groovy импортируются по умолчанию, вам не нужно явно использовать оператор импорта.
- В отличие от Java, где методы выбираются во время компиляции, методы в Groovy выбираются на основе типов аргументов во время выполнения.
- Блок In {…} зарезервирован для замыканий, что означает, что вы не можете создавать литералы массива с этим синтаксисом.
- Как и в Java, отсутствие модификатора в поле не приводит к созданию частного поля пакета.
- Автоматическое управление ресурсами или блок ARM из java 7 не поддерживаются в Groovy
- Лямбды Java 8 более или менее считаются анонимными внутренними классами, и Groovy не поддерживает этот синтаксис.
19) Объясните роль зависимости Grape в Groovy?
Grape - это менеджер зависимостей JAR, включенный в Groovy. Он позволяет быстро добавлять зависимости репозитория maven в путь к классам, что упрощает создание сценариев. Самый простой способ - добавить аннотацию к вашему скрипту.
20) Объясните, что обозначает класс JsonSlurper?
JsonSlurper - это класс, который анализирует текст JSON или содержимое читателя в структуры данных Groovy (объекты), такие как списки, карты и примитивные типы, такие как double, Boolean, string и Integer.
21) Когда вызывается метод propertyMissing (String)?
Метод propertyMissing (String) вызывается, когда среда выполнения Groovy не может обнаружить метод получения для данного свойства.
22) Упомяните, для каких операторов отношения используются в Groovy?
Операторы отношения позволяют сравнивать объекты, проверять, являются ли эти два объекта разными или одинаковыми, или один из них меньше, больше или равен другим.