- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
- Mr. Y: Motoros sztorik #06
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- NASsoljunk: ZyXEL NSA-310 és az FFP
- Őskoczka
- gban: Ingyen kellene, de tegnapra
Új hozzászólás Aktív témák
-
p76
senior tag
public class Nfb {
public static void main(String[] args) {
Nfb nfb = new Nfb();
Object innerke = nfb.calculate();//innerke.?????
}private Object calculate() {
int width = 20;
class Inner {
public void multiply() {
System.out.println(2 * width);
}
}
Inner inner = new Inner();
inner.multiply();
return inner;}
}
Az innerke objektum cuccaihoz hogy lehet hozzáférni?
reflection-on kivül? -
zoleejunior
friss újonc
Sziasztok!
Egy dll függvényeit kéne java-ból meghívnom. A egyik függvény meghívása valahogy így néz ki:
fuggvenynev(bemenoparam pstr, kimenoparam pstr)
A bemenő és a kimenő paraméter is egy karaktertömbre mutató pointer. Próbáltam már néhány verziót, (pl: String, karakter tömb) de egyikkel se működött. A kimenoparam üres karaktertömböt tartalmaz. A legnagyobb gond, hogy semmiféle hibaüzenetet se kapok, és debugolni sincs lehetőség.
Hogyan kéne helyesen meghívni a függvényt? -
hefike
tag
Sziasztok!Olyan problémám van,hogy szeretnék filet beolvasni,azonban a file neve minden nap más.A filenév mindig az aznapi dátum,pl.a mai 2020.07.08.csv a holnapi 2020.07.09.csv és így tovább.Ezek mindig az aktuális év és hónap mappájában vannak.Tehát a kérdés,hogyan lehet a filebeolvasásnál a forrást dinamikussá tenni,hogy minden nap az aktuális,az aznapi .csv-t olvassa be,léptetni kellene az évet hónapot napokat.Hogyan lehetne ezt megoldani,hozzáteszem kezdő szinten.....adatbázis még nem játszik....
Köszönöm!
-
togvau
senior tag
válasz
floatr #11190 üzenetére
Ha feljoinolom a hozzá tartozót (userpropertiest), akkor is több queryt csinál. Fetch joinolni meg nem lehet, mert nem tudom mi neki a szükséges parent, mert már az összes entityt kipróbáltam a select listába rakni, de mindig azt írja, hogy a parent nincs a select listában.
Nem is production volt a cél, akkor már nem kell percenként újraindítgatni.
De meglett a megoldás, valami cachelési feature okozza, amit a jdbc url végére ;MV_STORE=FALSE rakásával ki lehet iktatni. -
válasz
togvau #11180 üzenetére
Ezt meg kéne tudni csinálni szerintem nativ query nélkül is. Régen csináltam hasonlót:
Optional<Deck> findByIdAndGame_Id(int id, int gameId);
A
deck
entity-nek pedig volt egy ilyen tulajdonsága:@OneToOne
@JoinTable(
name = "games_decks",
joinColumns = @JoinColumn(name = "deck_id"),
inverseJoinColumns = @JoinColumn(name = "game_id")
)
@JsonIgnore
private Game game; -
floatr
veterán
válasz
togvau #11188 üzenetére
Ha most jobban végiggondolod, ezt SQL-ben sem lehet normálisan megcsinálni. SQL Server-nek van valami JSON-ös megoldása erre, de sosem használtam. Vagy egy nagy JOIN-ba pakolsz mindent, de akkor ismétlődés lesz, amit kézzel kell aggregálni stream-collector alapon, vagy külön kérdezed le, úgy viszont neked kell összekalapálnod az összetartozó adatokat, ha a lazy initet nem szereted.
Igazság szerint, ha ilyen adatmodelled van, érdemes elgondolkodni egy NoSQL DB-n, mint pl. a Mongo.
A H2/HSQL/Derby nem production-ready DBMS. Helyette inkább MySQL/MariaDB egy docker konténerben.
-
togvau
senior tag
Másik: jpa-hoz lightosabb DB szerver, ami normálisan működik, és jól, és tudja azt mint egy nagy szerver? A H2 néhány alkalmazásindításonként összechunkolja a db fájlt.
-
togvau
senior tag
SELECT i.targetuser.id,i.id, i.targetuser.userProperties , i.interactiontime FROM Interaction i INNER JOIN Interaction it ON i.owneruser = it.targetuser WHERE i.owneruser.id = ?1 AND i.targetuser =it.owneruser
Interaction entity User entitykre mutat, a userhez meg tartozik userproperties entity, 1-1 kapcsolatban.
Itt a fenti kimenet kellene, csak 1 queryvel (mert ez 2-t eredményez, 1x ez a query, majd anyiszor userproperties query, ahány sor az eredmény.Ezt hogy lehetne 1 querybe rakni konkrétan? @Transactional nem használ, ha join fetchelni akarom a userpropertiest, mindig sír, hogy a parent object nincs a select listben, akkor is ha ott van (pl nem csak targetuser.id hanem targetuser).
-
floatr
veterán
válasz
togvau #11186 üzenetére
Egyrészt jó lenne, ha kicsit jobban leírnád a kérdéseidet, mert nem lehet követni, annyira csapongsz.
A JOIN FETCH egy JPA specifikus dolog, a Spring Data nem tehet róla, hogy néha kell. Ha használsz @Transactional-t, vagy open session in view filtert, akkor egy tranzakción belül, több dolgot is fel tud szippantani, mint szeretnéd.
Ha DTO-t használsz, akkor eleve máshogy fognak működni a dolgok.
Ha csak bizonyos mezőket szeretnél használni, arra ott vannak az implicit és explicit projekciók.
A fenti query a legtöbb DBMS-ben értelmezhetetlen. -
togvau
senior tag
Ez a join fetch korlátoltság megkerülhetetlen? Csak akkor lehet használi join fetchet, ha fetchelt tábla szülője egészben ott van a select list-ben. Csakhogy nekem NEM KELL a teljes szülő, csak 1-2 field belőle...
-
togvau
senior tag
válasz
Szmeby #11184 üzenetére
ott ahol 1-1 van, ott onetoone is van.
Kipróbáltam viszont egy ilyet, hogy végül is 1 lekérdezésben legyen minden ami épp kell
@Query("SELECT u.id, p, (SELECT ph.id FROM Photo ph WHERE ph.user.id = ?1) FROM UserProperties p LEFT JOIN FETCH p.user u WHERE u.id=?1")
public Triplet<Long, UserProperties, List<Long>> stb...
erre: jdbcSQLDataException: Scalar subquery contains more than one row; SQL statement
És ez igaz is, pont azért van ott long list. Akkor miért sír? -
Szmeby
tag
válasz
#20238798 #11179 üzenetére
Szia!
A java és a javascript két külön világ. Talán van a javascriptnek is itt topikja, nem tudom.
Mindenesetre, ha ez egy nodejs script (márpedig az), akkor neked először fel kell telepítened a nodejs nevű alkalmazást. Guglizz rá, egyértelmű. Letöltöd, telepíted, és ha már úgyis a weboldalán jársz, javaslom, olvasd el a "hogyan használd a nodejs" dokumentáció első néhány bekezdését, hogy képbe kerülj, hogy tudod a scripted működésre bírni. Feltételezem egy parancssorba kell majd bepötyögnöd néhány parancsot esetleg néhány kapcsolóval díszítve... na meg a script nevét megadni.
Véletlenül feltölteni?
Hogyan? Nem ítélkezem, csak vicces.
-- szerk.:
Meg is találtam itt a dokumentációban.
Ez a parancs, rendkívül bonyolult:node az-en-scriptem.js
-
Szmeby
tag
válasz
togvau #11180 üzenetére
Én inkább a Hibernate-re gyanakszom (vagyis az általad választott aktuális JPA implementációra), ő rakja össze az sql-t. A spring csak egy plusz réteget húz köré. Ezért is gondoltam azt, hogy az egyik megoldás egyből a hibernate-et szólítja meg, míg a másik átfolyik még néhány springes optimalizáción. Habár a spring egyik és másik modulja is képes gyökeresen eltérő "optimalizációkat" végrehajtani ugyanabból a kiindulópontból.
Szerintem sem sikerültek a legjobbra a hibernate default működési módjai ilyen-olyan esetekben, de tudod, ez ízlés dolga. A kedvencem, hogy Set, List, Collection, stb típusok esetén ceteris paribus teljesen eltérő lekérdezéseket rak össze végül. Külön öröm volt ezt debugolni.
Más fejlesztő más problémával meg örül neki, hogy pont úgy működik az általa összerakott izé, ahogy azt elvárja. A show_sql-nek nincs oka, hogy hazudjon.Megtanultam már, hogy minden hibernate által összeállított query-t le kell ellenőrizni, mert orbitális hülyeségeket, optimalizálatlan megoldásokat tud összerakni a háttérben. Vagy csak nekem vannak furcsa igényeim, ki tudja.
Örülök, hogy a fetch megoldotta a problémát.
Optimalizálj és jó lesz.
-
togvau
senior tag
válasz
Szmeby #11178 üzenetére
nem. Az ugyan azt írja 20x, ahogy szokta, hogy nem talál megfelelő osztályt a szerializáláshoz (mert nincs is olyan félig összeszedett entity), de amúgy a json serializációig minden rendben, előtte kiíratom a visszaadott objektumot, onnan is látom, hogy spamet rak bele.
Nagyon furán működik ez a spring data.pl van 2 entity, 1-1 kapcsolattal. Kellene nekem a "gyerek" összes infoja, a szülő id-ja alapján.
@Query("SELECT p FROM UserProperties p INNER JOIN User u ON u.userProperties = p.id WHERE u.id=?1")
@Query("SELECT u.userProperties FROM User u WHERE u.id=?1")
2 queryt eredményez mindkettő, ahol összejoinolja ahogy az első queryben van, majd még egy query ahol a User-t lekérdezi ugyan olyan where-el... tehát 2x megcsinálja ugyan azt. Akár lazy, akár eager a kapcsolat. Akkor is megcsinálja, a user repository findbyid-t nyomok.Ok hogy id alapján történik minden, ami szinte ingyen van, de na... Tényleg csak natív queryvel lehet beleverni, hogy egy queryvel megcsinálja ezt? Vagy a spring show sql nem azt írja ki ami tényleg történik? Vagy el van cseszve a H2 driver?
-
togvau
senior tag
Van egy Entity, aminek vannak al entity-jei, Set-ben. E set fölött ezek az annotációk vannak:
@OneToMany(fetch = FetchType.LAZY, mappedBy ="user" )
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
@JsonIdentityReference(alwaysAsId = true)
Ez jól is működik, ha konkrétan ezt az entityt kérdezem le, spring data crudrepository findbyid-vel, szépen a set-ben lévő entityknek csak az id listáját adja vissza.De ha egy jpql query-ben van, ami egy DTO-t csinál, és annak az egyik tagja a fenti fő entity, akkor a @json annotációs gyerek entityknek visszaadja az id-jait, mellettük még másik fieldjét is, ami mellett egyébként még 2 van, amit meg nem ad vissza...
Nem értem, hogy itt miért nem az id listát adja vissza, és azt sem, hogy miért csak azt az 1 fieldet adja vissza, mikor ott van még 2.
Miért adja vissza ugyan azt az entityt 2 queryben teljesen különbözőképpen?
-
Taoharcos
aktív tag
Szeretném megoldani, hogy az alkalmazásom autentikációjához ne kelljen felhasználónév / jelszó párost használni, hanem automatikusan az Active Directory-ba bejelentkezett windows felhasználó accountját használja az alkalmazás. Ebben szeretnék tanácsokat (esetleg példa vagy tutorial linkeket) kérni. Keresgéltem, de nem találtam használható információt.
-
togvau
senior tag
válasz
floatr #11173 üzenetére
ja tényleg, transient, jó ötlet! A többit is megnézem majd.
Most a hype UI-val ismerkedek (angular), és abban van egy ilyen a példában, hogy : import { Observable } from 'rxjs/Observable';
erre azt írja, hogy
node_modules/rxjs/Observable"' has no exported member 'Observable'.ts(2305)Mit kéne ezzel csinálni, hogy ne írja?
fogalmam nincs mit csinálok,de ilyen npm install rxjs-t nyomtam, de nem nyert, lett valami rxjs a node modules-ban, de a kisbetűs observable mappában nincs observable fájl.
szerk: meglett, a vscode megtalálta ott, ahol nincs, de biztos így van, hiszen javascript ahol minden lehet bármi is, meg semmi is.
-
floatr
veterán
válasz
togvau #11172 üzenetére
Belepakolsz egy @Transient annotációval jelölt metódust, ami get***Id néven visszaadja a kapcsolt entity azonosítóját.
De használhatod a gyerek-szülő kapcsolatban a JsonManagedReference és JsonBackReference annotációkat is, ami csak egyik irányban engedi a szerializációt kifejteni
-
togvau
senior tag
belefutottam egy hasonlóba: https://stackoverflow.com/questions/47640698/com-fasterxml-jackson-databind-ser-beanserializer-serialize-spring-jpa
Úgy tűnik, hogy ha rest-ben lekérdezett entity-ben van kapcsolat másik entity-vel (gazdájával), és ez oda vissza jelölve van (onetomany->manytoone), akkor jsonizáláskor végtelen ciklusba fut. Ezt megoldotta az, hogy a @Jsonignore-t raktam a gazda entity kapcsolat field-nél, így az egész gazda entity kimarad a visszaadott jsonből..
De mi van, ha én szeretném a gazda entity id-ját (mást nem) is visszaadni rest-en? Tudom, saját DTO létrehozással, és query utáni oda-vissza konvertálásával lehetne. De nincs rá valami annotációs okosság?
-
Drizzt
nagyúr
Egyszerubbnek egyszerubb. Ha viszont valamiert tobben is hasznalnak ugyanazt a peldanyt, abbol meg baj is lehet. En csinalnek egy osztalyt, aminek a konstruktora letrehozza a textfieldeket, de nincsenek setterei. De van metodusa amivel a mezoket meg lehet szerezni. Ez mar igy kvazi egy immutable osztaly lesz, s akkor tobb szalon is jol mukodhet. Mezoben eltarolni azert veszelyes szerintem, mert nem garantalhato sorrendiseget varsz el. Lesz fv-d, ami beallitja a mezot, meg lesz ami lekerdezi. Mi van ha elobb hivjak meg a lekerdezot, mint a letrehozot? Az en javaslatomban ez nem fordulhat elo, mert letrehozni csak egyszer tudod a peldanyt, es amig az nincs meg, addig nem nem tudod meghivni. A te esetedben meg nem garantalja semmi a helyes meghivasi sorrendet.
-
Zsoxx
senior tag
-
Drizzt
nagyúr
Talan az a legszebb, ha csinalsz egy masik osztalyy, ahol az emlitett valtozo osztalyvaltozo, s az ot cseszegteto metodusok is az uj osztalyban vannak.
De fejtsd ki jobban a problemat. Remelem olyan dolgok nincsenek, hogy meghatarozott sorrendben kell meghivogatni a dolgokat.
Vagy ha ez valami seged metodus, ami mindenfele muveleteket tud vegezni a parameterrel, akkor mehet egy utility osztaly static metodusanak.
Konkretabb pelda tenyleg sokat segitene.
-
Ezekiell
veterán
Paraméterként add át. Multithreaded környezetben ha csak úgy módosítasz egy class lvl változót, akkor abból nagy szívás tud lenni. nyilván ha semmi esély multithreadre, vagy hogy adott osztályból több példány létezzen egyszerre, akkor ez nem akkora gond feltétlen, de jobb a békesség/megszokás.
-
Zsoxx
senior tag
Melyik az elfogadott/ajánlott eljárás, ha egy metódus módosít egy változót, és arra egy vagy több másiknak is szüksége van?
1. Az adott változót osztályváltozóként kezelni, vagy
2. A másik metódusnak paraméterként átadni? -
p76
senior tag
/*
*
* /* megjegyzes */
*
*/
Ez miért helytelen?
-
Ezekiell
veterán
Ezzel kellett volna kezdeni, hogy diplomamunka ötleteket keresel...
Jelszókezelő talán nem elég komplex diplomamunkának, de ez függ a képzési helyedtől. A helyedben összeírnék pár ötletet (a sajátjaidat, meg akár innen is válogathatsz pl: https://www.inf.u-szeged.hu/~alexin/m/theses.html - közte van vhol az enyém is
), és bemennék a konzulensedhez, hogy szerinte melyik lenne a legjobb.
Ha egyátalán van konzulensed, tippre még nincs, akkor viszont keresd meg akit majd akarsz, és beszélj vele. A diplomamunka nem Rambó stílusú kódolás.
-
aDtG
tag
válasz
Ezekiell #11156 üzenetére
Teli találat. Diplomamunkáról van szó, de még nem idén kell leadnom, viszont szeretném előre elkészíteni. Nem sok programot írtam korábban, ezért is írtam, hogy amatőr vagyok.
Ennek függvényében is még mindig a jelszókezelőt ajánlod? szeretnék beleférni a 2-2,5 hónapba, de nyilván kicsúszhatok ebből. -
Ezekiell
veterán
Ennyi erővel egy raktárkezelő program is csak adatbázisban tárol dolgokat, és megjelenít - és mégis egy diplomamunka szokott lenni
Azért nehezebb, mert sokkal több tábla, több adat, komplexebb DB schéma, a UI sokkal bonyolultabb, grafikonok eleve sokkal nehezebbek, és sokkal több benne a business logika.
Kezdőként ne akard a világot megváltani. Maradj a password managernél, írd meg szépen és jól, és rendben leszel (bár még mindig nem tudjuk, mire kell ez neked egyátalán).
Amikor kész vagy, és ha van még időd, akkor írjál hozzá szebb UI-t, jobb adatbáziskezelést, komolyabb titkosítást, jelszóemlékeztetőt emailben, stbstbstb
Vagy csak tedd fel GitHub-ra, amikor kész (még jobb, ha közben folyamatosan commitolsz/pusholsz oda, mert akkor van history), mi meg szétfikázzuk szívesen
-
aDtG
tag
válasz
Ezekiell #11154 üzenetére
Azt meg tudod mondani, hogy miben nehezebb az edzés program?
nem gondolom jól, hogy adatbázisba tárolok le adatokat és azzal dolgozom? az edzésprogram igazából csak egy felület lenne ami megjelenítene szövegeket, példákat.
A feldolgozandó adatok az alábbiak lennének:
- testsúlyváltozás nyomonkövetése --> kalória + testsúly grafikon
- edzésnapló (melyik gyakorlatból mekkora súllyal dolgozott a felhasználó és hány ismétlést hajtott végre)
- célkitűzésekAz a helyzet, hogy nem szeretném túlvállalni magam(2-2.5 hónapom lesz elkészíteni.)
-
Ezekiell
veterán
Ha kezdő vagy, mint ahogy írod is, akkor a password manager szerintem teljesen jó lesz neked.
Ez az edzésprogram sokkal bonyolultabb. Da Vinci se úgy kezdett festeni, hogy elsőre a Mona Lisat festette meg. Írd meg a password managert először, és miután azzal végeztél, már lesz fogalmad, hogy mit is szeretnél és mit is tudsz megcsinálni valójában. -
aDtG
tag
válasz
Ezekiell #11152 üzenetére
Kicsit tekintsünk el a password managertől, aztán ha ez szerintetek nem annyira érdekes akkor elengedem.
Szóval a másik téma:
Alkalmazás ami alakformálással foglalkozik(jelenleg úgy is sokan járnak edzőtermekbe)
- edzésprogramok
- táplálkozás(ételek, étrendkiegészítők)
- testsúlyváltozás nyomonkövetése --> kalória + testsúly grafikon
- edzésnapló (melyik gyakorlatból mekkora súllyal dolgozott a felhasználó és hány ismétlést hajtott végre)
- célkitűzések
- akár gyakorlatokról képek/videókItt ha jól gondolom, akkor a testsúly illetve a kalória tárolására lenne szükség napi lebontásban, edzésnapló esetén a gyakorlatok nevei, súlyok méretei, ismétlésszám
Célkitűzéseknél hasonlóan mint a gyakorlatoknál fel kellene vezetni, hogy milyen súlyokat és milyen ismétlésszámmal szeretne a felhasználó.Ennek a megvalósítása hogyan nézne ki nagy vonalakban?
-
Ezekiell
veterán
Milyen célra lesz ez tulajdonképpen? Állásinterjús feladat?
Jelszókezelőnél kell titkosítás bizony. Ugye úgy néz ki egy jelszókezelő, hogy van egy usered, és annak egy master passworje. Amikor ezzel belép a user, akkor látja az összes többi felhasználónév/jelszó párosát, mind egy adott helyhez persze.
Ez technikailag úgy néz ki, hogy van egy táblád, Users(id, username, password). Itt a password titkosítottan van mentve, egy raklap titkosító lib van JAVAban, tudod használni őket. Aztán van egy másik táblád Accounts(id, user_id, username, password, site) ahol meg a gyűjtött jelszavakat mented. Itt azért érdemes elgondolkoznod, milyen primary/secondary keyek kellenek, illetve mi lehet unique.
Ehhez férsz hozzá az alkalmazásoddal. A login screenen beírod a username/password párost, titkosítod a passwordot, összeveted ezt a titkosított passwordot a Users táblában a mentett userhez tartozó titkosított passworddel, és ha ugyanaz, akkor sikeres a login, lehet megjeleníteni az adott user accountjait.Technológiában azt használsz, amit akarsz, egy MySql/H2+Spring+tetszőlegesUI kézenfekvő választás mondjuk, de bármit lehet tényleg.
Ha álláshoz lesz a feladat (de egyébként is), akkor ne felejts el teszteket írni kb mindenhez, normális build/projektmanagement rendszert használni (Maven/Gradle), és odafigfyelni a kódminőségre.
De ez nem 150 sor lesz
-
aDtG
tag
válasz
Ezekiell #11150 üzenetére
Én úgy gondolom, hogy esztétikai szempont a legfontosabb, viszont ha egy programkódot kellene virítani, akkor se legyen belőle lebőgés.
Azt nem szeretném, hogy van egy szép felület. Kérik, hogy mutassam meg a kódot és akkor be tudok mutatni 150 sort ami érdemi rész.A jelszókezelő alkalmazás esetén a jelszavak titkosítását érdemes lehet bele venni a programba? Mennyire okozhat ez nehézséget? (kezdő vagyok még a programozásban)
-
Ezekiell
veterán
A nézőket esztétikai szempontból kell lenyűgözni ("hú de szép" "nézd hogy villog") vagy szakmai szempontból ("de ügyes h ilyet írt") vagy hogy? Ez így nem sok támpont, amit adtál.
Jelszókezelőt meg nem annyira bonyi:
- kell egy adatbázis
- backend, amivel mentesz ileltve olvasol a DBbe/ből
- UI amivel megjeleníted a dolgokatEz így nyilván rettenetesen elnagyolt, de a kérdésed is az
-
aDtG
tag
Sziasztok!
Kaptam egy feladatot. Egy olyan programot kellene írnom ami látványos, de nem túl bonyolult.
Nincsen semmi meghatározva igazából, hogy mi a minimum, de le kell nyűgözni a nézőket.
Tudnátok adni nekem ötleteket? Gondoltam már valami szép telefonkönyv megoldásra, jelszókezelő alkalmazásra. Az utóbbit szívesen csinálnám is, csak nem tudom, hogy mennyire lehet nehéz egy olyat összedobni.Van bármi ötletetek? Köszönöm
-
togvau
senior tag
frissítettem linuxos kis szerveremen java-t 11-re. Az eddig java 8-on futó kis servlet most:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
Nincs máven, és nem is szeretnék belemódosítani a jar-ba.
Van rá megoldás azon kívül, hogy visszateszem a 8-at? -
Sirpi
senior tag
válasz
bucihost #11137 üzenetére
A 110-es sort cseréld ki erre (igy csak másodpercen belül lehet egy usernél ütközés):
String timeStamp = new SimpleDateFormat("YYYY-MM-dd-HH-mm-ss").format(new Date());
String fname = "data/BugReports/" + player.getName() + "-" + timeStamp + ".txt";Egyébként pedig a dátum formátumát úgy állítod be, ahogy szimpatikus. Azért választottam ezt, mert így se pont, se szóköz nem lesz benne.
-
bucihost
senior tag
Köszi! Így már kezdem kapisgálni. xmx 4096-ra van állítva. Csak furi volt, mert 6 giga ramból ~ 30% szabad maradt. 1.79 GiB free / 1.25 GiB cached. A javas alkalmazás meg azt írja, RAM Used: 2457. így viszont kijön a matek. 1.79+1.25+2.45 = 5.49 a maradék ~ 500 megát meg a rendszer és egyéb cuccok eszik el. 2.45+1.25 = 3.7 (~4gb)
Más. Javahoz full kuka vagyok és a google sem barátom most. Nem tudom szokás e ilyet kérni, de egy kódot valaki ki tudna nekem egészíteni vagy útba tudna igazítani?
[link]
Ez egy bugreport rendszer ingame. A 110-es sor szerint "reportoló karakter neve.txt" -ként menti a reportokat, és (113-117-sor) nem enged 1 karakternek több "aktív" reportot küldeni.Ez így nekünk nem jó, mert testing phase van, és jó lenne minél több bugról értesülni.
Arra gondoltam, a 113-117 sorokat megszüntetném, a 110-es sort meg kiegészíteném egy időbélyeggel. (System.currentTimeMillis())
Csak nem tudom, hogyan. Mert ehhez valóban hülye vagyok.
-
disy68
aktív tag
válasz
bucihost #11134 üzenetére
A JVM lefoglal magának bizonyos méretű memóriaterületet, amit ő fog kezelni különböző dolgokra (lásd Memory Management). Xmx a maximum, amit lefoglalhat, de ha nincs rá szükség nem fogja.
A dokumentációban olvashatsz még részletesen a memória kezelés finomhangolásáról.Ahogy a Xms és Xmx kapcsolókról is.
Pl. Xms:
"Default Values
If you do not set this, the minimum Java heap size defaults to (depending on which mode you are running):
-server
mode: 25% of the amount of free physical memory in the system, up to 64 MB and at least 8 MB
-client
mode: 25% of the amount of free physical memory in the system, up to 16 MB and at least 8 MB If the nursery size is set with-Xns
, the default initial heap size will be scaled up to at least twice the nursery size. " -
bucihost
senior tag
válasz
fatal` #11133 üzenetére
Köszi de számomra ebből nem derül ki, hogy az xmx -et le is foglalja, vagy csak annál többet nem enged neki használni?
For example, starting a JVM like below will start it with 256 MB of memory and will allow the process to use up to 2048 MB of memory:
java -Xms256m -Xmx2048m
Mit jelent, hogy 256 MB-vel fog indulni?Mi történik, ha elhagyom a fenti kapcsolókat és simán "java - jar core.jar"-al indítok? (elhagyhatóak egyáltalán?)
-
fatal`
titán
válasz
bucihost #11132 üzenetére
The flag
Xmx
specifies the maximum memory allocation pool for a Java virtual machine (JVM), whileXms
specifies the initial memory allocation pool.Note that the JVM uses more memory than just the heap. For example Java methods, thread stacks and native handles are allocated in memory separate from the heap, as well as JVM internal data structures.
-
bucihost
senior tag
Sziasztok!
Nem tudom nennyire idevaló a kérdésem, de hátha tudotok segíteni.
Linuxon futtatok egy java-s progit.java -Xms1024m -Xmx4096m -jar core.jar
A kapcsolókat nem igazán értem. Az xmx gondolom a max memória amit használhat. Ezt le is foglalja előre? Mi lenne az xms? -
fatal`
titán
válasz
MasterMark #11130 üzenetére
-
fatal`
titán
válasz
MasterMark #11127 üzenetére
A javadoc paranccsal lehet generálni (de IDE-hez szokott lenni extension hozzá, vagy build rendszerekben parancs).
-
MasterMark
titán
válasz
MasterMark #11127 üzenetére
Az előző nem válasz akart lenni, és a kérdés is kimaradt, hogy ezt akkor hogy lehet?
Köszi.
-
smallmer
őstag
Sziasztok!
Készítettem 4db JList-et a programomban. Azt szeretném elérni valahogyan, hogy egyszerre csak egy kijelölt elem lehessen. Tehát ha a JList 1-ben kijelölök egy elemet akkor a másik 3-ban ne legyen kijelölt elem. Esetleg tudjátok, hogy ezt hogyan tudnám megoldani?
köszöni szépen
-
janos666
nagyúr
válasz
E.Kaufmann #10554 üzenetére
Haha.
Elkezdtem nézni a "Masterclass"-t. Legelejétől, mert 5+ élve nem olvastam semmi kódot (és úgy látom kicsit más már kezdő szinten is, mint a C++).
A tanár legalább anyanyelvi angol, ugyanakkor beszédhibás, és furán van felépítve az anyag. Gyakorló feladatokat ad már az előtt, hogy elmagyarázná, hogy mik azok, és hogy épülnek fel a függvények (és hasonló alap dolgok), aztán nem tudom, hogy szándékosan oldja meg őket furán, hogy aztán bemutathasson tipikus problémákat (kicsit sem elegáns, amit csinál, megtöm mindent felesleges else ágakkal és && operátorokkal, redundáns kondíciókkal, aztán később javítja is, mert tele lesz logikai bakikkal, és mondja is, hogy túl hosszú és kacifántos, amit csinált), vagy félvállról veszi és nem is akar (vagy tud) jó példát mutatni. -
Ezekiell
veterán
válasz
floatr #11118 üzenetére
Na, a gradle sync az tényleg tud kavarogni, ezt aláírom. Szerencsére 1 gombnyomás megoldja.
De ha nálad ennyi crash van, akkor ott nálad lesz valami probléma. Mondanám, h reinstall mindent, de ha ilyen tanácsot kapnék, nekem is a "b*szódjmegteis" lenne az első gondolatom
-
floatr
veterán
válasz
Ezekiell #11116 üzenetére
Csak 30-ára 3 crashlogom van. Megtartottam párat, hogy majd utánanézek, de még egyelőre inkább sajnáltam magam, mint időm lett volna rá. A code insight környékén (is) van valami gáz. Viszonylag nem kicsi a projekt, van 8 konténer, és a legborzasztóbb tényleg az, hogy néha az IDE indítás után egyszerűen az alap classpath sem látszik, mert összekavarodik a gradle sync.
-
-
Drizzt
nagyúr
Nekem se volt még vele sose ilyen probléma. És nálam is meg van nyitva vagy 5-6 Spring microservice, 2-3 JavaEE app, meg néhány devops repo állandó jelleggel. Maven mind. Mondjuk amúgy a maven részét annyira nem szeretem az IDEA-nak, bár összehasonlítási alapom nem nagyon van, mert mást 10+ éve nem használtam(Javara).
-
floatr
veterán
Alapvetően nem lenne rossz, de...
Leszámítva az apró kis hm... sajátosságait mostanában eléggé bosszantó, hogy napi szinten 3-4 alkalommal hullik darabokra. Ilyet régebben még az eclipse sem csinált a legrosszabb pillanataiban sem.
Egyetlen dolog van az ideaban, ami tényleg tetszik, az a lambda-kezelés és a kapcsolódó code assist. Érdemes figyelni a VS Code-ra, mert nagyon jön fel, hónapról hónapra fejlesztik. -
Csaby25
őstag
Sziasztok! Elkezdtem Spring boot-ot tanulni és letöltöttem az STS (Spring Tool Suite)-t. A kérdésem az, hogy használhatom akkor is ha csak sima java-t írok Spring nélkül (van valami hátránya az Eclipse-hez képest ebben az esetben), vagy erre inkább használjam a sima Eclipse-t továbbra is? Köszi.
-
floatr
veterán
Nem demagóg... dogmatikus
Nem tartom haszontalannak a sonart, de az esetek egy részében mondjuk úgy, hogy fals pozitívat jelez. A múltkor már csak röhögtem kínomban. Szokott olyanokat jelezni, hogy szerinte másképpen kéne megoldani valamit. Addig kavarta több lépésen keresztül, amíg a kód fordíthatatlan lett.
A DTO-val kapcsolatosan meg napi szinten tapasztalom, hogy kezelik az emberek. Semmivel nem lesz tőle biztonságosabb a kód. Egyszerűen csak kérdezd meg magadtól, hogy tényleg szükséged van-e rá. A dogmatikus válasz az, hogy mindig szükség van rá, mert meg lett mondva. A racionális válasz az, hogy pl máshogy reprezentálod az adatot API verziónként, ezért kell.
-
axioma
veterán
A szorny nem fuggvenynel volt hanem matrix-implementacional (amit aztan nem hasznalnak). A legvegen igy is, ugy is maradt raw type hozzarendeles, de azert hogy 1 helyen legyen nem 2 helyen (kb, lehet hogy 3-4), ettol bevezettek a rekurziv definiciot es ket type parametert... (hogy osszekossek a matrixtipust meg a utilities tipusat, holott a matrixtipus futas soran egyszer, config-bol olvasodik fel).
A fuggvenyre kedvenc peldam a Gauss-eliminacio. Azt szetszedve en biztos kevesbe ismernem fel, a korrektseghez 5 parameteresen lehetett volna a belso fuggvenyt kiemelni (kettot member-bol szamoltunk vegul), de nem lehet egy fel kepernyonyi (vizszintesen, meg nem mondom de biztos <50 LOC) fuggveny, mert tul bonyolult. Az hogy normalisan elnevezni a belsejet nem lehet, az nem baj. Az hogy egy csomot lassit egy azert hoztuk letre hogy jobb legyen sebessegben mint az ApacheCommons, az nem baj. Csak hogy jo alacsony legyen a bonyolultsag, es egysegsugarunak is oda lehessen adni (akik amugy per def nem is dolgozhatnak ebben a csapatban). DE ez az eset, amire azt mondom, hogy a kivetel ami erositi a szabalyt, es egy programozo tudja mar hogy mi az hogy Gauss-eliminacio. A tobbsegeben egyetertek azzal, hogy bontsuk le a hosszu fuggvenyeket.
Az mar egy masik kerdes, hogy ne ugy bontsuk le hogy veszunk 3 altalanositott szornyet, es a sajat sub-task-unkat nem is oldjuk meg csak felparameterezzuk a mar keszet, elotte-utana heavy konverziokkal, de mind1, mert az me'g egy sor csak a stream-ben... kozben picit odafigyelve a 2 oda-vissza megoldhato 1-bol (most egy Date meg Instant dologrol beszelek, az egyik kulso adottsag, a masik belso kenyszer mert kell a het napja).
De kb. egy eve talaltak olyan bottleneck-et, hogy mindenhol az ID nyersen ment tovabb, es minden egyes lepes kulon parsolta ki belole a neki kello reszt (mondjuk az se egy jo design ahol az id darabolhato, me'g ha van ilyen kulso forras is, de belul mi a feneert nem egybol lenyegitik at a kesobb hasznalt reszeire. -
válasz
axioma #11100 üzenetére
"En tobb dologban nem ertek egyet a sonarlint-tel, de ettol me'g orulok hogy van, mert neha egyszeru teveszteseknel felhivja a figyelmet a potencialis hibara."
Akinek nem inge ne vegye magára, de én meg azt nem fogom soha megérteni, ha van egy tool aminek a célja a minőség javítása és igen népszerű akkor miért kell kiakadni ha valakinél esetleg jobban tudja a dolgokat? Én nem mondom azt, hogy nincs így de nem is értem ez.
"szornyek keletkeznek"
Én megint csak pont az ellentetjével találkoztam. Ha túl komplex egy metódus szól, hogy nagy. Szerintem ez pont jó. És az esetek 99%-ban igen, tudod még jobban fragmentálni a dolgokat.
Szerintem simán jó dolog, de tényleg, felőlem aki akarja használja aki nem nem. Én látok benne elég sok potenciált és tudást mögötte.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- Tőzsde és gazdaság
- Autós topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Apple iPhone 16 Pro - rutinvizsga
- Videós, mozgóképes topik
- További aktív témák...
- Targus Universal USB 3.0 DV1K-2K Compact docking station (DisplayLink)
- BESZÁMÍTÁS! Gigabyte B550M R7 5700X 32GB DDR4 512GB SSD RX 7700 XT 12GB DeepCool CC560 Seasonic 650W
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Bomba ár! Dell Latitude 7390 2in1 - i7-8G I 16GB I 256SSD I 13,3"FHD Touch I HDMI I Cam I W11 I Gar
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged