Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 10 odgovora
  • 5.085 pregleda

Najnovija ↓

Da li se Vector jos koristi???!!!!! 19.04.2007. u 10:13 · pre 237 meseci #1
Poslodavac mi rece da vise ne koristim Vector klasu jer je to odavno zastarelo! U gomili primera sam vidjao da ljudi i dalje koriste Vector(ja pogotovu :))

Zanima me koliko vas koristi Vector klasu.
Potpis
"Čovek je biće koje se na sve navikava, i ja mislim da je ovo njegova najbolja definicija."
Fjodor M. Dostojevski
Re: Da li se Vector jos koristi???!!!!! 19.04.2007. u 10:37 · pre 237 meseci #2
Koliko ja znam, Vector ti je thread-safe kolekcija, dakle sinhronizovana je, pa je mozes bezbedno koristiti u konkurentnom programu. Ako ti to ne treba, koristi ArrayList.
Re: Da li se Vector jos koristi???!!!!! 19.04.2007. u 11:10 · pre 237 meseci #3
Jeste thread safe...i cesto mi treba :).. zanima me da li ljudi koriste ove klasu. Niko mi jos nije rekao da je ne koristim, a na poslu napravise imbecila od mene zbog ovoga...popizdeo sam kao zver...:) ceo faks sam koristio Vector i niko da mi kaze da ga ne koristim....
Potpis
"Čovek je biće koje se na sve navikava, i ja mislim da je ovo njegova najbolja definicija."
Fjodor M. Dostojevski
Re: Da li se Vector jos koristi???!!!!! 19.04.2007. u 11:33 · pre 237 meseci #4
Ja ne koristim Vector, jednostavno zato sto sam navikao da koristim ArrayList. Ali kakve god da sam primere citao na netu, a da je bilo potrebe za kolekcijama podataka, koristili su cesce Vector, nego ArrayList.

BTW, nisam znao da je Vector, synchronized klasa, hvala na toj informaciji.
Potpis
http://www.linkedin.com/in/radegm
Re: Da li se Vector jos koristi???!!!!! 19.04.2007. u 16:17 · pre 237 meseci #7
Vektor ljudi ne koriste zato što je sporiji, i zato što je thread
safety diskutabilan u njegovom slučaju. Na Vektoru jesu metodi
sinhronizovani, ali to ne čini kolekciju thread safety. I plus List
implementacije iz collection framework-a su brže od starih
implementacija.

Just my 2¢.
Potpis
Everything should be made as simple as possible, but not simpler. - AA
Re: Da li se Vector jos koristi???!!!!! 19.04.2007. u 19:55 · pre 237 meseci #8
Brate, meni je pomogao u gomili sluchajeva jer je jako lagan za korishcenje, i nisam imao bilo kakvih problema koristeci ga. Nishta mu ne fali, nije "Deprecated", tako da ga slobodno mozesh koristiti. Shto se brzine tiche, u to nisam upucen, ali ostatak je sasvim cool.
Re: Da li se Vector jos koristi???!!!!! 20.04.2007. u 09:10 · pre 237 meseci #11

Imaj na umu da je Vector 'legacy' klasa, koja je naknadno uglavljena u kolekcije.
To samo po sebi nije problem, a i ne odgovara na tvoje pitanje :)

Odgovor nije jednostavan i zavisi od mnogo cega. Na primer politike i programskih standarda
tvoje firme. To nije nimalo za zapostavljanje. Licno sam odusevljen da cujem da neka firma
u Srbiji (nadam se samo da je domaca) ima i postuje sopstvene standarde.

Ako nemas takvih ogranicenja onda odgovor zavisi od verzije JDK koju koristis. U realnom
svetu je slabo verovatno da ces imati priliku da koristis uvek ono sto zelis. Ja sam radio ne
na jednom projektu za zaista velike firme (SUN, Symantec, Motorola) gde je zahtevan standard
za JDK bio veoma nizak.

Ako imas tu nesrecu da je JDK 1.1 na primer, i nemas neki izbor.

Ako to nije ogranicenje, opet bih preskocio koriscenje Vector klase.

Prednost koju neko navodi jeste da je Vector sinhronizovan. Ali ako nemas
potrebe za veoma visokim stepenom multithreading aplikacije, mozes da
koristis Collections.synchronizedCollection(Collection c).

Primeti da sam napomenuo "ako nemas potrebe za visokim stepenom
multithreadinga". Ako je to slucaj, recimo razvijas server koji treba da podrzi
veliki broj istovremenih TCP konekcije zaboravi i Vector i Collections.synchronizedCollection(Collection c).
Oba zato sto ce puci prilikom velikg broja klijenta, a Vector i zato sto su mu
performanse (bar do verzije 1.4, nisam posle probao) bile lose u slucaju da treba da
radis ista osim da dodajes nove klijente u listu.

U tom slucaju koristi java.util.concurrent (od verzije 1.5, imas originalni kod u verziji 1.4).

Ali sta god koristio uvek je odlicna ideja da razdvojis interface (List) i implementaciju. Tako
da cak i ako se zeznes uvek mozes da promenis implementaciju bez promene bilo cega drugog
u tvojoj aplikaciji.

Odlicna knjiga za razumevanje problematike je:

http://www.javaconcurrencyinpractice.com/


Pozdrav, Srdjan



Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme