Java - Situace v paměti Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Matiseli
Level 2.5
Level 2.5
Příspěvky: 381
Registrován: červen 14
Bydliště: Podíváte-li se roku 2023 na oblohu, tak na té planetě více v pravo
Pohlaví: Nespecifikováno
Stav:
Offline

Java - Situace v paměti

Příspěvekod Matiseli » 10 led 2015 18:34

Zdravím,
zajímala by mě situace, jež u příkladu následujícího nastane v RAM:
Mám řídící třídu (tj. Objekt s metodou "main" starající se o komunikaci s uživatelem apod.), v níž instancuji objekt Člověk. Jeho konstruktor inicializuje jisté atributy (řekněme, "výška = 152" atd.). Avšak, v samotném objektu se nachází privátní metody, které sami konstruktor zavolají (tedy ve třídě Člověk jistá metodá má v těle sekvenci kódů jako "new Člověk(152, 52)").

Nyní k otázkám:
1. Při změně parametrů v konstruktoru Člověka, jenž volán jest ve třídě stejné, přizpůsobí se jim i konstruktor vnější - čili volaný z hlavní/řídící třídy?
2. Je tento způsob změny parametrů v souladu s filozofií nenáročnosti aplikace?

Děkuji za toužené odpovědi.

Reklama
Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - Situace v paměti

Příspěvekod domitea » 10 led 2015 19:03

A zdroják by nebyl? Asi vím co myslíš, ale ze zdrojáku se to lépe čte :wink:

1. Při volání konstruktoru vždycky vyváříš nový objekt, vždycky. Takže jak by se mu měl přispůsobit?

2. Jestli parametry třídy člověk měníš tak, že vždycky vytvoříš nový objekt... No, určitá paměťová náročnost tam bude :D

Matiseli
Level 2.5
Level 2.5
Příspěvky: 381
Registrován: červen 14
Bydliště: Podíváte-li se roku 2023 na oblohu, tak na té planetě více v pravo
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Java - Situace v paměti

Příspěvekod Matiseli » 11 led 2015 12:16

Tedy, zde konstruktor jest:

Kód: Vybrat vše

   /**Konstruktor instancuje potřebné objekty pro zápis/čtení.
    * @cestaKsouboru - Udává soubor v adresáři, na něhož se veškeré poskytované operace v tomto objektu zaměří.*/
   public SoubSys(String cestaKsouboru) throws IOException{
      operátor = new RandomAccessFile(new File(cestaKsouboru), "rw");
   }

A mám, dejme tomu, tuto metodu:

Kód: Vybrat vše

private Soubory zmenZamereni(String cestaKsouboru){

return new Soubory(cestaKsouboru);
}


Nyní k otázce: Jest méně náročné volat celý konstruktor, (viz. metoda "zmenZamereni()"), či k těmto účelům napsat metodu novou (avšak s obsahem, jako má konstruktor) - tedy:

Kód: Vybrat vše

private void zmenZamereni(String cestaKsouboru){
operace = new RandomAccessFile(new File(cestaKsouboru));

}

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - Situace v paměti  Vyřešeno

Příspěvekod domitea » 11 led 2015 14:34

Jo táákhle, no odpověděl jsis sám :wink:

Jaký je rozdíl mezi metodou Soubory a RandomAccessFile? Žádný, oba dva to jsou konstruktory! Takže v tomhle případě to je fuk :lol: Stejně si vyvoříš další objekt, přepíšeš reference a až uklízeč odpadků bude mít čas, tak ten starý objekt vymaže. To platí u obou dvou kostruktorů.

Jinak zrovna u Javy řešit otázku přidělování paměti mi přijde trochu kontraproduktivní :D


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Doplnění RAM paměti Příloha(y)
    od bugicek7lpCZ » 09 zář 2024 20:23 » v Rady s výběrem hw a sestavením PC
    25
    7267
    od bugicek7lpCZ Zobrazit poslední příspěvek
    07 říj 2024 19:04
  • Deska a paměti pro 9900X
    od Hromotluk » 05 úno 2025 09:09 » v Rady s výběrem hw a sestavením PC
    8
    3168
    od Hromotluk Zobrazit poslední příspěvek
    09 úno 2025 20:22
  • Výběr desky a pamětí
    od MariTopHigh » 02 lis 2024 07:57 » v Rady s výběrem hw a sestavením PC
    5
    2406
    od MariTopHigh Zobrazit poslední příspěvek
    02 lis 2024 23:00

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti