2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
ArrayListin alin kerros on toteutettu taulukoiden perusteella. Se tekee tämän laajentamalla tai pienentämällä taulukon kokoa dynaamisesti. Kun kapasiteetti ei riitä, se luo suuremman taulukon, kopioi alkuperäiset tiedot ja lisää siihen lopuksi uudet tiedot.
ArrayList-laajennuksen mekanismi on: kun ensimmäinen elementti lisätään, ArrayListin kapasiteetti on 10 aina kun uusi elementti lisätään, jos kapasiteetti ylittyy, alkuperäinen kapasiteetti kaksinkertaistuu, eli alkuperäinen kapasiteetti * 2; , jos alkuperäinen kapasiteetti on 0, niin uusi kapasiteetti on 1.
ArrayListin sisäinen toteutus perustuu taulukoihin, kun useat säikeet käyttävät samaa ArrayListiä samanaikaisesti, tietojen epäjohdonmukaisuutta voi esiintyä esimerkiksi silloin, kun yksi säie lukee ArrayListin tietoja ja toinen säie lisää/poistaa tietoja ArrayList, voi olla Muuta ArrayList-tietoja, jotta ArrayList-tietoja lukeva säie voi lukea vääriä tietoja, mikä aiheuttaa ohjelmavirheen.
Pino on erityinen lineaarinen taulukko. Sen ominaispiirre on, että tietoja voidaan lisätä ja poistaa vain toisesta päästä, ensimmäinen sisään, viimeinen ulos, viimeinen sisään ensimmäinen ulos -periaatteella. Se on tallennusrakenne, jota voidaan käyttää funktioparametriarvojen, paikallisten muuttujien jne. tallentamiseen.
Kasa on erityinen puurakenne, jolle on ominaista se, että kaikkien solmujen arvot ovat suurempia tai yhtä suuria kuin niiden lapsisolmujen arvot, ja juurisolmun arvo on suurin tai pienin. Keko on dynaaminen tallennusrakenne, jota voidaan käyttää suurten tietomäärien tallentamiseen, kuten lajitteluun, hakuun jne.
Korutiinin ydin on kevyt säie.
Tilan synkronointi Se viittaa kunkin koneen tilan (kuten sijainti, nopeus, kiihtyvyys jne.) lähettämiseen monikonejärjestelmässä muille koneille kussakin ohjausjaksossa, jotta jokainen kone pysyy synkronoituna. Tilasynkronoinnilla voidaan saavuttaa monen koneen yhteistoiminnallisen ohjauksen reaaliaikainen suorituskyky, mutta koska jokaisessa ohjausjaksossa on lähetettävä suuri määrä dataa, sen tarkkuus voi olla suhteellisen alhainen.
Kehyssynkronointi Se tarkoittaa, että jokaisessa ohjausjaksossa monikonejärjestelmän jokaisen koneen ohjauskomennot välitetään muille koneille siten, että jokainen kone pysyy synkronoituna. Kehyssynkronointi voi saavuttaa usean koneen yhteisohjauksen tarkkuuden, mutta koska jokaisessa ohjausjaksossa lähetetään vain pieni määrä ohjauskäskyjä, sen reaaliaikainen suorituskyky voi olla suhteellisen alhainen.
HashMapin alin kerros on toteutettu taulukkoon linkitetyllä listalla (puna-musta puu). Se tallentaa tiedot avaimen hashCode-arvon mukaan koodia ja käyttää linkitettyä luetteloa (puna-musta puu) tietojen tallentamiseen. HashMap Java 8:ssa, kun linkitetyn luettelon pituus ylittää kynnyksen (oletus on 8), se muunnetaan punamustaksi puuksi kyselyn tehokkuuden parantamiseksi.Kun kapasiteetti ei riitä, se laajenee automaattisesti Oletuskuormituskerroin on 0,75 ja laajennusmenetelmä on 2 kertaa kapasiteetti.
Mitkä ovat pinojen ja jonojen käyttöskenaariot?
Selaimen eteenpäin- ja taaksepäin-toiminnot: Selaimen vierailemat verkkosivut voivat toteuttaa eteenpäin- ja taaksepäin-toiminnot pinotietorakenteen kautta.
TCP-kiihtymisongelma viittaa siihen, että TCP-protokolla ei fragmentoi dataa siirrettäessä dataa, jolloin vastaanottavan pään vastaanottaman datan määrä on suurempi kuin lähettävän pään lähettämän datan määrä.
Ensinnäkin UDP-datagrammit voivat auttaa toteuttamaan kolmisuuntaisen kättelyprosessin TCP/IP-protokollassa. Ensimmäisessä kättelyssä asiakas lähettää kättelypyynnön sisältävän UDP-datagrammin. Kun palvelin vastaanottaa tämän viestin, se vastaa vahvistusviestillä, joka osoittaa, että palvelin on vastaanottanut asiakkaan kättelypyynnön ja on valmis tarjoamaan palveluita. Toisessa kättelyssä asiakas lähettää uudelleen UDP-datagrammin Tällä kertaa viesti sisältää hyödyllisiä tietoja, kuten asiakkaan IP-osoitteen, portin numeron jne., jotta palvelin voi tunnistaa asiakkaan. Kolmannessa kättelyssä palvelin lähettää UDP-datagrammin, joka ilmoittaa, että yhteys on muodostettu ja asiakas voi aloittaa tiedon lähettämisen.
Toiseksi, UDP-datagrammit voivat myös auttaa toteuttamaan tiedonsiirtoprosessin TCP/IP-protokollassa. Kun asiakkaan on lähetettävä dataa palvelimelle, tiedot kapseloidaan UDP-datagrammiin ja lähetetään palvelimelle, kun palvelin on vastaanottanut UDP-datagrammin, se jäsentää viestin sisältämät tiedot ja suorittaa siihen liittyvän käsittelyn.
Lopuksi UDP-datagrammit voivat myös auttaa toteuttamaan yhteyden katkaisuprosessin TCP/IP-protokollassa.Kun asiakas ei enää tarvitse kommunikoida palvelimen kanssa, se voi lähettää UDP-datagrammin ilmoittamaan, että asiakas katkaisee yhteyden Kun palvelin on vastaanottanut tämän viestin, se vapauttaa vastaavat resurssit ja täydentää näin koko TCP/IP-protokollan yhteysprosessi
Korutiinit mahdollistavat ohjelmien vaihtamisen eri tehtävien välillä, mikä parantaa ohjelman tehokkuutta ja lyhentää ohjelman ajoaikaa. Korutiinien avulla ohjelma voi vaihtaa useiden tehtävien välillä sen sijaan, että odottaisi yhden tehtävän valmistumista ennen uuden aloittamista. Se voi myös jakaa muuttujia eri säikeiden välillä, mikä lyhentää ohjelman ajoaikaa. Monitoimisovelluksissa korutiinien käyttö voi parantaa merkittävästi suorituskykyä, mikä johtaa nopeampiin käyntinopeuksiin.
Taulukot ovat nopeampia, koska taulukon jokaisen elementin osoite on jatkuva ja kiinteä, ja seuraavan elementin osoite voidaan saada nopeasti, kun taas linkitetyn luettelon jokaisen elementin osoite on epäjatkuva ja sinun täytyy kulkea osoitin saadaksesi seuraavan elementin osoitteen, joten taulukon läpikulku on nopeampi.
Virtuaalifunktio on erikoistoiminto, joka eroaa tavallisista funktioista siinä, että kääntäjä määrittää sen automaattisesti ja sitä voidaan kutsua käännöshetkellä. Virtuaalifunktion ominaisuus on, että sen toteutus määräytyy ajon aikana, ei käännösaikana.
Virtuaalisten funktioiden päätarkoitus on saavuttaa polymorfismi. Abstrakti luokka voi määritellä useita virtuaalisia funktioita, ja sitten sen alaluokat voivat toteuttaa nämä funktiot.
Sen ei tarvitse olla virtuaalinen funktio, mutta yleensä suositellaan virtuaalisen funktion käyttöä, koska johdannainen luokka voi ohittaa virtuaalifunktion, jolloin johdetun luokan tuhoaja voidaan suorittaa oikein ei käytetä, johdetun luokan tuhoajaa ei kutsuta, mikä voi aiheuttaa ongelmia, kuten muistivuotoja.
Renderöintiputki on sarja vaiheita, joita käytetään pelikohtausten tietojen muuntamiseen syöttötiedoista näytöllä näytetyiksi kuviksi.
Rappausputkilinjan prosessi on jaettu kolmeen päävaiheeseen: valmisteluvaihe, geometriavaihe ja valaistusvaihe.
Valmisteluvaiheessa pelimoottori lataa pelin kohtauksen mallit ja tekstuurit grafiikkasuoritusyksikköön (GPU) ja järjestää tiedot myöhempiä vaiheita varten.
Geometriavaiheessa matriisimuunnoksilla malli sijoitetaan kolmiulotteiseen avaruuteen ja malli muunnetaan sellaiseen muotoon, jota voidaan tukea ruudun pikseleillä.
Valaistusvaiheessa valonlähteen ja valaistusmallin avulla lasketaan kunkin pikselin väriarvo, ja tuloksena saatu kuva näytetään lopuksi näytöllä.
Edellytykset ahneelle algoritmille optimaalisen ratkaisun saamiseksi ovat "optimaalinen alirakenne" ja "ahneen valinnan ominaisuus":