ściągnij PDF
1) Wyjaśnij, czym jest Groovy?
Groovy to zorientowany obiektowo język programowania dla JVM (Java Virtual Machines). Służy do łączenia modułów Java, pisania aplikacji w języku Java i rozszerzania istniejącej aplikacji Java.
2) Dlaczego warto korzystać z Groovy?
- Dla programistów Java zapewnia znaną składnię
- Posiada bogate zasoby bibliotek Java
- Łatwo integruje się z istniejącą infrastrukturą, taką jak kontenery serwletów, serwery aplikacji, mnóstwo baz danych ze sterownikami JDBC,
- Całkowicie zorientowany obiektowo
- Zawiera fragmenty kodu wielokrotnego użytku i przypisywalne
- Operatorzy mogą być przeciążeni
- Deklaracja dosłowna dla map, tablic, zakresów i wyrażeń regularnych
- Posiada wydajną nawigację po obiektach
3) Jakie są ograniczenia Groovy?
- Groovy może być wolniejszy
- Groovy może potrzebować dużo pamięci
- Czas uruchomienia Groovy wymaga poprawy
- Wymaga znajomości języka Java
- Czasami trzeba przyzwyczaić się do polubienia nowej składni, domknięć, domyślnego pisania,
- Dokumentacja jest cienka
4) Wyjaśnij, jak działają skrypty w Groovy?
Groovy obsługuje zwykły skrypt; nie wymaga deklaracji klasy. Na początku skryptu import jest obsługiwany w taki sam sposób, w jaki może znajdować się na początku klasy. W Groovy musisz użyć słowa def, aby zadeklarować funkcję poza klasą.
5) Wspomnij, jakie funkcje oferuje Groovy JDK?
Groovy dodał nowe metody w porównaniu do starej wersji, takiej jak
- Różne typy tablic i strumienie obiektów z nowymi metodami zorientowanymi na Groovy
jak Object.every (), Object.each () itd., a także zawierają nowe funkcje, takie jak „String BufferedReader.getText ()” i „InputStream.eachLine (Closure)”.
6) Wspomnij, jaką rolę pełni zamknięcie i słuchacze w Groovy?
Groovy nie obsługuje anonimowych klas wewnętrznych; możliwe jest określenie słuchaczy akcji w tekście za pomocą domknięć. W Groovy zamknięcie nasłuchiwania jest używane jako ListenerAdapter, w którym zastępowana jest tylko jedna interesująca metoda.
7) Wyjaśnij, jak możesz dodawać rzeczy do ścieżki klas podczas uruchamiania rzeczy w groovy lub groovysh?
Możesz dodać elementy do swojej zmiennej środowiskowej $ CLASSPATH. Inną możliwością jest zbudowanie katalogu .groovy / lib w swoim katalogu domowym i dołączenie wszystkich plików jar, które mają być domyślnie dostępne.
8) Wspomnij, jaka jest licencja na Groovy?
Groovy polega w czasie wykonywania na bibliotece ASM, a także w Javie 1.4 i Groovy jar.
9) Wyjaśnij, czym jest ExpandoMetaClass w Groovy?
ExpandoMetaClass służy do dodawania metod, właściwości, metod statycznych i konstruktorów. Expandoclass nie dziedziczy domyślnie; musisz wywołać ExpandoMetaClass.enableGlobally ().
10) Wyjaśnij, w jaki sposób wyrażany jest ciąg Groovy?
Groovy string jest określany jako Gstring.
- Jest otoczony podwójnymi cudzysłowami, dla zwykłych ciągów znaków używa pojedynczych cudzysłowów
- Może zawierać wyrażenia Groovy zapisane w $ {}
- Można zastosować składnię nawiasów kwadratowych jak charAt (i)
11) Jak możesz pobrać pojedynczą wartość z bazy danych za pomocą Groovy?
Aby odzyskać pojedynczą wartość z bazy danych, możesz użyć polecenia
row = sql.firstRow ('select columnA, column from tableName')
println "Row: columnA = $ {row.columnA} and column = ${row.columnB}"
12) Wyjaśnij, jak możesz wyszukiwać w Groovy?
Zobaczmy prosty przykład, jak Groovy wywołuje zapytanie
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) Wyjaśnij, jak możesz zbudować AST (abstrakcyjne drzewa składni) w Groovy ze stringów?
Możesz zbudować AST w Groovy z
- Smyczki
- Kod
- Ze specyfikacji DSL
Obiekt AstBuilder udostępnia API do tworzenia AST z ciągów kodu źródłowego Groovy. Na przykład
Lista węzłów
14) Wyjaśnij, jak możesz dołączyć groovy script do innego groovy?
Możesz dołączyć groovy skrypt do innego groovy, używając poniższego kodu. Kiedy umieścisz ten kod na górze skryptu, przyniesie on zawartość groovy pliku.
Oceń (nowy plik („… /tools/Tools.groovy”))
15) Wyjaśnij, czym jest Groovysh?
Groovysh to aplikacja wiersza poleceń, która umożliwia łatwy dostęp do oceny wyrażeń Groovy, definiowania klas i przeprowadzania eksperymentów.
16) Wyjaśnić komentarz GroovyDoc?
Podobnie jak komentarze wielowierszowe, komentarze GroovyDoc są wielowierszowe, ale zaczynają się od / ** i kończą na * /. Te komentarze dotyczą
- Definicje typów (klasy, interfejsy, wyliczenia, adnotacje)
- Definicje pól i właściwości
- Definicje metod
17) Wyjaśnij, czym są operatory bitowe w Groovy?
Operatory bitowe można zaimplementować na BYTE lub INT oraz return i INT. Operatory bitowe oferują 4 operatory bitowe
- &: bitowe „i”
- I: bitowe "lub"
- A: bitowe „xor”
- ~: negacja bitowa
18) Wymień różnice między Groovy i Java?
- Wszystkie pakiety i klasy w Groovy są domyślnie importowane, nie musisz jawnie używać instrukcji import
- W przeciwieństwie do Javy, w której metody są wybierane w czasie kompilacji, metody w Groovy są wybierane na podstawie typów argumentów w czasie wykonywania
- W bloku {…} jest zarezerwowany na domknięcia, co oznacza, że nie można budować literałów tablicowych przy użyciu tej składni
- Podobnie jak w Javie, pominięcie modyfikatora w polu nie powoduje utworzenia pola prywatnego pakietu
- Automatyczne zarządzanie zasobami lub blok ARM z java 7 nie są obsługiwane w Groovy
- Lambdy Java 8 są mniej więcej uważane za anonimowe klasy wewnętrzne, a Groovy nie obsługuje tej składni
19) Wyjaśnij rolę zależności Grape w Groovy?
Grape to menedżer zależności JAR zawarty w Groovy. Umożliwia szybkie dodawanie zależności repozytorium maven do ścieżki klas, ułatwiając pisanie skryptów. Najprostszym zastosowaniem jest dodanie adnotacji do skryptu.
20) Wyjaśnij, co wskazuje klasa JsonSlurper?
JsonSlurper to klasa, która analizuje tekst JSON lub zawartość czytnika w struktury danych (obiekty) Groovy, takie jak listy, mapy i typy pierwotne, takie jak double, Boolean, string i Integer.
21) Kiedy wywoływana jest metoda „propertyMissing (String)”?
Metoda „propertyMissing (String)” jest wywoływana, gdy żadna metoda pobierająca dla danej właściwości nie może zostać wykryta przez środowisko wykonawcze Groovy.
22) Wspomnij, jakie operatory relacyjne są używane w Groovy?
Operatory relacyjne umożliwiają porównywanie obiektów, sprawdzanie, czy te dwa obiekty są różne lub takie same lub czy jeden jest mniejszy, większy lub równy innym.