Przejdź do głównej zawartości

Jeden post z tagiem "string"

Wyświetl wszystkie tagi

· 7 min aby przeczytać
Bartek Jabłoński

W skrócie:

  • Na pamięć obiektu String składa się 24 byte na metadane + ilość znaków razy 1 byte lub 2 byte w zależności od wartości coder
    • Metadane : mark word x2 (4 bytes x2 = 8 bytes), klass word (4 bytes), referencja do tablicy byte[] lub char[] (4 byte), hash (4 byte), hashIsZero (1 byte), coder (1 byte), padding (2 byte)
  • Obiekt String ma 2 dodatkowe flagi:
    • gdy coder =1 to kodowanie UTF-16 (2 bytes na znak)
    • gdy coder = 0 to kodowanie LATIN-1 (1 byte na znak)
    • hashIsZero jest to flaga która mówi czy obliczenie hasha zostało już wykonane