- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Videós, mozgóképes topik
- Négy játékkal is szemez az új Arc meghajtó
- Apple notebookok
- Milyen billentyűzetet vegyek?
- Projektor topic
- Azonnali processzoros kérdések órája
- LG C4 tévé, a népszerű OLED-sorozat legfrissebb tagja
- AMD Navi Radeon™ RX 6xxx sorozat
Hirdetés
-
One UI 6.1 frissítésekkel túlórázik a Samsung
ma Középkategóriás telefon és ütésálló tablet is részesült belőle a hétvége előtt.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Posztapokaliptikus Radeon kártya készül a Sapphire műhelyében
ph A Navi 32 GPU-ra épülő, limitált darabszámú modell a vizuális dualizmus jegyében született, és a 11 Bit Studios láttamozta.
Új hozzászólás Aktív témák
-
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
-
modder
aktív tag
Hali, nagyjából jó, amiről beszéltek, de kicsit össze vagytok zavarodva.
Azt mondjátok, hogy "ha változtatsz a kódon, a JIT csak azt fordítja újra". De ehhez előbb nyilván bytekódot kéne generálni, szóval ez a példa nem jó.
A jvm interpreterként működik: veszi a bytekódot, és sorról sorra megfeleltetni egy-egy gépi utasításnak vagy jvm-beli utasításnak. Ilyen a PHP is, a python is, az összes interpretált nyelv.
Amitől a JVM-et Hotspot-JVM-nek hívják az a JIT, ami az alábbi tulajdonságot aknázza ki:
Általában elmondható, hogy egy program a futása során az idő 90%-át a programrészek (függvények) 10-20%-ában tölti el.és ebből jön a JIT működése:
A JVM futtatja a kódot, statisztikákat készít róla futás közben (profiling). Megtalálja ezt a 10%-ot, ahol a program a futása során a legtöbb időt tölti, majd ezeket a kódokat direktbe lefordítja a célgép gépi kódjára, majd beszúr egy ugrást az eredeti bytekódba (természetesen a memóriában, a .class fájlokba nem ír semmit), hogy most onnantól a gépi kódos rész fut.Az optimalizálás pl. abban nyilvánul meg, hogy a JVM látja, mik azok a feltételek, amik sok-sok lefutás után sosem teljesülnek vagy mindig teljesülnek, és úgy fordítja az adott kódrészletet gépi kódra, hogy ezeket a feltételeket alapból igaznak vagy hamisnak veszi
Például egy if-else ág mindig csak egyik fele igaz, akkor úgy fordítja le a kódot, hogy ki is hagyja a feltételvizsgálatot. Természetesen folyamatosan figyeli ezeket az előfeltételeket, és ha van 1 eset, amikor mégis lefutna a kioptimalizált rész, akkor az eredeti bytekódot futtatja interpretált módban.Szó sincs arról, hogy mindent gépi kódra fordít.
Remélem tisztáztam
Szerk:
még annyi, hogy ezek mind a program 1-1 futása során történnek. nincsen olyan, hogy a futását befejező program gépi kód részeit valahová elmenti, és ha újra futtatod, akkor azokat betölti. ezek mint just-in-time egy-egy futás alkalmával történő változtatások. ( ezt azért mondom, mert régen én így képzeltem )[ Szerkesztve ]
-
Lacces
őstag
Köszi! .
(Csak gyere gyakrabban ide, hogy hasznos dolgokat is olvassunk)
Te ezt hol olvastad? Én nem egy honlapot nézegettem, és ilyen mélységig nem mentek bele a magyarázatba, így ki következtetem az eddig olvasatokból és tanulmányaimból.
(Ez az optimalizálás nekem új volt -
WonderCSabo
félisten
Hello!
Próbálkozott itt vki Eclipse Subversive alá 1.3.7-es (tehát SVN 1.7-et támogató) SVNKitet felrakni? Mert sajnos nekem nem sikerült.
-
modder
aktív tag
[ Szerkesztve ]
-
G.Zs.
senior tag
válasz WonderCSabo #2557 üzenetére
Én egyszer próbáltam, de nekem sem sikerült.
Most Subclipse-et használok 1.3.5-ös SVNKit-tel.[ Szerkesztve ]
Ha a menyasszony apja az örömapa, a menyasszony anyja az örömanya akkor a menyasszony az örömlány?
-
Gh0sT
addikt
Sziasztok!
Előre bocsátom, hogy semmit nem értek a Java-hoz, szóval amit kérdezni fogok annak lehet hogy semmi értelme nem lesz, de azért megpróbálom megfogalmazni mit szeretnék.
Használok egy "jar" kiterjesztésű parancssoros alkalmazást, ami gondolom Java-ban íródott. Van egy lib könyvtáram is a fájlom mappájában, amiben további jar kiterjesztésű fájlok találhatóak. Gondolom ezek kellenek a működéshez.
Maga az alkalmazás példa jelleggel készült fejlesztők számára, hogy ebből merítsenek ötletet egy bizonyos probléma megoldására. A lényeg hogy ez a program magában is alkalmas az általam igényelt probléma megoldására egyelőre, azonban most megszüntették a fejlesztését.
Mivel fejlesztőknek készült változatról beszélünk, ezért vannak mellé java kiterjesztésű fájljaim is. Ez az én meglátásom szerint a forráskód lehet. Lövésem nincs, hogy vajon megvan-e a teljes forráskód, az viszont biztos, hogy az alaprogram nevével megegyező java fájlom van. És persze még sok másik.
A forráskódot végignéztem, nem sok mindent értek belőle, de tudom, hogy mit kellene belőle kiszedni, hogy továbbra is használható legyen az alkalmazás. Van egy lépés, amit a programnak a jövőben nem kellene elvégeznie, mert arra más módszert használok majd.
Tudna nekem valaki segíteni abban, hogy kikommenteljen egy részt a programból és az továbbra is használható maradjon?
Előre is köszönök minden segítséget!
[ Szerkesztve ]
Soha nem késő, hogy azzá válj, aki lehettél volna.
-
Lacces
őstag
Szia!
"Mivel fejlesztőknek készült változatról beszélünk, ezért vannak mellé java kiterjesztésű fájljaim is. Ez az én meglátásom szerint a forráskód lehet." - igen, azok a java fájlok a forráskódok
Egyrészt még nekem is van mit tanulni Java-ból . Másrészt most egy darabig nem igazán érek rá senkinek sem segíteni (saját weboldalam tervezésére sincs időm)
De ha senki sem tud segíteni, akkor jövőhétvégén dobhatsz egy privit és ránézek.
-
G.Zs.
senior tag
Küldd el légyszi az egész cuccot a mail címemre, és azt, hogy mit szeretnél módosítani a működésben. Holnap megnézem, és mondok valamit mindenképp. Privátban küldöm a címet.
[ Szerkesztve ]
Ha a menyasszony apja az örömapa, a menyasszony anyja az örömanya akkor a menyasszony az örömlány?
-
Fooler89
őstag
Sziasztok
Olyan kérdésem lenne, hogy szeretnék egy sakktábla szerű táblát csinálni, de annyi különbséggel, hogy a különböző JPanelekre tudjak hivatkozni, mivel utólag szeretném módosítani a színüket bizonyos időközönként.
Hogy tudom ezt megoldani sok gépelés nélkül? -
sutszi
veterán
válasz Fooler89 #2566 üzenetére
Bár lehet nem jó oldalról közelítem, én valami ilyesmiből indulnék ki:
Lenne egy csempe/mezo ami JPanel. Ebből egy ciklussal csinálok 64-et és bele egy ArrayList-be.
Bár ha úgy akarod elérni őket, hogy A1, meg B7 mező, akkor valamivel bonyolultabb a létrehozás pl... két két ciklus kell hozzáAlaposan nem gondoltam végig, csak így hirtelen ötlet volt...
Amúgy van itt olyan aki Java stored procedure és webservice-el kapcsolatban képben van? Esetleg van jóféle magyar nyelvű könyve?
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
sutszi
veterán
Angol van nekem is...a könnyebb és gyorsabb tanulás miatt kellett volna magyar.
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
modder
aktív tag
válasz Fooler89 #2566 üzenetére
Én nem is értem ezt a kérdést.
Én SWT-vel bíbelődtem mostanában, és kódoltam a felületet, nem tervezővel csináltam, így nyilván könnyebben nyúlok hozzá a különböző elemekhez, mintha a generált kódból szeretném kiszedni az egyes elemek referenciáit.
Egyre tudok gondolni, hogy a kérdésed arra vonatkozik, hogyan tudsz hivatkozni a tervezővel megrajzolt felületen lévő elemekre, mert az valószínűleg egyenként hozta létre mind a 64 elemre a referenciát.
Ha nem akarsz sokat kódolni (egyenként beletenni a generált elemeket egy mátrixba), akkor bizony kódolnod kell... generáld le te az említett elemeket, és kapásból pakold is őket bele egy mátrixba vagy tömbbe, vagy tudom is én, ahogy ábrázolni szeretnéd a sakktábládat.
Egyébként a sakktábla modelleden is elgondolkodhatsz. Elképzelésem szerint szeretnéd váloztatni a kocka színét, ha rálép egy bábú, rajta van egy bábú, vagy ráklikkel valaki. Előbbi esetekben érdemes lehet származtatni vagy becsomagolni egy osztályba a JPaneleket, amik a kockákat jelentik (decorator pattern pl.), és így minden egyes panelhez tudsz majd rendelni állapotot: rajta van egy bábú, melyik bábú van rajta.
Ez a baj a swinggel, hogy vannak kifinomult form tervezők, amivel megcsinálod a csilli-villi felületet, de amikor már interaktívvá kell tenni, akkor bizony hozzá kell nyúlni kódban is, és akkor jössz rá, hogy igazából nem tanultál semmit a swinggel kapcsolatban azzal, hogy összekattintgattál valamit.
-
Davs
tag
Hali!
Nezegettem mar par tutorialt, megyeket a Java, stb. Az lenne viszont a kerdesem, hogy a vilagon ugye most a legelterjettebb nyelv a java, ha jol emlekszem 20% felett van (nemtudom pontosan melyik kutatas alapjan olvastam ezt). Dilemmaban voltam, hogy a Javanak, vagy a C++-nak alljak-e neki, vegul Java mellett dontottem (amit abszolut nem banok, objektumokkal kapcsolatban is megtanultam sok olyan dolgot, amit kesobb mas nyelvnel is tudok kamatoztatni).
A kerdesem az lenne, hogy hol hasznaljak a Javat? Ugye mobil/android szektor az vilagos. De azonfelul? Windows-os/Linux-os GUI-s programokhoz en valahogy a C++-t szimpatikusabbnak talalom, foleg Windowsra, ahol nem kell JDK-t telepiteni kulon..foleg, hogy a c++ ha jol tudom "gyorsabb". Nem otthoni, inkabb ilyen ceges viszonylatban erdekelne a dolog, hogy ha pl fosuli utan Java fejleszto lennek, akkor kb mire szamithatok. Tehat milyen teruleten hasznaljak a Javat?
Koszonom a valaszokat -
Lacces
őstag
Én állást keresek Java-ban eddig nem sok visszajelzés. Így mélyítem a tudásomat.
Amit én állásportálokon észrevettem:
Java: Webprogramozás (JSP, JSF)
Pénzügyi/Bank szoftverek
Üzleti szoftverekC++ meg mindent lefed mint programozási nyelv. De én úgy mondom, hogy a Java-ra nem mint programozási nyelvre gondolj. Hanem mint programozási "környezet", platform-ra.
Úgy mint Microsoft oldalon, van a programnyelv: C# vagy VB. és aztán ott van mögötte álló hatalmas nagy .NET keretrendszer, és akkor már hoppá, grafika, web, adatbázisos dolgok. (és ez a Java-ra is igaz), bár úgy vettem észre, hogy a műszaki ipar a .NET-et kedveli inkább a Java-val szemben... de ez nem biztos (amúgy meg ott a C és C++ az egyeduralkodó).
-
G.Zs.
senior tag
A Java-val alapvetően kétféle irányba érdemes elindulni:
- Az egyik az Android platform, ami eléggé úgy néz ki, hogy egy jó ideig piacképes tudást fog jelenteni.
-A másik a szerver oldali programozás, amire hosszú évek óta hatalmas kereslet van, általában közepesen jó fizetésekért.Én pár évvel ezelőtt az utóbbi vonalon indultam el, és nem bántam meg. Épp mostanában volt aktuális nekem is az új állás keresése, és alapvetően elégedett voltam azzal, amit tapasztaltam.
Az elmúlt hónapban kb. 10 helyre küldtem önéletrajzot, ebből egy kivételével be is hívtak interjúra.
A kiválasztási folyamat szinte mindenhol más volt. Valahol algoritmizálási készséget mértek, valahol SCJP szerű tesztet kellett megoldani, valahol OOP/Design Pattern -ekre kérdeztek rá leginkább, és volt, ahol a több keretrendszer ismeretét (EJB,JPA,Spring,JSF stb.) várták el.Kezdőként, 0 tapasztalattal még így is viszonylag nehéz munkát találni, de nem lehetetlen.
Ha a menyasszony apja az örömapa, a menyasszony anyja az örömanya akkor a menyasszony az örömlány?
-
modder
aktív tag
Igen, ha Java, akkor inkább Java EE-re kell gondolni, ami mindenféle apit és szolgáltatást nyújt middleware rendszerek létrehozására, illetve webprogramozásra.
Szóval Javaval kapcsolatban elsősorban nem felhasználói programokra kell gondolni, hanem háttér rendszerekre.
Bár egyébként nem tudom, hogy miért nem használják gyakrabban felhasználói programokhoz. Én mostanában Eclipse RCP-ben fejlesztgettem SWT-vel, és nagyon használható, natív hatású felületeket lehet lérehozni vele, de tény, hogy az MS WPF-től elmarad sokban. Amúgy pl. a Vuze torrent kliens teljes egészében Javaban íródott, és SWT-t használ.
-
modder
aktív tag
válasz Taoharcos #2582 üzenetére
Servlet/JSP/JDBC az alap. Én ezekkel nem is nagyon foglalkoztam, inkább megpróbáltam kapásból JSF, EJB, JPA-t tanulni. Ez a kombó már komolyabb alkalmazások elkészítésére is alkalmas, és jobban karbantartható, de nem egyszerű megtanulni. Lényegesen lassabb megtanulni, mint az előbbit, de ha rendes Javas karriert akarsz befutni, mindenképpen érdemes ezt tanulni, szerintem. (vagy Struts2 ill. Spring3)
JSF mellett még ott van a Struts2 és a Spring framework 3. Mind a három MVC architektúrájú, nagyon sokat tud, de nem foglalkoztam az utóbbi kettővel. Azt tudom, hogy a JSF az bekerült a Java specibe, így hivatalosan támogatott keretrendszer, nagyon jól együttműködik EJB-vel és JPA-val.
Lacces: Szerintem jó ötlet, még a JSP, JDBC kombóval is PHPval szemben, mert rendes objektumorientált szemlélettel tudsz dolgozni, és tisztább kódot tudsz írni, ezt a nyelv megköveteli. Csomó dolog nincsen benne, ami a PHP-t dinamikusabb, alkalmazkodóbb nyelvvé teszik, de pont ezek miatt a megszorítások miatt lesz majd értelmesebb és átgondoltabb a kód. (Persze Javaban is ott a Reflection API, amivel aztán csuda dolgokat lehet művelni)
[ Szerkesztve ]
-
G.Zs.
senior tag
Alapvetően egyetértek azzal amit írtál. Két aprósággal egészíteném ki.
Az MVC csak egy kis része a Spring keretrendszernek. Alapvetően nem csak webes, hanem komplett enterprise alkalmazások fejlesztésére alkalmas, mintegy alternatívája a J2EE-nek.
Nagyon ajánlott megtanulni, viszont az igazsághoz hozzátartozik, hogy interjúkon inkább J2EE kérdéseket tesznek fel, így állás kereséskor érdemes inkább arra rágyúrni. Konkrétan én sehol nem kaptam még Spring-es kérdést, még ott sem ahol a pozíció kiírásban benne volt, mint követelmény, ellenben szabvány J2EE kérdést annál inkább.A PHP vs JSP kérdéshez az is hozzá tartozik hogy egy JSP-t támogató web hosting szolgáltatás jóval drágább, mint a sima PHP-s. Ha nem saját szerverre fejlesztesz, ez is fontos lehet.
Ha a menyasszony apja az örömapa, a menyasszony anyja az örömanya akkor a menyasszony az örömlány?
-
modder
aktív tag
Ezt jó tudni, hogy a Spring, mintegy alternatívája a Java EE-nek. Nem foglalkoztam vele még, csak tudom, hogy van.
A webhostingról meg annyit, hogy mindenért fizetni kell. nem vagyok jól tájékozott hosting szolgáltatások terén, de szerintem egy javás hosting nem kerülhet többe, mint egy hasonló tudású php-s hosting árának másfélszerese. Tudom, hogy válság van meg mindenki szegény, de azért egy szolgáltatásért ki lehet fizetni évi mondjuk 8 ropit
-
Lacces
őstag
modder és Taoharcos köszi!
Mert ha az egyik ötletem összejönne, akkor úgy mond lenne látogatottság, ha meg nem, akkor nem.
PHP vs Java, inkább úgy kérdem, hogy teljesítményben a Java weboldal nem lassúbb mint egy PHP-s weboldal?
És melyik adatbázist érdemes hozzá használni?
ASP.NET-ezek is, az egyik webprojektem biztosan ebben készül. (ADO.NET-eztem is így a JDBC szemlélete nincs mesze tőlem De így nekem az MSSQL jobban bejön mint a MySQL.
-
sutszi
veterán
Taoharcos: Kösz. Pont nemrég szereztem be.
Lacces: Igen a sokszor nem éppen aktuális anyagokat én sem szeretem. DE épp mostanában kezdek rájönni, hogy vannak dolgok amik sokáig nem változnak meg alapjaiban...inkább csak apránként. Az ilyenekhez viszont jók a "régebbi" könyvek is. Kezdetnek...
Ebből a témából ráadásul nagyon friss könyveket még angolul sem találtam...bár lehet csak éppen nem voltam barátkozós a google-al...
[ Szerkesztve ]
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
Lacces
őstag
Igaz, nem új, de a Murach féle könyvet olvastam ADO.NET-ben és megvoltam vele elégedve
(A PHP-s-nál annyira nem, de +1 pont, hogy kezdőként ott nagyon tolta az MVC szemléletet.) -
Ricqy
tag
Sziasztok!
Egy kis segítség kellene egy programban.
Netbeans-ben csináltam egy programot 2 gombos GUI-val, és a gomb megnyomására ír egy fájlt. A segítség ott kéne, hogy egy felugró ablakot kéne csinálni ha elvégezte az írást.
Sajnos a gugli most nem volt a barátom, mert csak a JavaScript-es felugró ablakokat mutatott :-/
Aki tud segíteni annak köszönöm.Dealloc makes the ARC-angels cry.
-
sutszi
veterán
Ilyesmire gondoltál?
http://www.roseindia.net/java/example/java/swing/ShowDialogBox.shtml
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
Fooler89
őstag
-
modder
aktív tag
válasz Fooler89 #2598 üzenetére
Nem tudom, hogy ez miért bonyolult. akár egy ciklusban is megoldható, én SWT-ben így oldanám meg (pszeudo kód), nem hiszem, hogy SWING-ben ez nagyon különbözne.
List<JPanel> jpanels = new ArrayList<JPanel>();
for( int i = 0; i< 64; i++ ){
JPanels p = new JPanel( .. );
//beallitod p koordinatait, kiterjedeset
...
//hozzaadsz egy eventlistenert click esemenyre
p.addClickListener( new ClickListenerInterfesz(){
void clickEvent( Event e ){
//beallitod a kivant szint
e.target.setBackgroundColor(...);
}
);
jpanels.add(p);
}sőtt, nem is valószínű, hogy kell minden egyes JPanelhez új ClickListener-t példányosítani, mert általában az esemény target-jéből (melyik elemre vonatkozott) ki lehet nyerni magát a GUI elemet.
[ Szerkesztve ]
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen