- Csillagfelhő áztatná el Elon Musk űrkarneválját
- AMD-s AI-ra építenek az ASUS üzleti portfóliójának új egybegépei
- Rejtély az űr csendjében: ezért kellett kimenekíteni az Űrállomás csapatát
- Kipukkadt a videós AI lufi? A Sora elkaszálása csak a kezdet
- A jövőben egy új foglalat több CPU-generációt is kiszolgál majd az Intelnél
- Milyen billentyűzetet vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- HiFi műszaki szemmel - sztereó hangrendszerek
- OLED TV topic
- Kezdő fotósok digitális fényképei
- TCL LCD és LED TV-k
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Milyen videókártyát?
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- Androidos fejegységek
Új hozzászólás Aktív témák
-
válasz
Scroll Lock
#9256
üzenetére
Miert Java-ban? Kb. a legkevesbe alkalmas platform a celra.
-
TBG
senior tag
válasz
Scroll Lock
#3432
üzenetére
Érdekes workaround.....
-
WonderCSabo
félisten
válasz
Scroll Lock
#3429
üzenetére
Csinálj egy új osztályt a varázslóval, és pipáld be, hogy csináljon main fv-t bele. Akkor tuti jó lesz.
-
Karma
félisten
válasz
Scroll Lock
#3426
üzenetére
Esetleg a main függvényed szignatúráját idemásolnád?
-
WonderCSabo
félisten
válasz
Scroll Lock
#3426
üzenetére
A Run Configurationben egyébként direkt meg mondhatod neki, hogy melyik fv-t keresse.
-
pvt.peter
őstag
válasz
Scroll Lock
#3426
üzenetére
azt az osztalyt futtasd, ahol definialva van main metodus
-
Lacces
őstag
válasz
Scroll Lock
#2549
üzenetére
Hát őh, én úgy olvasom, hogy van a Fordító a (Javac) ami a forrásfájlt bytecode-ra fordítja. Ez tiszta.
Aztán van a JIT ami egyszer biztosan lefordít mindent! Bytecodra - natív gép kódra fordít.Szal a Javac forrásfájt -> bytecode-ra
és a JIT bytecoderól -> gép kódraA JIT elvégzi ezt egyszer. De ha mondjuk a forrásfájlon változtatsz, például az egyik függvényt módosítod a forrásfájlban, akkor a JIT csak azt a függvényhez tartozó bytecode-t fordítja le! És nem az egész .class fájlt.
(Több helyen többféleképpen magyarazák, én ilyesmit olvasok ki és akkor így a wikipédiás rész is szerintem érthetőbb, mert ott írja, hogy a C/C++ esetén minden egyes fájl újra fordítja, ha van valami változás, még a JIT csak ott, ahol történik, és nem minden egyes fájlt fordít újra)
Meg ha portolod az alkalmazást, egyszer Linuxon máskor Windowson... akkor biztosan lefut, de csak bytecode-ról gépikódra (Javac mégegyszer nem fut le).De ha például én csak az Autó osztályban módosítom a függvényeket, plusz függvényt adok hozzá, akkor a JIT csak ezt az osztályt fordítja le ismét. A motor vagy teherautó osztályt békén hagyja, azt nem fordítja le mégegyszer, mert minek? Abban módosítás nem történt, a bytecode-ja ugyanúgy nézz ki.
Szerintem inkább ez a lényeg.Szóval igen, az amit te mondtál. De én így tudom elképzelni a folyamatot.
Meg ez .NET is így van, ugyanezt az elvet használja fel és elsőfordításkor minden lassú, még Java-ban is de utána, már nem, érezhetően gyorsabb

-
Lacces
őstag
válasz
Scroll Lock
#2541
üzenetére
A nagygusztávos jegyzetet ajánlom neked. Ott az elején magyarul van valami írva a Java működéséről.
JIT az a JVM része...
Van a Forrásfájl, pelda.java ezt a fordító lefordítja, és átalakítja bytecode-ra, ebből keletkezik egy úgynevezett pelda.class, amit a JVM fogyaszt el. És a JVM futtatja a kódot, a JIT pedig Gépi nyelvre fordít le.
Magyarul az Interpeter( fordító .java -> .class fájlba). Az egyszer fordítja le.
És amikor jön a JVM akkor felhasználja a bytecode-t (.class fájlt), és ezekből készít natív gépi kódot (pl, Windowsra vagy Linuxra). És itt jön a JIT. A JIT megnézi, hogy mi volt egyszer már lefordítva, ha valami le volt, akkor azt nem fordítja le még egyszer, mert minek tököljön vele.
(Ha lehetséges, ő mindent csak egyszer fordít le, ezért is lehetne nevezni JOT-nak vagy Just-One-Time)
Viszont optimalizálást is végrehajt egy-egy függvényen, kódon. Ugyanis a JIT figyeli (futás időben vagyunk JVM), hogy mely kódrészletek voltak többször és gyakran meghívva, és azokat mindig igyekszik optimalizálni "újra fordítani".Ez magyar nyelvű ez neked szerintem bőven elég az 1. és a 6. pontot olvasd el
(Ismétlem 1. és 6. pont)Ez egy rövid és igen lényegre törő angol leírás, és szerintem ez így neked ennyi elég.
Vagy magyarul nézzél még .net-es leírást, ott is JIT működik (Just-In-Time fordító)
-
Chipi333
csendes tag
válasz
Scroll Lock
#2518
üzenetére
Ez azért fontos, mert egy java fájlban nem elérési utakat adsz meg az importált dolgokhoz, csak a package-ket. A Java pedig egy olyan könyvtárszerkezetet vár ami pont olyan mint a projecben a packageké. (Pl az allat.baromfi.Csirke osztályt az /allat/baromfi/ könyvtárban fogja keresni) Azt pedig tudnia kell, hogy ennek a könyvtárszerkezetnek hol a gyökere. (ergo nem elég ha csak úgy ráböksz egy fájlra, hogy fusson
)
Az meg egy jó kérdés, hogy az Eclipse ezt miért nem állította be az a/src-re importnál magától... -
Chipi333
csendes tag
válasz
Scroll Lock
#2513
üzenetére
Hát egyéb fórumok alapján ez akkor tud történni, ha a classpath rosszul van beállítva és az eclipse nem a bin gyökérből próbál futtatni. (pl van egy test nevű package-d és nem bin/-ből hanem bin/test/-ből próbálod futtatni a test.Main nevű classt, mert akkor a java a bin/test/test/Main.class-t fogja keresni és az tényleg nincs)
Na ez az amit nekem nem sikerült reprodukálni.
Command linbebol rossz helyről indítva sikerült kicsikarni a ClassNotFoundot a javaból, de az eclipsemet sehogy nem tudtam rávenni, hogy rosszul csinálja
Szóval fogalmam sincs hol lehet a hiba... -
Chipi333
csendes tag
válasz
Scroll Lock
#2506
üzenetére
Bővebbet tudsz irni arról, hogy mit/hogy importáltál és hogy akarsz futtatni?
Mert manifest fájl az a JAR fájlokban van, és ha azt próbálsz futtatni, akkor tényleg jöhet ez a hibaüzenet, de nekem az Eclipsből konkrétan még nem sikerült ezt a reakciót kicsikarnom, pedig kellően szétvertem egy projectet
-
Chipi333
csendes tag
válasz
Scroll Lock
#2504
üzenetére
Hát Project -> Properties -> Run/Debug configuration és itt meg tudod mondani, h mi legyen a main class. Ez remélem megoldja.
-
Tauren45
aktív tag
válasz
Scroll Lock
#2499
üzenetére
Üdv.
Köszi a BME-s utmutatót, megvettem mind2 könyvet remélem most már sikerülni fog haladnom.
Köszönöm még 1x a segítségeteket!

Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Milyen billentyűzetet vegyek?
- Samsung Galaxy A56 - megbízható középszerűség
- GL.iNet Flint 2 (GL-MT6000) router
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- HiFi műszaki szemmel - sztereó hangrendszerek
- OLED TV topic
- Kezdő fotósok digitális fényképei
- Xiaomi 17 Ultra - jó az optikája
- TCL LCD és LED TV-k
- Kipukkadt a videós AI lufi? A Sora elkaszálása csak a kezdet
- További aktív témák...
- Tamron 24-70mm f2.8 Di VC USD G2 (Nikon F) eladó!
- Steelseries Arctis 9X Wireless for xbox + Xbox dongle for PC
- ASUS ROG STRIX GeForce RTX 4090 WHITE OC EDITION 24GB - Alza garancia 2027.03.19 - BESZÁMÍTOK!
- ASUS ExpertBook P5 Ultra 7 / 32GB / 1TB / 2560x1600 MATT 144Hz / Gari 2028 06 05-ig!
- Félkonfig: AMD Ryzen 5 5600x + ASUS TUF B550M Plus WIFI + Corsair Vengeance RGB RT KIT
- Apple Watch Series 8 41mm GPS, Újszerű, 1 Év Garanciával
- Lenovo ThinkPad L13 Gen 3 i5-1245U FHD+ 16GB 512GB 1 év teljeskörű garancia
- 27% - Acer EK241Y IPS Monitor! 1920x1080 / 100Hz / 1ms / Adaptive Sync
- BESZÁMÍTÁS! Asrock Z790 i9 13900K 64GB DDR5 1TB SSD RTX4080 16GB Aerocool P500B Digi ARGB ADATA 850W
- LÉZEREZÉS! külföldi billentyűzet magyarra kb. 20-30p alatt!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




