Co je fond řetězců v Javě?
Co je fond řetězců v Javě?

Video: Co je fond řetězců v Javě?

Video: Co je fond řetězců v Javě?
Video: String is Immutable in Java 2024, Listopad
Anonim

Jak název napovídá, String Pool v Javě je bazén z Struny uloženy v Jáva Paměť haldy. Víme, že Tětiva je speciální třída v Jáva a můžeme tvořit Tětiva objektů pomocí nového operátoru a také poskytování hodnot ve dvojitých uvozovkách.

Tímto způsobem, jaké je použití fondu řetězců v Javě?

The Java řetězec konstantní bazén je oblast v paměti haldy, kde Jáva obchody doslovně tětiva hodnoty. Halda je oblast paměti použitý pro provozní operace. Když je vytvořena nová proměnná a je jí přiřazena hodnota, Jáva zkontroluje, zda tato přesná hodnota existuje v bazén.

Kromě výše uvedeného, jak funguje řetězec ve fondu řetězců? Chcete-li snížit počet Tětiva objekty vytvořené v JVM, Tětiva třída drží a bazén z struny . Pokaždé a tětiva je vytvořen literál, JVM zkontroluje tětiva doslovný bazén za prvé. Pokud tětiva neexistuje v bazén , nový Tětiva objekt se inicializuje a umístí do bazén.

S ohledem na to, proč je vyžadován fond řetězců?

Je to bezpečné, protože Tětiva je neměnný v Javě. Výsledkem je, že oba s a t ukazují na stejný objekt a ušetřilo se trochu paměti. Název ' provázkový bazén “pochází z myšlenky, která je již definována tětiva jsou uloženy v některých ' bazén “a před vytvořením nového Tětiva kompilátor objektů kontroluje, zda tomu tak je tětiva je již definován.

Co je hlavní paměť v Javě?

Za prvé, podle " hlavní paměť "myslíme ' Jáva haldy, jak ji vidí JVM'. JVM může obecně pracovat na lokální kopii proměnné. Kompilátor JIT by například mohl vytvořit kód, který načte hodnotu a Jáva proměnnou do registru a poté s tímto registrem pracuje.

Doporučuje: