- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Fotók, videók mobillal
- iPhone topik
- Bemutatkozott a Poco X7 és X7 Pro
- Yettel topik
- Samsung Galaxy A55 - új év, régi stratégia
- Milyen okostelefont vegyek?
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- Huawei Watch Fit 5 Pro - jó forma
- Samsung Galaxy S24 FE - később
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Aethelstone
addikt
Üdv. HTTP szervert próbálok írni gyakorlásként. Chrome-nak van egy preload funkciója ami nyit egy plusz socketet amit gyakorlatilag csak parkoltat esetleges későbbi tartalmak párhuzamos letöltésére.
A socket stream-jéből nem lehet olvasni így csak feleslegesen foglal egy szálat timeout-ig.
Van valami jó módszer arra hogy ezeket meg tudjam különböztetni egy valós http kéréstől ami valamilyen hiba miatt nem tudott írni a streamre?Ne foglalkozz vele. Az úgy sem fog beesni a http szerverbe. Böngészőspecifikus dolog.
-
E.Kaufmann
veterán
Üdv. HTTP szervert próbálok írni gyakorlásként. Chrome-nak van egy preload funkciója ami nyit egy plusz socketet amit gyakorlatilag csak parkoltat esetleges későbbi tartalmak párhuzamos letöltésére.
A socket stream-jéből nem lehet olvasni így csak feleslegesen foglal egy szálat timeout-ig.
Van valami jó módszer arra hogy ezeket meg tudjam különböztetni egy valós http kéréstől ami valamilyen hiba miatt nem tudott írni a streamre?annyira gond az a plusz szál technikai okokból? Nem lehet simán nem foglalkozni vele?
-
Karma
félisten
AES128 bit kulcsot szeretnék generálni String input alapján. A String hossza bármi lehet. A függvény a következőt csinálná:
-Ha a String 16 karakter akkor nincs teendő
-Ha több mint 16 karakter akkor ArrayUtils.subArray(key.toCharArray(), 0, 16) majd ezt a végén vissza String-gé
-Ha kevesebb mint 16 karakter (N hosszú), akkor key.toCharArray(), egy új CharArray-be N-ig a key értékei, azon felül pedig egy karakter. A példában "c".Így minden esetben 16 karakter hosszú kulcsot kapok. Ez működik is (String.valueOf-fal). Viszont nem 128 bit lesz a végeredmény.
16 vagy több karakterrel működik hibátlanul. A probléma akkor keletkezik ha ki kell egészíteni plusz karakterekkel: Invalid AES key length: 28 bytes
Jelenleg sysout esetén nem is a key-t kapom meg, hanem a referenciáját.String pin = "1234";
...
...
// így fut le ha 16-nál rövidebb a pin
String[] keyArr = new String[16];
pinArr = pin.toCharArray();
for(int i=0;i<pin.length();i++) {
keyArr[i] = String.valueOf(pinArr[i]);
}
for(int i = pin.length();i<16;i++) {
keyArr[i] = "c";
}
key = String.valueOf(keyArr);
System.out.println(key); // String helyett reference
Key aesKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, aesKey); // java.security.InvalidKeyException: Invalid AES key length: 28 bytes
byte[] encrypted = cipher.doFinal(password.getBytes());Vannak bejáratott algoritmusok kulcsgenerálásra, például a PBKDF2. Szerintem alapvetően fatális ötlet bármilyen kriptográfiával kapcsolatos implementációnak nekiállni, mert ebben a témakörben túl könnyű hibázni - lásd axioma megjegyzését a kulcsok értékkészletéről.
(Kivéve, ha házi feladatról van szó és konkrétan ez a feladat.)
RexpecT: Nem ártana egy kis kód, hogy hogyan próbálod meghívni az URL-t.
-
axioma
veterán
AES128 bit kulcsot szeretnék generálni String input alapján. A String hossza bármi lehet. A függvény a következőt csinálná:
-Ha a String 16 karakter akkor nincs teendő
-Ha több mint 16 karakter akkor ArrayUtils.subArray(key.toCharArray(), 0, 16) majd ezt a végén vissza String-gé
-Ha kevesebb mint 16 karakter (N hosszú), akkor key.toCharArray(), egy új CharArray-be N-ig a key értékei, azon felül pedig egy karakter. A példában "c".Így minden esetben 16 karakter hosszú kulcsot kapok. Ez működik is (String.valueOf-fal). Viszont nem 128 bit lesz a végeredmény.
16 vagy több karakterrel működik hibátlanul. A probléma akkor keletkezik ha ki kell egészíteni plusz karakterekkel: Invalid AES key length: 28 bytes
Jelenleg sysout esetén nem is a key-t kapom meg, hanem a referenciáját.String pin = "1234";
...
...
// így fut le ha 16-nál rövidebb a pin
String[] keyArr = new String[16];
pinArr = pin.toCharArray();
for(int i=0;i<pin.length();i++) {
keyArr[i] = String.valueOf(pinArr[i]);
}
for(int i = pin.length();i<16;i++) {
keyArr[i] = "c";
}
key = String.valueOf(keyArr);
System.out.println(key); // String helyett reference
Key aesKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, aesKey); // java.security.InvalidKeyException: Invalid AES key length: 28 bytes
byte[] encrypted = cipher.doFinal(password.getBytes());1. Elvi szinten nagyon nem ertek egyet az ilyen modon torteno AES kulcs megadassal (gyakorlatilag 256^16 helyett kb. 80^16 kulcsot "engedsz meg" - klavirol elerheto kis/nagy betuk, szmaok, gyakoribb jelek), ezzel kapasbol mar matematikailag is tobb mint 8 nagysagrenddel csokkented a lehetosegeket... de ha az emberek jelszoadasi szokasait nezzuk, kb. beepited a rendszerbe a betoresi pontot a human tenyezovel).
2. Mi az oka annak, hogy a char array-t string tombbe masolva akarod kiegesziteni? Nem latom a koncepciot.
Sot azt sem igazan, hogy minek jon be a char array... te egy 16 hosszu stringet akarsz, akkor ha nagyobb, akkor subString, ha kisebb, akkor meg mondjuk (ha nagyon egyszeru/fapados kodot szeretnel) ciklusban hozzaadsz amig nem jo a hossz egy "c"-t.
Vagy me'g egyszerubb ha mindkettot egy lepesben intezed el... azaz a bejovo stringhez alapbol hozzaadod azt a fix stringet, amiben 16 db 'c' van, es veszed a subString-gel az elso 16 karaktert. Ez mindharom esetre egyetlen utasitassal visszaadja az altalad va'gyott tipusu kiegeszitest.szerk. kellett nekem ennyit gepelni

-
tick
aktív tag
AES128 bit kulcsot szeretnék generálni String input alapján. A String hossza bármi lehet. A függvény a következőt csinálná:
-Ha a String 16 karakter akkor nincs teendő
-Ha több mint 16 karakter akkor ArrayUtils.subArray(key.toCharArray(), 0, 16) majd ezt a végén vissza String-gé
-Ha kevesebb mint 16 karakter (N hosszú), akkor key.toCharArray(), egy új CharArray-be N-ig a key értékei, azon felül pedig egy karakter. A példában "c".Így minden esetben 16 karakter hosszú kulcsot kapok. Ez működik is (String.valueOf-fal). Viszont nem 128 bit lesz a végeredmény.
16 vagy több karakterrel működik hibátlanul. A probléma akkor keletkezik ha ki kell egészíteni plusz karakterekkel: Invalid AES key length: 28 bytes
Jelenleg sysout esetén nem is a key-t kapom meg, hanem a referenciáját.String pin = "1234";
...
...
// így fut le ha 16-nál rövidebb a pin
String[] keyArr = new String[16];
pinArr = pin.toCharArray();
for(int i=0;i<pin.length();i++) {
keyArr[i] = String.valueOf(pinArr[i]);
}
for(int i = pin.length();i<16;i++) {
keyArr[i] = "c";
}
key = String.valueOf(keyArr);
System.out.println(key); // String helyett reference
Key aesKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, aesKey); // java.security.InvalidKeyException: Invalid AES key length: 28 bytes
byte[] encrypted = cipher.doFinal(password.getBytes());Lejárt a szerkesztési idő:
UPDATE, találtam egy egyszerűbb megoldást ami működik is
for(int i = 0;i<16-pin.length();i++)
addition+="c";
key=pin+addition; -
axioma
veterán
Sziasztok,
Arrays.toString(charArr) után Eclipse konzol tömbként írja ki a stringem. (getClass String-nek ismeri fel) Ennek mi lehet az oka?
Konkrétan így:
[1, 2, 3, 4, 5, c, c, c, c, c, c, c, c, c, c, c]A másik nagy gondom hogy a felső 16 karakter így 48 bájtot foglal. Míg ha simán Stringként megadom csak 16-ot. Hogyan lehetne ezt orvosolni?
AES kulcs ellenőrzésről lenne szó. Ha nem éri el a 16 karaktert/bájtot akkor hozzádobál c betűket.
Ezt keresed? new String(charArray)
Vagy String.valueOf(charArray)
Masik kerdes: ez most 16 felbyte (hexa karakter), vagy 16 teljes byte? AES128? Fura, hogy chartomb lett belole... honnan jon az input?
-
Karma
félisten
Sziasztok,
Arrays.toString(charArr) után Eclipse konzol tömbként írja ki a stringem. (getClass String-nek ismeri fel) Ennek mi lehet az oka?
Konkrétan így:
[1, 2, 3, 4, 5, c, c, c, c, c, c, c, c, c, c, c]A másik nagy gondom hogy a felső 16 karakter így 48 bájtot foglal. Míg ha simán Stringként megadom csak 16-ot. Hogyan lehetne ezt orvosolni?
AES kulcs ellenőrzésről lenne szó. Ha nem éri el a 16 karaktert/bájtot akkor hozzádobál c betűket.
Az Arrays.toString helyesen működik, épp csak nem azt csinálja, amit szeretnél. Ami egyébként nem is teljesen világos, micsoda.
-
WonderCSabo
félisten
Azt használom most, viszont macerás. Néha egyszerűen minden ok nélkül megáll vagy elhagyja a cookie-kat és emiat logoutol a webappból. Sőt 3-ből ~1-szer az első get nem is kap választ és timeout-ol. 3-ból 2-szer pedig egy másodpercen belül megvan. Nincs network probléma, a forrás konstans elérhető.
Windows esetén még könnyen mellékelem a jar-ba és kimásolom az azonos mappába futáskor, még a bináris beállítása előtt.
Linux esetén viszont ha nincs telepítve, akkor nem hajlandó futni. (Fedora alapú linuxnál pedig működésre sem tudtam bírni, de ez nem jelent problémát, mivel az egyetlen redhat-es emberke átmigrál)@WonderCSabo: Selenium átalakította, itt látszik is a rengeteg selenium import.
Én nem látok itt semmi átalakítást. Működik is nekem:
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>seleniumtest</groupId>
<artifactId>seleniumtest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.45.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.16</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>Teszt osztály:
public class HtmlUnitTest {
@Test
public void testHtmlUnit() {
WebDriver driver = new HtmlUnitDriver();
driver.get("http://www.google.com");
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("htmlunit");
element.submit();
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
}
}Mondjuk alapból 2.15-ös htmlunit-ot használ a legújabb Selenium, szóval nagy változásokra nem kell számítani a 2.16-s verziótól...
-
moriak
tag
-
WonderCSabo
félisten
-
WonderCSabo
félisten
Ha rendes függőségkezelést használt (pl. Maven vagy Gradle), akkor egyszerűen csak deklarálni kell az újabb verziót és azt fogja használni. Ha az egybecsomagolt zipet használod, akkor ki kell dobni onnan kézzel a libs mappából a htmlunit jart, és berakni az újabbat.
-
floatr
veterán
Igaza van a többieknek a Writer osztályokkal kapcsolatban a doksi alapján, de:
public abstract class Writer implements Appendable, Closeable, Flushable {
...
abstract public void close() throws IOException;
...
}garancia nincsen rá h az implementációk meg is fogják csinálni.
public class FileWriter extends OutputStreamWriter {
...
}a FileWriter egy OutputStreamWriter "wrapper"
public class OutputStreamWriter extends Writer {
private final StreamEncoder se;
...
public void close() throws IOException {
se.close();
}
...
}namost a StreamEncoder nálam egy sun csomagos implementáció, a bytekód szerint úgy látom h meghív két flush jellegű metódust
void implClose() throws java.io.IOException;
0 aload_0 [this]
1 aconst_null
2 iconst_1
3 invokespecial sun.nio.cs.StreamEncoder.flushLeftoverChar(java.nio.CharBuffer, boolean) : void [64]
6 aload_0 [this]
7 getfield sun.nio.cs.StreamEncoder.encoder : java.nio.charset.CharsetEncoder [39]
10 aload_0 [this]
11 getfield sun.nio.cs.StreamEncoder.bb : java.nio.ByteBuffer [41]
14 invokevirtual java.nio.charset.CharsetEncoder.flush(java.nio.ByteBuffer) : java.nio.charset.CoderResult [71]tehát elvileg jó a cucc, ha a sort lezárod. Ennek ellenére én továbbra is aszondom, hogy ártani nem árt, ha használod a flush-t, ráadásul ha netán Writer helyett OutputStream-et használsz valahol, akkor megkíméled magad egy sunyi problémától.
-
floatr
veterán
Nincs exception ez a bajom, már kigugliztam volna a megoldást

Megpróbáltam több féle módszert is amit google elém tárt, de egyszerűen egyik sem működik. És nem értem miért.Így működik!!
Köszi!if(!logFile.exists()){
logFile.createNewFile();
}
FileWriter fw = new FileWriter(logFile, true);
fw.write(s.toString() + System.getProperty("line.separator"));
fw.close();A flush hiányzik a close előtt. Ezt egy életre jegyezd meg, hogy ha file-ba írsz, hogy zárás előtt flush.
-
WonderCSabo
félisten
Üdv!
Egy saját "loggert" használok és console mellett fájlba is szeretném kiírni. A fájlt létrehozza sikeresen, de egyszerűen nem ír bele semmit. Mi lehet a gond?
public class Logger {
private static File logFile = new File(ClassLoader.getSystemClassLoader().getResource(".").getPath()+"log.txt");
public static void log(Object s) {
if(!Settings.logging) return;
//console
System.out.println("L: "+s);
//file
try {
if(!logFile.exists()){
logFile.createNewFile();
}
FileWriter fw = new FileWriter(logFile.getName(),true);
BufferedWriter bw = new BufferedWriter(fw);
bw.newLine();
bw.write(s.toString());
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}Számomra jónak tűnik a cucc, le is futtattam, létrehozza a fájlt és logol is bele. Két gondolatom van csak:
Settings.logging esetleg nem false?
FileWriter fw = new FileWriter(logFile.getName(),true);
Ezzel vigyázz, mert ez csak a current directoryban fogja létrehozni a fájlt a névvel, szóval nem ott lesz, ahol sejted. Pl. ha IDE-ből futtatod:
logFile útvonala a build mappában belül log.txt
new FileWriter(logFile.getName(),true) viszont az aktuális mappában, tehát a projekt mappában hozza létre a fájlt és írja
Szerk.: Közben már látom megtaláltad a jó megoldást, de akkor a posztom alapján már érted, hogy az előző miért nem ment.

-
dabadab
titán
Ja, nem kellett volna ennyit bor a vacsorahoz
(Mondjuk jelen esetben a BufferedWriternek sok ertelme nincs, az akkor jonne jol, ha sok kis irasod lenne, ha egyszer irsz csak, akkor csak lassit.)
(Egyebkent a logFile-t mindenestul is atadhatod neki, fogad File-t is a FileWriter konstruktora.)Exceptiont sem dob?
-
dabadab
titán
Üdv!
Egy saját "loggert" használok és console mellett fájlba is szeretném kiírni. A fájlt létrehozza sikeresen, de egyszerűen nem ír bele semmit. Mi lehet a gond?
public class Logger {
private static File logFile = new File(ClassLoader.getSystemClassLoader().getResource(".").getPath()+"log.txt");
public static void log(Object s) {
if(!Settings.logging) return;
//console
System.out.println("L: "+s);
//file
try {
if(!logFile.exists()){
logFile.createNewFile();
}
FileWriter fw = new FileWriter(logFile.getName(),true);
BufferedWriter bw = new BufferedWriter(fw);
bw.newLine();
bw.write(s.toString());
bw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}Gondolom egy fw.write(s.toString()); sor sokat lenditene a dolgokon

-
emvy
félisten
-
plaschil
aktív tag
-
plaschil
aktív tag
Megvan!

Biztos valami új verzió miatt, de már nem kell elé az xpath= csak simán így: //input[contains(@id,'TextBox_szerzodes')]
Plusz lassítani kellett a lejátszáson, mert hiába volt a szintaxisa megfelelő, akkor is hibára futott.Következő kérdés: mivel nyílhatnak egymásra panelek (akár több is, úgy képzeljétek el mint egy vastagkliensben) ezért lehetséges az, hogy pl. akár több "Save" gomb is legyen, mind különböző, de dinamikus ID-val. Így mivel tudom megkülönböztetni őket? Class? Esetleg van lehetőség ezzel a fenti megoldással ÉS kapcsolatba fűzni még feltételt, hogy pontosan melyik "Save" gombot akarom megnyomni?
(A "Save" csak egy példa, a szemléltetés miatt)Első megközelítésben így gondolkodom. Az egyedi ID témát hagyjuk, mert az egész motor így működik.
Köszönöm az eddigi helpet, értem miért kopaszodik az összes fejlesztő.

Ja! Options->Clipboard format mire való?

-
plaschil
aktív tag
-
plaschil
aktív tag
-
Aethelstone
addikt
-
#03372544
törölt tag
Üdv!
A lenti kód (természetesen más szöveggel) azt hivatott bemutatni jelenleg hogy indítok el egy job-ot a lenyomott menü szövege alapján. Van erre valami elegánsabb megoldás? (a menü elemek a saját action commandjukat küldik egy listenernek)
[azon kívül hogy elrejtem valami hasonló metódusba:
getJob(String jobname).run(); ]if(owner.getAction().name().equals("Do this then that") new WorkerJobDoThisThenThat.run();
if(owner.getAction().name().equals("Start something") new WorkerStartSomething.run();
if(owner.getAction().name().equals("Execute this") new WorkerExecuteThis.run();
if(owner.getAction().name().equals("Running out of ideas") new WorkerRunningOutOfIdeas.run();
Ilyesmire gondolt a kolléga.
package example;
public interface Job {
void doTheJob();
}
-------------------------------------------------------------------------------------------------------------------------
package example;
public class ExecuteThisJob implements Job {
@Override
public void doTheJob() {
System.out.println("ezt végrehajtom");
}
}
-------------------------------------------------------------------------------------------------------------------------
package example;
public class RunningOutOfIdeasJob implements Job {
@Override
public void doTheJob() {
System.out.println("nincs több ötletem");
}
}
-------------------------------------------------------------------------------------------------------------------------
package example;
public class StartSomethingJob implements Job {
@Override
public void doTheJob() {
System.out.println("valamit elindítok");
}
}
-------------------------------------------------------------------------------------------------------------------------
package example;
import java.util.HashMap;
import java.util.Map;
public class JobFactory {
private static final JobFactory INSTANCE;
static {
INSTANCE = new JobFactory();
}
private Map<String, Job> jobMapping;
private JobFactory() {
jobMapping = new HashMap<String, Job>();
jobMapping.put("executeThis", new ExecuteThisJob());
jobMapping.put("startSomething", new StartSomethingJob());
jobMapping.put("runningOutOfIdeas", new RunningOutOfIdeasJob());
}
public static Job getJob(String jobType) {
return INSTANCE.jobMapping.get(jobType);
}
}
-------------------------------------------------------------------------------------------------------------------------
package example;
public class JobFactoryExample {
private JobFactoryExample() {
}
public static void main(String[] args) {
JobFactoryExample example = new JobFactoryExample();
example.doTheAction("executeThis");
example.doTheAction("startSomething");
example.doTheAction("runningOutOfIdeas");
}
public void doTheAction(String actionName) {
JobFactory.getJob(actionName).doTheJob();
}
} -
#03372544
törölt tag
Köszönöm.
Egy újabb kérdésem lenne: adott egy osztály ami Runnable-t implementál sok hosszú egymást követő folyamatból áll. Hogyan tudnám megszakítani a futását?
While-ba rakva a flaget változtatva csak akkor áll meg, ha már a végére ért.ezt próbáltam:
public void run() {
while(!Thread.currentThread().isInterrupted()) {
//do time consuming stuff
}
}
public void stop() {
Thread.currentThread().interrupt();
}Sehogy, az interrupt() csak beállít egy flag-et amit neked kell futás közben ellenőrizned az isInterrupted() metódussal.
Egy-az-egyben kilőni a szálat nem tudod, régen lehetett a stop() metódussal de az elég sok problémát felvet ezért későbbi Java verziókban deprecated lett majd ki is vették, UnsupportedOperationExcepcion-t dob hogy véletlenül se használd. -
WonderCSabo
félisten
Üdv!
A lenti kód (természetesen más szöveggel) azt hivatott bemutatni jelenleg hogy indítok el egy job-ot a lenyomott menü szövege alapján. Van erre valami elegánsabb megoldás? (a menü elemek a saját action commandjukat küldik egy listenernek)
[azon kívül hogy elrejtem valami hasonló metódusba:
getJob(String jobname).run(); ]if(owner.getAction().name().equals("Do this then that") new WorkerJobDoThisThenThat.run();
if(owner.getAction().name().equals("Start something") new WorkerStartSomething.run();
if(owner.getAction().name().equals("Execute this") new WorkerExecuteThis.run();
if(owner.getAction().name().equals("Running out of ideas") new WorkerRunningOutOfIdeas.run();
Berakhatod egy Map-be, de egyébként ez tipikusan a Factory minta.
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Honor 400 Lite / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- BESZÁMÍTÁS! ASROCK B650M R7 8700F 32GB DDR5 512GB SSD RX 7900 16GB Jonsbo D31 TG fehér ADATA 750W
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- Lenovo T14 Gen2 Ryzen 5650U - Refurbished - Garancia
- BESZÁMÍTÁS! ASUS Z170 i7 6700K 16GB DDR4 512GB SSD GTX 1660Ti 6GB Rampage SHIVA DeepCool 400W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


(Mondjuk jelen esetben a BufferedWriternek sok ertelme nincs, az akkor jonne jol, ha sok kis irasod lenne, ha egyszer irsz csak, akkor csak lassit.)






