- Azonnali mobilos kérdések órája
- Fotók, videók mobillal
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Mobil flották
- Ilyen lesz a Fairphone 6
- Hivatalos a OnePlus 13 startdátuma
- Érkezik a Samsung Health előfizetés?
- Motorola Edge 50 Neo - az egyensúly gyengesége
- iPhone topik
- Xiaomi Watch 2 Pro - oké, Google, itt vagyunk mi is
Új hozzászólás Aktív témák
-
Chipi333
csendes tag
válasz
WonderCSabo #2797 üzenetére
Hát így hirtelen én azt tudom javasolni, hogy csinálj erre egy daemon thread-et, ami kis pioritással fut, és bizonyos időközönként végigmegy a konténeren és kidobja a halott threadeket. Az időközök nagyságára igazából nincs konkrét ötletem, attól függ meddig futnak a szálak, mennyire kritikus, hogy ne legyen sok szemét a konténerben.
Aztán ezzel többet nem is kell foglalkozni, mert a daemon thread ugye meghal ha elfogynak a rendes szálak. -
Chipi333
csendes tag
válasz
pakriksz #2747 üzenetére
//4024B2E0C0000000 ez lesz a végére
String toConvert = "000000C0E0B22440";
BigInteger temp = new BigInteger(toConvert, 16);
long raw = temp.longValue();
long result = 0x0L;
result = (raw >> 32) | (raw << 32);
result = ((result << 16) & 0xffff0000ffff0000L) | ((result >> 16) & 0x0000ffff0000ffffL);
result = ((result << 8) & 0xff00ff00ff00ff00L) | ((result >> 8) & 0x00ff00ff00ff00ffL);
double converted = Double.longBitsToDouble(result);
System.out.println(converted);No akkor így műxik
-
Chipi333
csendes tag
válasz
pakriksz #2743 üzenetére
Nah, áthidaltam a problémát
String toConvert = "A2E16D3E949F633F";
BigInteger temp = new BigInteger(toConvert, 16);
double converted = Double.longBitsToDouble(temp.longValue());Longot sem lehet vmiért közvetlenül csinálni belőle... Valami az előjelesség miatt lehet, de a BigInteger megeszi, és a longValue() a "A2E16D3E949F633F" bitmintát adja vissza long-ként, és abból már lehet double-t kalapálni
-
Chipi333
csendes tag
válasz
MrSealRD #2739 üzenetére
Hát, ha elfogy a hely és új osztályt akarsz betölteni akkor ugyanúgy game over mint ha a heap telne be. A JVM-ek viszont konfigolhatóak, szóval ennek is állítható a mérete, lehet a heap része és ott lehet dinamikus is a mérete, de GC-je nincs feltétlenül, meg hát nem is biztos, hogy szerencsés már betöltött classokat kidobni.
-
Chipi333
csendes tag
válasz
MrSealRD #2735 üzenetére
Azt nem tudom, hogy ha közben van GC akkor ezeket is gyomlálja e...
A GC a classokat nem gyomlálja. Ezek az adatok nem a Heapen vannak hanem van erre egy külön memóriaterület. Bár úgy tudom, hogy van olyan megoldás is amikor ezt összevonják a heappel, mert pl sok a reflection használat, és nem lehet előre tudni mennyi class lesz betöltve, ellenben para lenne ha futás közben elfogyna itt a hely. -
Chipi333
csendes tag
-
Chipi333
csendes tag
válasz
Fooler89 #2720 üzenetére
Hát erre ötleteim vannak:
- lemásolod a listát, és a másolatból feliratozol, úgy, hogy addig mindig kiszedsz egy random elemet amíg el nem fogy
- csinálsz egy listát intekből(1-12), abbol szeded ki az indexeket random amíg el nem fogynak
- ha nem fontos a szavak sorrendje az eredeti listádban, akkor azt megkeverheted úgy, hogy x-szer kiveszel egy random elemet és beszúrod a végére
Meg valszeg vannak még opciók, de neem így hirtelen ezek jutottak eszembe. -
Chipi333
csendes tag
válasz
zserrbo #2710 üzenetére
Hát, nem csináltam még ilyet, de szerintem egy iterátorral megoldható az ArrayListben is, bár nem optimális. Egy LinkedList jobban teljesít ha véletlenszerű helyekről akarsz törölni (itt is iterátorral lépkedsz és a kívánt pozícióban azt mondod neki hogy remove()).
Indexelve is lehet wokraroundolni, ha számolod, hogy hányszor töröltél már és mindig annyival kisebb indexet törölsz(mert ugye annyival csúszott előrébb az elem), de ez azért elég undorító megoldás -
Chipi333
csendes tag
"Mert végül is ha örököl, akkor a gyermek osztály mindent másol a szülőtől?"
Igen, alapvetően mindent másol, de a private dolgokhoz közvetlenül nem fér hozzá, csak az ősben definiált protected/public metódusokon keresztül."A gyermek megtudja hívni az elfedett statikus adatmezőket és metódusokat?"
A statikus adattagok és metódusok a statikus típushoz kötődnek. Ezért van az hogy nem szokás példányon keresztül elérni őket, mert megtévesztő lehet, ugyanis a referencia statikus típusa határozza meg, hogy melyik lesz meghívva.
Pl.:
Szülő.StaticMethod(); //értelemszerúen a Szülő metódusát hívja
Gyerek.StaticMethod(); //értelemszerúen a Gyerek metódusát hívja
Szülő sz = new Gyerek();
sz.StaticMethod(); //a statikus típus(a referencia típusa), azaz a Szülő
//StaticMethodját fogja hívni és kapsz mellé egy compiler warningot is
//hogy statikus függvényt nem illik referencián keresztül hívniSzóval a gyerekből is eléred, de a szülő típuson keresztül kell rá hivatkozni.
Tömören kb. ennyiben lehet összefoglalni. De szerintem keress a témáról valami egyetemi jegyzetet és olvasd át, aztán ha valahol nem világos akkor kérdezz.
-
Chipi333
csendes tag
"Statikust is örökli? Azt gondolom nem, mert az csak az adott osztályra vonatkozik. (mint a statikus konstruktor, nem hozz létre példányt)"
Minden öröklődik. Itt kicsit összekavarodtál. A statikus valóban azt jelenti hogy az osztályhoz kötődik, és nem jön létre külön minden példányban, de ettől még a leszármazott osztálynak is meglesznek ugyanazok a statikus tagjai. A különbésg az, hogy máshogy működik a felüldefiniálás. Statikus dolgok esetén elfedésnek hívák, és teljesen máshogy viselkedik (angolul override helyett ezt hide-nak hívják).
-
Chipi333
csendes tag
Attól hogy a gyerek nem csinálhat vele azt amit akar még ott van, és öröklődik. Ha ez pl egy privát adattag aminek van gettere és settere akkor azokon keresztül olvashatod/írhatod, és a mező ugyanúgy része lesz az osztálynak.
Ennek látszólag nincs értelme egy 2 osztályból álló progi esetén, de ha bonyolultabb a helyzet akkor lehetnek olyan dolgok amikbe nem szeretnél, ha egy örököltetés után a gyerek osztály belenyúlhat, mert problémákat okozhat. (Pl van egy meződ, aminek az értékétől függ több más mező is, akkor nem akarod, hogy megváltozhasson az értéke anélkül, hogy a többi követé a változást) -
Chipi333
csendes tag
Tudsz olyat, hogy var.get(0).get(0) csak ebbe nem nehéz belezavarodni
De ha jól értem mit szeretnél akkor azzal jársz a legjobban ha csinálsz magadnak egy Candidates classt ami pl egy ArrayListben tárolja a számokat, és abból csinász egy 2 dimenziós tömböt(generikusokból nem tudsz tömböt csinálni ugyanis, de ha becsomagolod a dolgot egy saját osztályba akkor már jó vagy). Aztán ha kiürült, akkor vagy az osztályt írod meg úgy, hogy ezt meg tudja mondani magáról, vagy egyszerűen null-ra állítod helyét a tömbben. -
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
A NetBeans annyit csinal, hogy letrehoz neked egy osztalyt ami javax.swing.JFrame-bol szarmazik, es van benne alapbol egy GUI szerkeszto. Eclipseben ezt kezzel kell. De eselyes azert, hogy van ahhoz is vmi plugin ami megcsinalja helyetted. Mert hat kezzel guit irkalni a legundoritobb resze ennek a szakmanak
-
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.
-
Chipi333
csendes tag
válasz
pakriksz #2501 üzenetére
Hát ez biza 64bites(azaz tuti nem float32).
Ez a 8.83603 64bites IEEE 754 lebegőpontos számként (java double): 0x4021ac0c1fc8f323
A 000000400CAC2140 kb ugyanez big endianban. Ami különbség van a kettő között az nem túl szignifikáns biteken van. Szóval valószinűszeg tényleg valami big endian lebegőpontos reprezentációja lehet a 8.83603nak (kb), csak nem 32 hanem 64 biten. De hogy pontosan mi, azt nem hiszem hogy meg lehet mondani. -
Chipi333
csendes tag
válasz
pakriksz #2482 üzenetére
Nem teljesen értem a folyamatot. Azt kicsit átláthatóbban leirhatnád, hogy mi történik.
De ha nem tudod átnevezni a fájlt annak egy oka lehet: valamilyen processznél meg le van lockolva.
Ez lehet a külső progi ami konvertált (lehet még nem engedte el a file-t), ill. lehet a windows is (nem feltétlenül engedi fel azonnal a lockot miután egy progi bezárta a fált).http://stackoverflow.com/questions/1325388/how-to-find-out-why-renameto-failed
http://www.bigsoft.co.uk/blog/index.php/2010/02/02/file-renameto-always-fails-on-windowsGoogle első két találat a problémára és szerintem leirják, hogy mik a lehetséges bajok.
Ha csak annyi, hogy a windows még tartja rajta a lockot, akkor erre megoldás, hogy egy ciklusban addig próbálkozol az átnevezéssel amég nem sikerül(érdemes közben minden próbálkozás után pihentetni kicsit a szálat, hogy ezzel ne edd meg a procit). Ha valahol elfelejted bezárni a fájlt, akkor meg rá kell jönni, hogy ez hol van és javitani.Ui.: Ha nem windowson vagy akkor a lock felengedés késlekedése elvileg nem játszik, és tuti, hogy valahol nyitvahagyod a fájlokat.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- MacBook Pro 14" M1 MAX - 32GB / 1TB (2021) - Cseh billentyűzet - 224 ciklus / 88% - 1 év garancia
- Új - Macbook Pro 13" M1 - 2020, 16GB RAM, 1 TERA, touchbar - Apple garancia (106)
- Macbook Pro 13" M1 - 2021 gyártás, 16/512GB, touchbar - garancia (56)
- Macbook Pro 13" M1 - 2021 gyártás, 512GB, touchbar - garancia (63)
- BenQ LW650 3D Lézer WIFI DLP Projektor -4000 ANSI Lumen - 20E óra élettartam - USB-C - WXGA 1280x800
- Kingmax 1x2GB DDR3-1333 RAM
- Apple iPhone 12 64GB, Kártyafüggetlen, 1 Év Garanciával
- Oppo Reno7 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! MSI B550M R7 3700X 16GB DDR4 512GB SSD RTX 3060Ti 8GB NZXT H5 Flow RGB 650W
- AKCIÓ! Gigabyte B760M i5 14600KF 32GB DDR4 512GB SSD RX 6800XT 16GB Rampage SHIVA CM 750W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest