To KIIV :
díky
Příspěvky odeslané z IP adresy 89.103.19.–
To Krychlik :
máš pravdu ... celou noc jsem o tom přemýšlel a protože celé pole bylo příliš veliké a podle Kiiva nereálné, tak jsem našel řešení
pole jsem rozdělil na několik polí ... jak jsem výše psal, tak jsem skutečně dospěl k názoru, že když je více než 90% pole nevyužito, tak je není třeba tvořit ... z celého množství jsem dospěl k závěru, že budu potřebovat cca 300.000 řádků ... ve třech nezávislých až 5-rozměrných polích k tomu mohu dospět, když budu generovat jen potřebné řádky ... bez přenastavení heapu
o čem je program ... promiň ale zatím si to nechám pro sebe ;)
To KIIV :
a ještě jedna otázka: jak bych mohl nastavit heap ?
To KIIV :
tak to jsem opravdu nevěděl ...
v tom případě bych potřeboval pomoci s trochu něčím jiným ... vím totiž už dopředu že pole bude z více než 90% prázdné ... je možné že by pomohlo pouze alokování těch řádků, které by byly použity ?
něco ve smyslu:
** static int[][] spb = new int[564 859 072 961][ ];
a dodatečně v případě potřeby
** spb[i] = new int[256]; //vcelku by možná stačilo i 128 (musel bych si to ještě teoreticky ověřit)
??
ovšem mám obavu, že podle vašeho vztahu stejně překročím velikost pole i bez další alokace ...
Potřeboval bych vyjádření k této alternativě.
Zdravím,
potřeboval bych pomoct ... potřebuji vytvořit opravdu velké dvourozměrné pole ... základní předpoklad byl:
static int[][] spb = new int[DEL][256];
// kde DEL je hodnota přes 200 000 ... (konkrétně potřebuji abnormálně velké pole o 564 859 072 961 řádcích)
ovšem program mi napíše již při 265 720 řádcích "OutOfMemoryError: Java heap space"
Poradil by mi někdo, co s tím mohu udělat ... potřebuji velmi rychlí přístup k hodnotám v poli.