Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Dupa 20 ani de facultate, am uita...
 Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebui sa vindem imobiliarele ...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 

Number format

- - - - -
  • This topic is locked This topic is locked
42 replies to this topic

#37
CrocodiluMereuVesel

CrocodiluMereuVesel

    Member

  • Grup: Members
  • Posts: 615
  • Înscris: 23.07.2018
Bre ia uite aici:

public static void stocarePrimitive(int n ) {
	 char[] a = new char[n];
	 for (int i = 0 ; i< n; i++){
		 a[i] = 'a';
	 }
}
public static void stocareObiecte(int n) {
	 Character[] a = new Character[n];
	 for (int i = 0 ; i< n; i++){
		 a[i] = 'a';
	 }
}

numar de elemente: 100000000
memorie folosita(primitive char): 192.0 [MB]
memorie folosita(obiecte Character): 383.0 [MB]


Edited by CrocodiluMereuVesel, 23 September 2018 - 10:19.


#38
sorin147

sorin147

    Senior Member

  • Grup: Senior Members
  • Posts: 6,368
  • Înscris: 11.08.2003
-- int
numar de elemente: 10000000
memorie folosita(obiecte Integer): 192.0 [MB]
memorie folosita(primitive integer): 230.0 [MB]


-- char
numar de elemente: 10000000
memorie folosita(obiecte Integer): 39.0 [MB]
memorie folosita(primitive integer): 58.0 [MB]


ia uite ce se intampla daca le pui invers :)

#39
CrocodiluMereuVesel

CrocodiluMereuVesel

    Member

  • Grup: Members
  • Posts: 615
  • Înscris: 23.07.2018
Cum adica le "pui invers" , defineste  ce inseamna a  "pune invers", arata ce aici codul cu modificarile "invers"

LE: am inteles ce ai vrut sa spui.Se intampla ca GC-ul  jvm-ului sa nu elibereze memoria imediat ceea ce rezulta in alte date, si anume cele expuse de tine.
Modifica in cod asa:
public static void main( String[] args ) {
//stocare metoda A
System.gc(); //obliga golirea memoriei daca nu s-a facut automat
//stocare metoda B
}

si apoi testeaza asa:
public static void main( String[] args ) {
		int n = 100000000;
		System.out.println("numar de elemente: " + " " + n);
		stocareObiecte(n);
		amprentaMemorie("obiecte Integer");
		System.gc(); //obliga golirea memoriei daca nu s-a facut automat
		stocarePrimitive(n);
		amprentaMemorie("primite Integer");
	}
numar de elemente:  100000000
memorie folosita(obiecte Integer): 1.0 [GB]
memorie folosita(primite Integer): 382.0 [MB]

si apoi invers:
	public static void main( String[] args ) {
		int n = 100000000;
		System.out.println("numar de elemente: " + " " + n);
		stocarePrimitive(n);
		amprentaMemorie("primite Integer");
		System.gc(); //obliga golirea memoriei daca nu s-a facut automat
		stocareObiecte(n);
		amprentaMemorie("obiecte Integer");
	}
numar de elemente:  100000000
memorie folosita(primite Integer): 383.0 [MB]
memorie folosita(obiecte Integer): 1.0 [GB]


Edited by CrocodiluMereuVesel, 23 September 2018 - 14:08.


#40
CrocodiluMereuVesel

CrocodiluMereuVesel

    Member

  • Grup: Members
  • Posts: 615
  • Înscris: 23.07.2018
Puteam sa obtinem acealsi rezultate daca in loc de System.gc() , comentam alternativ cele doua parti de stocare a codului si rulam alternativ si obtinem acelasi rezultate doar ca nu unele sub altele.

#41
sorin147

sorin147

    Senior Member

  • Grup: Senior Members
  • Posts: 6,368
  • Înscris: 11.08.2003
Stiu! Le-am rulat separat si am vazut diferenta dar, pentru ca initial ai trecut doar o parte, a trebuit :) sa fac la fel. :P

#42
Libertarian

Libertarian

    Junior Member

  • Grup: Members
  • Posts: 196
  • Înscris: 19.09.2018

View PostCrocodiluMereuVesel, on 22 septembrie 2018 - 21:27, said:

System.out.println(
		 "memorie folosita(%COMMENT%): %MEM%"
				 .replace("%COMMENT%", comment)
				 .replace("%MEM%", formatted + " " + um)
	 );

LOL de LOL ce tampenii poti sa faci(cine are cunostinte macar vag elementare de java n-ar face tembelismul de mai sus) - dai paste la niste cacaturi copiate aiurea de pe goagle si adaptezi textul la prostiile tale, deci bai habarnici, du-te bai la culcare ca programarea nu-i de tine, deloc! Si nu va fi niciodata! La restul aberatiilor habarniste nici nu ma obosesc sa-ti mai raspund si sa te invat cum e corect(chiar mare idiot as fi), n-ai decat sa te ineci in ignoranta...

Daca se uita cineva cu atentie la firul discutie, poate observa ca nu a zis nimeni niciodata ca obiectele claselor wrapper ar ocupa mai putina memorie decat primitivele sau ca operatiunile(in special de scriere/modificare/creare) ar fi la fel sau mai rapide. Asta e o aberatie nascocita de troll ramas in pana de argumente cand i se scoate la iveala habarnismul - pt. a deturna discutia in alta directie.

Edited by Libertarian, 24 September 2018 - 14:50.


#43
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostLibertarian, on 24 septembrie 2018 - 14:26, said:

Daca se uita cineva cu atentie la firul discutie
Troleala nu are nici fir, si nici discutie ;)

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate