PDF letöltése
1) Magyarázza el, mi az a Groovy?
A Groovy a JVM (Java Virtual Machines) objektum-orientált programozási nyelve. Java modulok kombinálására, Java alkalmazások írására és a meglévő Java alkalmazások kibővítésére szolgál.
2) Miért érdemes használni a Groovyt?
- A Java programozók számára megszokott szintaxist biztosít
- Gazdag Java-könyvtárakkal rendelkezik
- Könnyen integrálható a meglévő infrastruktúrával, mint például a Servlet-konténerek, az App-kiszolgálók, a rengeteg adatbázis a JDBC-illesztőprogramokkal,
- Teljesen objektumorientált
- Újrafelhasználható és hozzárendelhető kóddarabokkal rendelkezik
- Az üzemeltetők túlterhelhetők
- Szó szerinti deklaráció térképekhez, tömbökhöz, tartományokhoz és reguláris kifejezésekhez
- Hatékony objektumnavigációval rendelkezik
3) Mi a Groovy korlátozása?
- Groovy lassabb lehet
- Groovynak sok memóriára lehet szüksége
- A Groovy indítási ideje javulást igényel
- Java ismereteket igényel
- Néha szükség van az új szintaxis, bezárások, alapértelmezett gépelés,
- A dokumentáció vékony
4) Magyarázza el, hogyan futnak a szkriptek Groovy-ban?
Groovy támogatja a sima szkriptet; nem igényel osztálynyilatkozatot. A szkript elején az importálás ugyanúgy támogatott, mint egy osztály elején. A Groovy-ban a def szót kell használnia egy függvény osztályon kívüli deklarálásához.
5) Említse meg, milyen funkciókat kínál a Groovy JDK?
Groovy új módszereket adott hozzá a régi verzióhoz hasonlóan
- Különböző tömbtípusok és objektumfolyamok újonnan Groovy-orientált módszerekkel
mint például az Object.every (), az Object.each () stb., és olyan új funkciókat is tartalmaznak, mint a "String BufferedReader.getText ()" és az "InputStream.eachLine (Bezárás)".
6) Említse meg a bezártság és a hallgatók szerepét Groovy-ban?
Groovy nem támogatja az anonim belső osztályokat; a cselekedetek hallgatóit a lezárások útján lehet meghatározni. A Groovy-ban a hallgatók bezárását ListenerAdapterként használják, ahol csak egy érdekes módszert írnak felül.
7) Magyarázza el, hogyan adhat hozzá dolgokat az osztályúthoz, amikor groovy vagy groovysh-ban futtatja a dolgokat?
Hozzáadhat dolgokat a $ CLASSPATH környezeti változóhoz. Egy másik lehetőség az, hogy létrehozunk egy .groovy / lib könyvtárat a saját könyvtárban, és hozzáfűzünk minden tégelyt, amelyik alapértelmezés szerint rendelkezésre áll.
8) Említse meg, mi a Groovy engedélye?
A Groovy futás közben függ az ASM könyvtárától, valamint a Java 1.4-től és a Groovy jar-tól.
9) Magyarázza el, mi az ExpandoMetaClass a Groovy-ban?
Az ExpandoMetaClass módszerek, tulajdonságok, statikus módszerek és konstruktorok hozzáadására szolgál. Az expandoclass alapértelmezés szerint nem öröklődik; meg kell hívnia az ExpandoMetaClass.enableGlobally () alkalmazást.
10) Magyarázza el, hogyan fejeződik ki a Groovy karakterlánc?
A Groovy karakterláncot Gstring-nek nevezik.
- Dupla idézőjelek veszik körül, a szokásos húrokhoz egyetlen idézőjelet használ
- Tartalmazhat Groovy kifejezéseket, amelyeket a következő dollár jegyez: $ {}
- Szögletes zárójeles szintaxis alkalmazható a charAt (i) módhoz hasonlóan
11) Hogyan szerezhetne be egyetlen értéket az adatbázisból a Groovy segítségével?
Egyetlen érték visszaállításához az adatbázisból használhatja a parancsot
row = sql.firstRow ('select columnA, column from tableName')
println "Row: columnA = $ {row.columnA} and column = ${row.columnB}"
12) Magyarázza el, hogyan lehet lekérdezni a Groovy-ban?
Lássunk egy egyszerű példát arra, hogyan hívja ki Groovy a lekérdezést
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) Magyarázza el, hogyan lehet az AST-t (Abstract Syntax Trees) építeni a Groovy-ba stringből?
Az AST-t Groovy-ban építheti
- Húrok
- Kód
- A DSL-szerű specifikációból
Egy AstBuilder objektum biztosít egy API-t az AST felépítéséhez a Groovy forráskód sztringjeiből. Például
Sorolja fel az
14) Magyarázza el, hogyan lehet egy groovy forgatókönyvet beilleszteni egy másik groovy-ba?
Felvehet egy groovy szkriptet egy másik groovy-ba a következő kód használatával. Ha ezt a kódot a szkript tetejére helyezi, akkor egy groovy fájl tartalmát fogja behozni.
Értékelés (új fájl ("... /tools/Tools.groovy"))
15) Magyarázza el, mi az a Groovysh?
A Groovysh egy parancssori alkalmazás, amely lehetővé teszi a Groovy kifejezések kiértékeléséhez, osztályok meghatározásához és kísérletek futtatásához való könnyű hozzáférést.
16) Magyarázza meg a GroovyDoc megjegyzését?
A többsoros megjegyzésekhez hasonlóan a GroovyDoc megjegyzései is többsorosak, de a / ** -vel kezdődnek és * / -vel végződnek. Ezek a megjegyzések a következőkkel kapcsolatosak:
- Típusdefiníciók (osztályok, interfészek, felsorolások, kommentárok)
- Mezők és tulajdonságok meghatározása
- Módszerek meghatározása
17) Magyarázza el, hogy melyek a Bitwise operátorok a Groovy-ban?
A bitenkénti operátorok megvalósíthatók egy BYTE-n vagy egy INT-en, valamint a return és az INT-en. A bitenkénti operátorok 4 bitenkénti operátort kínálnak
- &: bitenként "és"
- I: bitenként "vagy"
- V: bitenként "xor"
- ~: bitenkénti tagadás
18) Sorolja fel a Groovy és a Java közötti különbségeket?
- A Groovy összes csomagját és osztályát alapértelmezés szerint importálja, nem kell kifejezetten használni az importálási utasítást
- Ellentétben a Java-val, ahol a módszereket fordítási időben választják, a Groovy-ban szereplő módszereket a futásidejű argumentumok típusai alapján
- A (z) {…} blokkban a zárak vannak fenntartva, ami azt jelenti, hogy ezzel a szintaxissal nem lehet tömb literálokat felépíteni
- A Java-hoz hasonlóan, egy mezőben egy módosító kihagyása nem eredményez csomag privát mezőt
- A Groovy nem támogatja az automatikus erőforrás-kezelést vagy a java 7 ARM-blokkját
- A Java 8 lambdákat többé-kevésbé névtelen belső osztályoknak tekintik, és Groovy nem támogatja ezt a szintaxist
19) Magyarázza meg a szőlőfüggőség szerepét a Groovy-ban?
Grape a Groovy-ba felvett JAR függőségi menedzser. Ez lehetővé teszi, hogy gyorsan feltérképezett lerakatfüggőségeket adjon hozzá az osztályútjához, megkönnyítve a szkriptek készítését. A legegyszerűbb felhasználás egy kommentár hozzáadása a szkripthez.
20) Magyarázza el, mit jelez a JsonSlurper osztály?
A JsonSlurper egy olyan osztály, amely a JSON szöveget vagy olvasói tartalmat Groovy adatstruktúrákká (objektumokká) elemzi, mint például listák, térképek és primitív típusok, például kettős, logikai, karakterlánc és egész szám.
21) Amikor a "propertyMissing (String)" metódust hívják meg?
A "propertyMissing (String)" metódust akkor hívjuk meg, ha a Groovy futásidejűleg nem lehet egy adott tulajdonságra vonatkozó getter metódust észlelni.
22) Megemlíti, hogy milyen relációs operátorokat használnak a Groovy-ban?
A relációs operátorok lehetővé teszik az objektumok összehasonlítását, annak ellenőrzését, hogy a két objektum különbözik-e egymástól vagy azonos-e, vagy az egyik kisebb, nagyobb vagy egyenlő-e másokkal.