2. dia Java technológia áttekintés Flashcards

1
Q

Mint programozási nyelv

A

90-es évek, James Gosling
Általános célú, konkurens, osztályalapú, objektumorientált programozási nyelv.
Rokona a C-nek és C++-nak.
Erősen típusos és statikus típusos nyelv.
(Bájt kód - fordítás, VM - végrehajtás)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Java paradigmák

A

Objektumorientált (Osztályalapú)
Generikus
Funkcionális
Konkurens
Refletív
Strukturált

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Java virtuális gép

A

Absztrakt számítógép saját utasításkészlettel.
Csak a bináris class állományformátumot ismeri.
Java platform alapköve, felelős a függetlenségért, kis méretű lefordított kódokért, és a rosszindulatú kódok ellen véd.
Szabad, nyílt forrású:
Hot Spot (Open JDK)
Eclipse OpenJ9
Nem szabad:
PTC Perc
Azul Platform Prime

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Java Platform

A

Olyan szoftver platform, amely más hardver platformokon fut, és amelynek az álábbi két fő komponense van:
- JVM: Java virtuális gép
- API: Java alkalmazásprogramozási interfész

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Milyen Java platformok léteznek?

A

Java Platform, Standard Edition (Java SE)
Java Platform, Entreprise Edition (Java EE)
Java Platform, Micro Edition (Java ME)
Java card

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Java SE

A

Java platform asztali és szerver számítógépekre történő alkalmazásfejlesztéshez.
Implementáció két fajtája:
Java futtató környezet : JRE
Java fejlesztői készlet : JDK
(JDK 11-től nincs önállő JRE)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Java futtató környezet JRE

A

A Javában írt programok végrehajtására szükésges állományokat tartalmazza:
JVM
osztálykönyvtárak
további állományok…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Java fejlesztői készlet JDK

A

Fejlesztői környezet alkalmazások és komponensek a a Java programozási nyelven történő készítéséhez.
Tartalmaz egy JRE-t valamint, fejlesztéshez, teszteléshez és monitorozáshoz alkalmas eszközöket.
Nem szabad implementációk:
Oracle JDK, Azul Platform Core
Szabad és nyílt forrású implementációk:
Oracle OpenJDK, Amazon Corretto, Azul Zulu Builds of OpenJDK, Microsolf Build of OpenJDK

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Java EE

A

API-t és futtató környezetet biztosít többrétegű, skálázható , megbízható szerver oldali alkalmazások fejlesztéséhez és futtatásához.
Java SE platformra készült.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Java Community Process (JCP)

A

1998-ban bevezetett a Java-hoz kötődő technológiai specifikációk, referecnia implementációk és tesztkészletek fejlesztésére és felülvizsgálatára.
Bárki résztvehez díjmentesen.
JSR a specifikációk indítványozása.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Java Enchancement Proposal (JEP)

A

Folyamat JDK fejlesztésére irányuló javaslatok kezelésére, OpenJDK projektben.
JDK kiadásokhoz egy javaslatokból álló, rendszeresen frisstett lista.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Előzetes lehetőségek

A

Lehetővéteszi a Java nyelv, VM vagy a Java SE API új lehetőségének kipróbálását, annak érdekében, hogy ezek a lehetőségek véglegesek legyenek-e.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Kapcsolódó programzási nyelvek és platformok

A

JavaFX
Android
Apache Groovy
Kotlin
GraalVM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

JavaFX

A

A Java SE-n alapuló platform olyan vastag kliens alkalmazások készítéséhez, melyek következetesen működnek különféle eszközökön.
JDK 11-ben eltávolításra került, helyét az OpenJFX hivatott betölteni, amely egy külön letöltésként érhető el.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

OpenJFX

A

Platformok: Linux, Windows, macOS
Fejlesztői eszközök:
- Eclipse Toolong for JavaFX
- Gluon Scene Builder
- WebFX

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Android

A

Google altal feljlesztett, Linux kernelre épülő mobil operációs rendszer és szoftver platform.
Alkalmazásokat C++, Java, Kotlin és Rust nyelven írhatunk. Elsődleges nyelve a Kotlin.
Fordítás DEX bájtkódra történik, amelyet aztán az Android Runtime gépi kódra fordít.
Fejlesztő OHA (Open Handset Alliance)

17
Q

Apache Groovy

A

OOP a Java platformhoz, amely simán intengrálható bármilyen Java programmal.
Opcionálisan típusos és dinamikus, de támogatja a statikus típuskezelést és fordítást.
Java bájtkódra fordítódik.
Mire jó?
Szkriptek, szakterület-specifikus nyelvek létrehozása, futásidejű és fordítási idejű metaprogramozás, valamint funkcionális programozás.

18
Q

Kotlin

A

Általános célú, statikusan típusos.
OO és funkcionális paradigmát is támogat.
Tetszőleges fejlesztéshez használható: szerver/kliens oldali webfejlesztés, Android alkamazásfejlesztés..
Java bájtkódba vagy JavaScripre is fordítható, valamint fordítható a támogatott platformokon futó natív binárisokká is.

19
Q

GraalVM

A

Nagy teljesítményű JDK disztribúció Java és más nyelveken írt programok gyors végrehajtására.
Nativ Image lehetőséggel platform-specifikus natív végrehajtható binárissá fordítja a bájkódot. Ez 100xx gyorsabb és erőforrásokhatékonyabb.
Több nyelvet támogat, és több nyelven írt kódok fejlesztését is lehetővéé teszi.

20
Q

GraalVM (Truffle)

A

Segítségével saját nyelveket implementálhatunk egy szintaxisfa értelmező segítségével.
Segíti a GraalVM-en hatékonyan futó alkalmazások implementálását.
Lehetővé teszi programnyelv-agnosztikus eszközök (Hibakeresők, profilozók) fejlesztését.

21
Q

SDKMAN!

A

Szoftverfejlesztő készletek párhuzamos verzióinak kezelésére készült eszköz.
Nem követel meg rendszergazdai jogosultságot.
SDK-k telepítésére és kezelésére alkalmas.

22
Q

JShell

A

Java deklarációk, utasítások és kifejezések interaktív kiértékeléséhez készült parancssori eszköz.
Read-Evaluate-Print Loop eszköz (REPL).
Gyakran használt csomag felső szintű típusai alapértelmezetten importálásra kerül.
Elhagyható az utasításokat záró pontosvessző karakter.
Automatikus kiegészítés.
Kereshető és szerkeszthető történet.
Az begépelt kódrészleteket snippetsnek nevezzük.