Mikä on merkkijonopooli Javassa?
Mikä on merkkijonopooli Javassa?

Video: Mikä on merkkijonopooli Javassa?

Video: Mikä on merkkijonopooli Javassa?
Video: Пул строк в Java | String pool | Фрагмент лекции JavaRush - университета 2024, Marraskuu
Anonim

Kuten nimestä voi päätellä, String Pool javassa on uima-allas / jouset tallennettu sisään Java Kasan muisti. Tiedämme sen merkkijono on erikoisluokka java ja voimme luoda merkkijono objektit käyttämällä uutta operaattoria sekä antamalla arvot lainausmerkeissä.

Mitä hyötyä on merkkijonosta tällä tavalla Javassa?

The Java-merkkijono vakio uima-allas on kasamuistissa oleva alue, jossa Java tallentaa kirjaimellisesti merkkijono arvot. Kasa on muistialue käytetty ajonaikaisiin toimintoihin. Kun uusi muuttuja luodaan ja sille annetaan arvo, Java tarkistaa, onko tämä tarkka arvo olemassa uima-allas.

Yllä olevan lisäksi, kuinka merkkijono toimii merkkijonopoolissa? Vähentääksesi määrää merkkijono JVM:ssä luodut objektit merkkijono luokka pitää a uima-allas / jouset . Joka kerta a merkkijono literal luodaan, JVM tarkistaa merkkijono kirjaimellinen uima-allas ensimmäinen. Jos merkkijono ei ole olemassa uima-allas , uusi merkkijono objekti alustetaan ja sijoitetaan uima-allas.

Miksi merkkijonoa tarvitaan tähän liittyen?

Se on turvallista, koska merkkijono on muuttumaton Javassa. Tämän seurauksena sekä s että t osoittavat samaan objektiin ja vähän muistia on tallennettu. nimi ' jousiallas ' tulee ajatuksesta, joka kaikki on jo määritelty merkkijono on tallennettu joihinkin uima-allas ja ennen uuden luomista merkkijono objektin kääntäjä tarkistaa, jos sellainen on merkkijono on jo määritelty.

Mikä on päämuisti Javassa?

Ensinnäkin " päämuisti "tarkoitamme " Java kasa, kuten JVM näkee'. JVM voi yleensä vapaasti työskennellä muuttujan paikallisella kopiolla. Esimerkiksi JIT-kääntäjä voisi luoda koodin, joka lataa a:n arvon Java muuttuja rekisteriin ja toimii sitten kyseisessä rekisterissä.

Suositeltava: