Π Π°Π·Π½ΠΎΠ΅

Stack с: рСализация ΠΈ Ρ‡Ρ‚ΠΎ это Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‚Π°ΠΊΠΎΠ΅

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠšΡ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Full Stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ? / Π₯Π°Π±Ρ€

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ «What is a Full Stack developer?» Π°Π²Ρ‚ΠΎΡ€Π° Laurence Gellert.

ΠšΡ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Full Stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ?

Π Π°Π·ΡƒΠΌΠ½ΠΎ Π»ΠΈ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ простыС смСртныС Π±ΡƒΠ΄ΡƒΡ‚ Π²Π»Π°Π΄Π΅Ρ‚ΡŒ всСми аспСктами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ? Π‘ΠΊΠΎΡ€Π΅Π΅ всСго Π½Π΅Ρ‚, Π½ΠΎ Π² Facebook ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΠ± этом. На OSCON (O’Reilly Open Source Convention β€” Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½Ρ‹ΠΉ съСзд, посвящённый ΠΎΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ ΠΈ свободному ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ) ΠΎΠ΄ΠΈΠ½ ΠΈΠ· сотрудников Facebook сказал, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Full Stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚?

Для мСня Full Stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ β€” это Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ с Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ уровня Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ искрСннС ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉΡΡ всСми ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ тСхнологиями.

Π₯ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ со всСм стСком, Π·Π½Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Тизнь Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΠΈΡ… ΠΎΠΊΡ€ΡƒΠΆΠ°Π΅Ρ‚. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ я Ρ‚Π°ΠΊ ΠΏΡ€ΠΎΡ‚ΠΈΠ² разрознСнности Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ мСстС. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, политичСскиС ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… организациях. Π― Π΄ΡƒΠΌΠ°ΡŽ ΡΡƒΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Π½Π°ΠΉΠΌΠ° Π² Facebook Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли ΡƒΠΌΠ½Ρ‹Π΅ люди ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ свои Π³ΠΎΠ»ΠΎΠ²Ρ‹ ΠΈ ΡΠ»ΡƒΡˆΠ°ΡŽΡ‚ΡΡ своСго сСрдца, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ создаСтся Π·Π° мСньшСС врСмя.

Π£Ρ€ΠΎΠ²Π½ΠΈ Full Stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

  1. Π‘Π΅Ρ€Π²Π΅Ρ€, ΡΠ΅Ρ‚ΡŒ ΠΈ срСда хостинга

    A. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒΡΡ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ, Π½Π΅ принимая Π½ΠΈΠΊΠ°ΠΊΠΈΡ… рСсурсов ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅.

    B. НСобходимо Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π΅ использованиС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, сСтСвых рСсурсов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ избыточности ΠΈ доступности Π΄Π°Π½Π½Ρ‹Ρ….

    C. Как ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ?

    D. Как насчСт многопоточности ΠΈ состояния Π³ΠΎΠ½ΠΊΠΈ? Π‘ΠΊΠΎΡ€Π΅Π΅ всСго Π²Ρ‹ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈΡ… Π² своСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π½ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΌΠΈΡ€Π΅.

    E. Full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ с DevOps. БистСмы Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ логирования.

  2. ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

    A. Если модСль Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Π°, бизнСс Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ высокиС ΡƒΡ€ΠΎΠ²Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π½ΡƒΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π² странном (ΡƒΡ€ΠΎΠ΄Π»ΠΈΠ²ΠΎΠΌ) ΠΊΠΎΠ΄Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случаи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ модСль Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚.

    B. Full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π½Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ модСль, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ внСшними ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, индСксами, прСдставлСниями, Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ поиска ΠΈ Ρ‚.Π΄.

    Π‘. Full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ нСрСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π² Ρ‡Π΅ΠΌ ΠΎΠ½ΠΈ прСвосходят рСляционныС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

  3. БизнСс Π»ΠΎΠ³ΠΈΠΊΠ°

    A. ПониманиС цСнности, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ прСдставляСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

    B. Π—Π½Π°Π½ΠΈΠ΅ Ρ‚Π²Π΅Ρ€Π΄Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ².

    Π‘. Π—Π½Π°Π½ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

  4. Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ API / Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ дСйствий / MVC

    A. Как внСшний ΠΌΠΈΡ€ влияСт Π½Π° бизнСс Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ модСль Π΄Π°Π½Π½Ρ‹Ρ….

    B. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° этом ΡƒΡ€ΠΎΠ²Π½Π΅.

    Π‘. Full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, простыС Π² использовании интСрфСйсы. МСня ΠΎΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ запутанности Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… API.

  5. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс (UI)

    A. Full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ: Π°) ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚, ΠΈΠ»ΠΈ b) ΠΏΡ€ΠΈΠ·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊΠΎΠ² ΠΈ графичСских Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ². Π’ любом случаС, рСализация Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ.

    B. Π’Π»Π°Π΄Π΅Π½ΠΈΠ΅ HTML5 / CSS.

    Π‘. JavaScript это пСрспСктивный язык Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ ΠΈ Π² ΠΌΠΈΡ€Π΅ JavaScript дСлаСтся ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² (node, backbone, knockout…).

  6. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ (UX)

    A. Full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ цСнят, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ просто хотят, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всё Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ.

    B. Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ систСма Π½Π΅ Π΄Π°Π΅Ρ‚ своим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ синдром запястного ΠΊΠ°Π½Π°Π»Π° ΠΈΠ»ΠΈ воспалСния Π³Π»Π°Π·.

    Π‘. Full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΈΡˆΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ сломалось, ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅ΡΡŒ Π·Π° это. Иногда программисты Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΏΠΈΡˆΡƒΡ‚ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, читая ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ чувствуСт сСбя Π³Π»ΡƒΠΏΡ‹ΠΌ.

  7. ПониманиС Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΈ бизнСсу

    A. БСйчас ΠΌΡ‹ Ρ€Π°Π·ΠΌΡ‹Π²Π°Π΅ΠΌ Ρ‡Π΅Ρ€Ρ‚Ρƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Π°, Π½ΠΎ это слишком большая Ρ€ΠΎΠ»ΡŒ.

    B. Full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ прСдставлСниС ΠΎ бизнСсС.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹

  1. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ качСствСнныС ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты. ΠšΡΡ‚Π°Ρ‚ΠΈ, Π² наши Π΄Π½ΠΈ Π΄Π°ΠΆΠ΅ JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты.
  2. ПониманиС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… процСссов построСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΅Π³ΠΎ тСстирования, докумСнтирования ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ развСртывания.
  3. ОсознаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ бСзопасности ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ прСдставляСт свои собствСнныС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ уязвимости.

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ мысли

ΠžΡ‡Π΅Π½ΡŒ плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° β€” ТСстко ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ОБ, Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС ΠΈ Ρ‚.Π΄.). Π’ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ вСсь спСктр Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° использованиС самого простого ΠΏΡƒΡ‚ΠΈ. На самом Π΄Π΅Π»Π΅ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ это, Ссли это «ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° выброс».

ВСхнологичСскиС стартапы Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… ΠΈΠ·-Π·Π° ΠΈΡ… ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ! Однако, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ развития ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π΅ΠΉ трСбуСтся всё большС ΠΈ большС Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… спСциалистов.

Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ сСбя full stack Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языках, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ Π΄Π°ΠΆΠ΅ отраслях Π² своСй ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π΅. Full stack Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ «senior engineer», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ находится Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ программист-ΠΏΠΎΠ»ΠΈΠ³Π»ΠΎΡ‚, Π½ΠΎ с Π±ΠΎΠ»Π΅Π΅ высоким прСдставлСниСм всСх ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… частСй. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΌΠΎΠ΅ΠΌ спискС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3-5 ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², связанных с написаниСм ΠΊΠΎΠ΄Π°.

Stack Trace ΠΈ с Ρ‡Π΅ΠΌ Π΅Π³ΠΎ Сдят

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΈ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ΅ явлСниС Π² Java, ΠΊΠ°ΠΊ StackTrace, Ρ‚Π°ΠΊ ΠΆΠ΅ извСстноС ΠΊΠ°ΠΊ «Π’рассировка стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²». Π­Ρ‚Π° информация Π±Ρ‹Π»Π° структурирована для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ²ΡˆΠΈΡ…ΡΡ с этим понятиСм Π² Π½Π°Ρ‡Π°Π»Π΅ дСвятого уровня Java Syntax.

Π― Π΄ΡƒΠΌΠ°ΡŽ всС ΠΈΠ· вас, Ρ…ΠΎΡ‚ΡŒ Ρ€Π°Π·, Π½ΠΎ встрСчали ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² вашСм IDE, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡŒ это Idea, Eclipse ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Exception in thread "main" java.lang.ArithmeticException
	at com.example.task01.Test.division(Test.java:10)
	at com.example.task01.Test.main(Test.java:6)

Π­Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠΆΠ΅ догадались ΠΈ Π΅ΡΡ‚ΡŒ наша трассировка. Но Π½Π΅ ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅ ΠΏΠ°Π½ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ, сСйчас ΠΌΡ‹ с Π²Π°ΠΌΠΈ Ρ€Π°Π·Π»ΠΎΠΆΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° ΠΏΠ°Π»ΡŒΡ†Π°Ρ…. Для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ StackTrace Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Бтэк ΠΈ это Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π΅Π³ΠΎ названия. На этом мСстС ΠΌΡ‹ остановимся Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

На восьмом ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Ρ‹ ΡƒΠΆΠ΅ познакомились с коллСкциями ΠΈ Π·Π½Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ дСлятся Π½Π° Ρ‚Ρ€ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ Set β€” мноТСство, List β€” список, Map β€” ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ (ΠΈΠ»ΠΈ ΠΊΠ°Ρ€Ρ‚Π°). По мнСнию JavaRush (c).
Наш Stack Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ List. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ LIFO, Ρ‡Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Last In First Out(ПослСдний ΠΏΡ€ΠΈΡˆΠ΅Π», ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡˆΠ΅Π»). А ΠΈΠΌΠ΅Π½Π½ΠΎ это Ρ‚Π°ΠΊΠΎΠΉ список ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° стопку ΠΊΠ½ΠΈΠ³, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π·ΡΡ‚ΡŒ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ Π² Stack ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ всС элСмСнты ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² наш список послС. Как это ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π²Ρ‹ΡˆΠ΅ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ списка ArrayList Π³Π΄Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ любой элСмСнт ΠΈΠ· списка ΠΏΠΎ индСксу.
Π•Ρ‰Π΅ Ρ€Π°Π· для закрСплСния. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ элСмСнта ΠΈΠ· Бтэка Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΊΠΎΠ½Ρ†Π°! Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π² Π½Π΅Π³ΠΎ элСмСнт находится Π² Π½Π°Ρ‡Π°Π»Π΅(ΠΈΠ»ΠΈ Π½Π° Π΄Π½Π΅ ΠΊΠ°ΠΊ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅).

Π’ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚ наш Stack

Object push() — ДобавляСт элСмСнт Π² Π²Π΅Ρ€Ρ… стСка.
Object pop() — Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнт, находящийся Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части стэка, удаляя Π΅Π³ΠΎ Π² процСссС.
Object peek() — Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнт, находящийся Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части стэка, Π½ΠΎ Π½Π΅ удаляСт Π΅Π³ΠΎ.
int search() — Π˜Ρ‰Π΅Ρ‚ элСмСнт Π² стСкС. Если Π½Π°ΠΉΠ΄Π΅Π½, возвращаСтся Π΅Π³ΠΎ смСщСниС ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС возвращаСтся -1.
boolean empty() — ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, являСтся Π»ΠΈ стСк пустым. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли стСк пустой. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ false, Ссли стСк содСрТит элСмСнты.

Π’Π°ΠΊ для Ρ‡Π΅Π³ΠΎ ΠΆΠ΅ Π² Java Π½ΡƒΠΆΠ΅Π½ StackTrace построСный Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ Stack? Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ошибки Π½ΠΈΠΆΠ΅, которая Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² процСссС выполнСния Ρ‚Π°ΠΊΠΎΠΉ Π²ΠΎΡ‚ простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

public class Test {

    public static void main(String[] args) {
        System.out.println(convertStringToInt(null));
    }

    public static int convertStringToInt(String s) {
        int x = Integer.parseInt(s);
        return x;
    }
}

Π£ нас Π΅ΡΡ‚ΡŒ класс Test с двумя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. ВсСм ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ main ΠΈ convertStringToInt Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΈΠ·Π²Π½Π΅(Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄Π° main) строки Π² цСлочислСнноС число Ρ‚ΠΈΠΏΠ° int. Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΌΡ‹ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ вмСсто строки с ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ null. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ наш ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ смог ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹Π·Π²Π°Π» ΠΎΡˆΠΈΠ±ΠΊΡƒ NumberFormatException. Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄Π° main ΠΈ Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½Π° создаСт Π½ΠΎΠ²Ρ‹ΠΉ Бтэк с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ StackTrace ΠΊΡƒΠ΄Π° ΠΊΠ»Π°Π΄Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1, Π΄Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ convertStringToInt ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠΏΡΡ‚ΡŒ заносит ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ нашСго нахоТдСния Π² созданный Ρ€Π°Π½Π΅Π΅ StackTrace ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 2, Π΄Π°Π»Π΅Π΅ вызываСтся Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ Π½Π°ΡˆΠ΅ΠΌΡƒ Π³Π»Π°Π·Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ parseInt находящийся Π² классС Integer ΠΈ это ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ элСмСнт ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 3 нашСго StackTrace, Π² этом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π²Ρ‹Π·ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π² StackTrace ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 4 для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ элСмСнта Π½Π° null ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ вывСсти Π½Π°ΡˆΡƒ ΠΎΡˆΠΈΠ±ΠΊΡƒ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ всСй Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π½Π°ΡˆΠΈΡ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° возникновСния ошибки. Π’ΡƒΡ‚ Ρ‚ΠΎ Π΅ΠΉ ΠΈ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Ρ€Π°Π½Π΅Π΅ созданный StackTrace с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π°ΡˆΠΈΡ… ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ².

Exception in thread "main" java.lang.NumberFormatException: null
	at java.base/java.lang.Integer.parseInt(Integer.java:614)
	at java.base/java.lang.Integer.parseInt(Integer.java:770)
	at com.example.task01.Test.convertStringToInt(Solution.java:10)
	at com.example.task01.Test.main(Solution.java:6)

Π”ΠΎ возникновСния ошибки, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° шла Π²Π³Π»ΡƒΠ±ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½ΠΎ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка, всС Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС. ΠŸΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ΡΡ строка с описаниСм ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹(β„–1 Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅), Π΄Π°Π»Π΅Π΅ бСрСтся послСднСС (ΠΈ находящССся Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Π΅) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² наш Бтэк ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΈ пСчатаСтся Π² консоль(β„–2 Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅) ΠΈ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² классС Integer Π½Π° 614 строкС ΠΊΠΎΠ΄Π° ΠΈ Π²Ρ‹Π·Π²Π°Π»Π° эту строку, строка 770 ΠΌΠ΅Ρ‚ΠΎΠ΄Π° parseInt Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ класса(β„–3 Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅) которая ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² Бтэк Π±Ρ‹Π»Π° ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Ρ€ΠΈ ΠΈ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ класса Integer всС Π΅Ρ‰Π΅ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ Π½Π°ΠΌ Π±Ρ‹Π» Π²Ρ‹Π·Π²Π°Π½ ΡƒΠΆΠ΅ нашим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ convertStringToInt Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π΅ΠΌΡΡ Π½Π° 10 строкС нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹(β„–4 Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π° ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΠ½ Π±Ρ‹Π» Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ), Π° Π΅Π³ΠΎ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π²Ρ‹Π·Π²Π°Π» main Π½Π° 6 строкС(β„–5 Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π° ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ соотвСтствСнно ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ).
Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π²ΠΎΡ‚, складируя Π² Π‘Ρ‚Π΅ΠΊ шаг Π·Π° шагом наши Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΡ‹ смогли Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² main ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ пСчатая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ нас ΠΊ ошибкС.

Но StackTrace это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с ошибками, ΠΎΠ½ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°ΠΌ ΠΊΡƒΡ‡Ρƒ интСрСсной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ нашСго прилоТСния. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ популярный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² коммСнтариях ΠΊ основной Π»Π΅ΠΊΡ†ΠΈΠΈ 9Π³ΠΎ уровня. Π£ нас Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΊ Π½Π΅ΠΌΡƒ сразу ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ процСсс Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

public class Test {
    public static void main(String[] args) {
        method1();
        method2();
    }
    public static void method1() {
        //Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ
    }
    public static void method2() {
        method3();
        method4();
    }
    public static void method3() {
        //Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ
    }
    public static void method4() {
        method5();
    }
    public static void method5() {
        StackTraceElement[] stackTraceElements = Thread. currentThread().getStackTrace();
        for (StackTraceElement element:stackTraceElements) {
            System.out.println(element.getMethodName());
        }
    }
}

Π’ΡƒΡ‚ наша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Π΅Π·ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ выполняСт свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ заканчиваСтся. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ консоли:

getStackTrace
method5
method4
method2
main

Process finished with exit code 0

Как Ρƒ нас получился Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π² пятом ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ начиная с 20ΠΉ строки? Π‘ΠΎΡŽΡΡŒ самоС Π»ΡƒΡ‡ΡˆΠ΅ Ρ‡Ρ‚ΠΎ я смогу ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ самоС популярноС объяснСниС(Π² сокращСнии) ΡŽΠ·Π΅Ρ€Π° ΠšΠΈΡ€ΠΈΠ»Π»Π° ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊ Π»Π΅ΠΊΡ†ΠΈΠΈ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΠΌΡΡ ΠΊ строчкС ΠΏΠΎ созданию StackTrace ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π΅Π΅ поэлСмСнтно:

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();

StackTraceElement[] — ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΈΠΏ массива(На Ρ€Π°Π½Π½ΠΈΡ… уровнях Π²Ρ‹ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ массивы Ρ‚ΠΈΠΏΠ° int[], String[], Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚ Ρ‚ΠΎΠΆΠ΅ самоС).
stackTraceElements — имя массива, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ» наимСнования Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ эту Π½Π΅ влияСт.
Thread.currentThread() — ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ссылки Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ(ΠΏΠΎΠΊΠ° это Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½Π° 16 ΡƒΡ€ΠΎΠ²Π½Π΅ Π² квСстС Java Core)
getStackTrace() — ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ вСсь Бтэк Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²(Π­Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π³Π΅Ρ‚Ρ‚Π΅Ρ€ для StackTrace)
Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим, Ρ‡Π΅ΠΌ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ созданный массив. ΠœΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² массивС хранится ΠΈΠ½Ρ„Π° ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ….(с)
И для этого Π² 21ΠΉ строкС ΠΌΡ‹ запускаСм ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» for ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ forEach(кстати ΠΊΡ‚ΠΎ Π΅Ρ‰Π΅ Π½Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΠ» этот Ρ†ΠΈΠΊΠ», ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ Π½Ρ‘ΠΌ) ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· массива Π² консоль, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ посрСдством конструкции element.getMethodName().
Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ элСмСнтом массива Ρƒ нас оказался сам getStackTrace() соотвСтствСнно Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ получСния массива Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ½ Π±Ρ‹Π» послСдним ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Ρ‡Ρ‚ΠΎ выполнился ΠΈ Ρ‚Π΅ΠΌ самым оказавшись Π½Π° Π²Π΅Ρ€Ρ…ΡƒΡˆΠΊΠ΅ Бтэка, Π° помня ΠΏΡ€ΠΎ Π½Π°ΡˆΡƒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ «ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡ€ΠΈΡˆΠ΅Π», ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡˆΠ΅Π»» сразу ΠΆΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ добавляСтся Π² массив ΠΏΠΎΠ΄ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ элСмСнтом.

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· StackTraceElement:

String getClassName() — Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя класса.
String getMethodName() — Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.
String getFileName() — Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя Ρ„Π°ΠΉΠ»Π° (Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ классов).
String getModuleName() — Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя модуля (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ null).
String getModuleVersion() — Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ модуля (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ null).
int getLineNumber() — Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ строки Π² Ρ„Π°ΠΉΠ»Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ поняли ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π²Π°ΠΌ самим ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ StackTrace Π² вашСй Ide. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ совсСм всё усвоили, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ·Π°ΠΈΠΊΠ° слоТится Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ слоТилась Ρƒ мСня Π² Π΄Π°Π½Π½ΠΎΠΌ вопросС. Π–Π΅Π»Π°ΡŽ Π²Π°ΠΌ всСм успСхов!

Stack and heap. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² .NET

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² .NET. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ стСк ΠΈ ΠΊΡƒΡ‡Π°, ΠΈ для хранСния ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ.

Β 

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ .NET ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ запускаСтся ΠΈ опрСдСляСтся Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ адрСс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ процСсса, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ «ΠΊΡƒΡ‡ΠΈ»:

ΠšΡƒΡ‡Π° для ΠΊΠΎΠ΄Π° — JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

Малая ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ ΠΊΡƒΡ‡Π° — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎ 85 ΠΊΠ±

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ ΠΊΡƒΡ‡Π° — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠ²Ρ‹ΡˆΠ΅ 85 ΠΊΠ±*

ΠšΡƒΡ‡Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

*ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² случаС массивов для Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° double сущСствуСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, согласно ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ΠΈ хранятся Π² большой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΊΡƒΡ‡Π΅ Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ достиТСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² 85 ΠΊΠ± (double[] считаСтся систСмой  «Π±ΠΎΠ»ΡŒΡˆΠΈΠΌ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΡ€ΠΈ достиТСнии Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² 1000 элСмСнтов). По ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ 32-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° это, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π½Π° большиС ΠΈ ΠΌΠ°Π»Ρ‹Π΅ ΠΊΡƒΡ‡ΠΈ достаточно цСлСсообразно для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½ΠΎ ΠΎΠ± этом ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ сборщикС мусора.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π² ΠΊΡƒΡ‡ΠΈ, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ своими адрСсами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ячСйки памяти, Π³Π΄Π΅ хранятся значСния этих элСмСнтов.

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΊΡƒΡ‡Π° — это Π½Π΅ СдинствСнная структура Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ…Π²Π°Π»ΠΈΡ‚ΡŒΡΡ всСлСнная .NET. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ стСк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для хранСния «ΡΠΏΠ΅Ρ†ΠΈΡ„ичСских» Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. БСйчас ΠΌΡ‹ рассмотрим Π² дСталях, ΠΊΠ°ΠΊ устроСны эти структуры Π΄Π°Π½Π½Ρ‹Ρ… Π² дСталях.

Β 

Π‘Ρ‚Π΅ΠΊ

Π‘Ρ‚Π΅ΠΊ — это структура Π΄Π°Π½Π½Ρ‹Ρ…, организованная ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ LIFO (послСдний вошСл — ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅Π»). Если Π²Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, это идСальноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ вскорС прСдстоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ (Π»Π΅Π³ΠΊΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ с Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ стСка). Π”Π΅-Ρ„Π°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π° области стСка Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΄Π²ΡƒΡ… постулатах: «ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ» порядок выполнСния ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Β 

Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ порядка выполнСния — ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ стСку

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ пишСм, инкапсулирован Π² классы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. .NET Framework обязан всСгда «ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ» порядок Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² участков ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ состоянии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ значСниях ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (Π΄Π°Π±Ρ‹ ΡΡƒΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ состояниС Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ).

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .NET ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ стСк-Ρ„Ρ€Π΅ΠΉΠΌ (Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°), Π³Π΄Π΅ ΠΈ хранится вся нСобходимая информация для выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, адрСса Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… строчСк ΠΊΠΎΠ΄Π°. Π‘Ρ‚Π΅ΠΊ-Ρ„Ρ€Π΅ΠΉΠΌΡ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² стСкС Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π΅. ВсС это прСкрасно ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π‘Ρ‚Π΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния порядка выполнСния ΠΊΠΎΠ΄Π° ΠΈ часто называСтся стСком Π²Ρ‹Π·ΠΎΠ²Π°, стСком выполнСния ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ стСком.

Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ участок ΠΊΠΎΠ΄Π°:

Π”Π°Π±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Method2, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ адрСс ΠΊΠΎΠ½Ρ†Π° выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строчка ΠΊΠΎΠ΄Π° (строчка 4 Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅). Π­Ρ‚ΠΎΡ‚ адрСс вмСстС с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° хранятся Π² стСкС Π²Ρ‹Π·ΠΎΠ²Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° схСмС Π½ΠΈΠΆΠ΅.

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° Method3 Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ своС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (стСк-Ρ„Ρ€Π΅ΠΉΠΌ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ‚ стСк Π²Ρ‹Π·ΠΎΠ²Π°).

Β 

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²

Π’Π°ΠΊΠΆΠ΅ стСк ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π»ΡŽΠ±Ρ‹Ρ… Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² . NET — Π²ΠΊΠ»ΡŽΡ‡Π°Ρ: bool, decimal, int ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

БсылочныС Ρ‚ΠΈΠΏΡ‹ — это Ρ‚ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хранят Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ссылку Π½Π° эти Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ области памяти. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ интСрСсно, Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ всС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‚ΡΡ. Π­Ρ‚ΠΎ происходит ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΅Π³ΠΎ стСк-Ρ„Ρ€Π΅ΠΉΠΌ становится нСдоступным — стСк ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ стСк-Ρ„Ρ€Π΅ΠΉΠΌΠ° Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Π΅ стСка Π²Ρ‹Π·ΠΎΠ²Π° (Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСк-Ρ„Ρ€Π΅ΠΉΠΌΠ°), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ просто пСрСмСщаСтся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ стСк-Ρ„Ρ€Π΅ΠΉΠΌ послС окончания Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ (физичСски Π΄Π°Π½Π½Ρ‹Π΅ всС Π΅Ρ‰Π΅ находятся Π² стСкС Π²Ρ‹Π·ΠΎΠ²Π°, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π½ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· стандартный .NET-ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ).

Β 

ΠšΡƒΡ‡Π°

ΠšΡƒΡ‡Π° схоТ со стСком, Π½ΠΎ Ссли стСк прСдставляСтся Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΡ€ΠΎΠ±ΠΎΠΊ, складируСмых Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π΅, Π² случаС с ΠΊΡƒΡ‡Π΅ΠΉ эти самыС ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½Ρ‹ ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ Π² любоС врСмя.

Β 

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ссылочных Ρ‚ΠΈΠΏΠΎΠ²

ВсС ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΌΠΈ (ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΎΡ‚ object), ΡΠ²Π»ΡΡŽΡ‚ΡΡ ссылочными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ВсС ссылочныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… хранятся Π² управляСмой ΠΊΡƒΡ‡Π΅ (ΠΌΠ°Π»ΠΎΠΉ ΠΈΠ»ΠΈ большой — Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°). Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΏΡƒΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° хранится Π² ΠΊΡƒΡ‡Π΅, ссылка Π½Π° Π½Π΅Π³ΠΎ хранится Π² стСкС.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

Π€ΠΈΠ³ΡƒΡ€Π° Π½ΠΈΠΆΠ΅ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊ выглядит стСк ΠΈ ΠΊΡƒΡ‡Π° Π² ΠΏΠ»Π°Π½Π΅ хранСния Π΄Π°Π½Π½Ρ‹Ρ…:

OBJREF, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΉ Π² стСкС, Π½Π° самом Π΄Π΅Π»Π΅ являСтся ссылкой Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ MyClass, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΉ Π² ΠΊΡƒΡ‡Π΅.

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°: Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ MyClass myObj ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСста Π² ΠΊΡƒΡ‡Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ myObj. Π—Π΄Π΅ΡΡŒ всСго лишь создаСтся пСрСмСнная OBJREF Π² стСкС, послС Ρ‡Π΅Π³ΠΎ ΠΎΠ½Π° инициализируСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ null. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° new, ΠΊΡƒΡ‡Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ мСсто памяти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° сам ссылочный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠΎ адрСсу своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Β 

Π—Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ссылочных Ρ‚ΠΈΠΏΠΎΠ² (стСк ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΡƒΡ‡ΠΈ)

ОсновноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ссылочными ΠΈ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ссылочныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ адрСсу – Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ссылочной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° пСрСдаСтся всСго лишь ΠΎΠ±Ρ‰ΠΈΠΉ адрСс Π½Π° ячСйку памяти с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ случаС ΠΆΠ΅ со Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ пСрСдаСтся копия самого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит схСматичСски:

Как ΡƒΠΆΠ΅ ΠΈ Π±Ρ‹Π»ΠΎ сказано, Π² случаС со ссылочными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈ присваивании ссылочному Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ… значСния Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ссылочного Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, происходит присваивания адрСса, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ячСйка памяти со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ остаСтся ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² стСкС, Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π² ΠΊΡƒΡ‡Π΅, ΠΈΠΌΠ΅Π΅Ρ‚ свои ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ рассмотрим Π² грядущих ΡΡ‚Π°Ρ‚ΡŒΡΡ…. πŸ™‚

Β 

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ сСгодняшнСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли ΠΎΠ±Π»Π°ΡΡ‚ΡŒ стСка ΠΈ ΠΊΡƒΡ‡ΠΈ, Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ памяти для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… .NET-прилоТСния. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ познакомимся с процСссом ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΈ распаковки, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ это сказываСтся Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ нашСго прилоТСния.

Π”ΠΎ Π½ΠΎΠ²Ρ‹Ρ… встрСч!

Автор ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°: Π•Π²Π³Π΅Π½ΠΈΠΉ Π›ΡƒΠΊΠ°ΡˆΡƒΠΊ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

stack — ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π° русский — ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ английский


На основании Π’Π°ΡˆΠ΅Π³ΠΎ запроса эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π³Ρ€ΡƒΠ±ΡƒΡŽ лСксику.


На основании Π’Π°ΡˆΠ΅Π³ΠΎ запроса эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½ΡƒΡŽ лСксику.

There’s a whole stack of fashion magazines here.

Π—Π΄Π΅ΡΡŒ цСлая ΠΊΡƒΡ‡Π° ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΎ ΠΌΠΎΠ΄Π΅.

Casa De Nogales had a whole stack of records.

Π’ «ΠšΠ°ΡΠ° Π΄Π΅ НогалСс» ΠΊΡƒΡ‡Π° пластинок.

He had a stack of them.

Π“ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρƒ Π±ΠΎΠΌΠΆΠ° ΠΈΡ… Π±Ρ‹Π»Π° цСлая ΠΏΠ°Ρ‡ΠΊΠ°.

You’re about as pretty as a stack of new 100s.

Π’Ρ‹ Ρ‚Π°ΠΊ ΠΆΠ΅ прСлСстна, ΠΊΠ°ΠΊ ΠΈ ΠΏΠ°Ρ‡ΠΊΠ° Π½ΠΎΠ²Π΅Π½ΡŒΠΊΠΈΡ… 100-Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²Ρ‹Ρ… ΠΊΡƒΠΏΡŽΡ€.

I went to get some firewood from the stack behind the garage.

Π― пошСл Π²Π·ΡΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΠΎΠ² для ΠΊΠ°ΠΌΠΈΠ½Π° ΠΈΠ· ΡˆΡ‚Π°Π±Π΅Π»Ρ Π·Π° Π³Π°Ρ€Π°ΠΆΠΎΠΌ.

I found these payment books in a stack of mail.

Π― нашла эти ΠΏΠ»Π°Ρ‚Ρ‘ΠΆΠ½Ρ‹Π΅ увСдомлСния Π² ΠΊΡƒΡ‡Π΅ ΠΏΠΎΡ‡Ρ‚Ρ‹.

I found a stack of them at the Bradley house.

Π― Π½Π°ΡˆΡ‘Π» ΠΊΡƒΡ‡Ρƒ Π² Π΄ΠΎΠΌΠ΅ Брэдли.

Diana readies a stack of surveillance requests for Peter to sign.

Π”ΠΈΠ°Π½Π° Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ ΠΊΡƒΡ‡Ρƒ запросов Π½Π° слСТку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠŸΠΈΡ‚Π΅Ρ€ ΠΈΡ… подписал.

There’s a reason you couldn’t find a guy in that stack of papers.

Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Ρ‹ Π½Π΅ моТСшь Π½Π°ΠΉΡ‚ΠΈ парня Π² Ρ‚ΠΎΠΉ ΠΊΡƒΡ‡Π΅ Π±ΡƒΠΌΠ°Π³ΠΈ.

Maria probably hasn’t gotten to my stack yet, either.

ΠœΠ°Ρ€ΠΈΡ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ принСсла мою ΠΊΡƒΡ‡Ρƒ писСм.

Make sure you stack them vertically.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ слоТили ΠΈΡ… ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.

I stack them like coasters in a drawer.

Π― Ρ…Ρ€Π°Π½ΡŽ ΠΈΡ… Π² ΠΊΠΎΠΌΠΎΠ΄Π΅, ΠΊΠ°ΠΊ подставки ΠΏΠΎΠ΄ Ρ‡Π°ΡˆΠΊΠΈ.

To watch you stack the Small Council with sycophants.

НС для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚Π΅ Π² ΠœΠ°Π»Ρ‹ΠΉ совСт ΠΏΠΎΠ΄Ρ…Π°Π»ΠΈΠΌΠΎΠ².

The vent stack shall be sized to prevent flow restriction due to pressure drop.

Π Π°Π·ΠΌΠ΅Ρ€ вСнтиляционного ΠΊΠ°Π½Π°Π»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ограничСния расхода вслСдствиС ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π° давлСния.

I can stack it on a table, like this one.

On this never-ending stack I call my inbox.

На это Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ стопку ΠΌΠΎΠΈΡ… Π΄Π΅Π».

I’ve got a stack of ASAC files the size of an oddly shaped child.

Π£ мСня Ρ‚Π°ΠΌ ΠΏΠ°Ρ‡ΠΊΠ° Π±ΡƒΠΌΠ°Π³, своими Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ странно Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π°Ρ Ρ€Π΅Π±Π΅Π½ΠΊΠ°.

I processed a stack of orders and returns with Patty on Friday.

Π’ пятницу ΠΌΡ‹ с ΠŸΠ΅Ρ‚Ρ‚ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ свСдСния ΠΏΠΎ Π·Π°ΠΊΠ°Π·Π°ΠΌ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°ΠΌ.

Then he gave me this stack of chips.

И Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ Π΄Π°Π» ΠΌΠ½Π΅ эту стопку Ρ„ΠΈΡˆΠ΅ΠΊ.

Louis, pull a resume from the stack — any one.

Луис, возьми ΠΈΠ· стопки Ρ€Π΅Π·ΡŽΠΌΠ΅ — любоС.

ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄, ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅, транскрипция, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π½Π° сСгодняшний дСнь.β€‚β˜°

Книги Π±Ρ‹Π»ΠΈ слоТСны Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ стопками.β€‚β˜°

He had arranged the letters in stacks. 

Он Ρ€Π°Π·Π»ΠΎΠΆΠΈΠ» письма Π² стопки.β€‚β˜°

She stacked the plates in the cupboard. 

Она поставила Ρ‚Π°Ρ€Π΅Π»ΠΊΠΈ Π² ΡˆΠΊΠ°Ρ„ / Π±ΡƒΡ„Π΅Ρ‚.β€‚β˜°

She took a magazine from near the top of the stack. 

Она взяла ΠΆΡƒΡ€Π½Π°Π» ΠΏΠΎΡ‡Ρ‚ΠΈ с самого Π²Π΅Ρ€Ρ…Π° стопки.β€‚β˜°

We’ve been stacked over the airport for hours. 

Нас заставили часами ΠΊΡ€ΡƒΠΆΠΈΡ‚ΡŒ Π½Π°Π΄ аэропортом.β€‚β˜°

She keeps a bottle of gin hidden behind a stack of books. 

Π—Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· стопок ΠΊΠ½ΠΈΠ³ ΠΎΠ½Π° прячСт Π±ΡƒΡ‚Ρ‹Π»ΠΊΡƒ Π΄ΠΆΠΈΠ½Π°.β€‚β˜°

We should be able to stack up a reasonable profit if we sell now. 

Полагаю, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ, Ссли ΠΌΡ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠΌ ΠΏΡ€ΠΎΠ΄Π°ΠΆΡƒ сСйчас.β€‚β˜°

Stack your books up on the shelves. 

Π Π°Π·Π»ΠΎΠΆΠΈ свои ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° ΠΏΠΎΠ»ΠΊΠ°Ρ….β€‚β˜°

A stack of plates swayed, and began to topple over. 

Π‘Ρ‚ΠΎΠΏΠΊΠ° Ρ‚Π°Ρ€Π΅Π»ΠΎΠΊ ΠΏΠΎΠΊΠ°Ρ‡Π½ΡƒΠ»Π°ΡΡŒ ΠΈ Π½Π°Ρ‡Π°Π»Π° Π·Π°Π²Π°Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ.β€‚β˜°

I am currently trying to navigate through a whole stack of information on the subject. 

Π’ настоящСС врСмя я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ†Π΅Π»ΠΎΠΉ ΠΊΡƒΡ‡Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅.β€‚β˜°

The assistants price the items and stack them on the shelves. 

ΠŸΡ€ΠΎΠ΄Π°Π²Ρ†Ρ‹ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ ΠΈ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ ΠΈΡ… Π½Π° ΠΏΠΎΠ»ΠΊΠΈ.β€‚β˜°

He saw cars stacking up behind him, and pulled off the road to let them pass. 

Он ΡƒΠ²ΠΈΠ΄Π΅Π», Ρ‡Ρ‚ΠΎ Π·Π° Π½ΠΈΠΌ выстраиваСтся Π²Π΅Ρ€Π΅Π½ΠΈΡ†Π° ΠΈΠ· Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ, ΠΈ ΡΡŠΠ΅Ρ…Π°Π» Π½Π° ΠΎΠ±ΠΎΡ‡ΠΈΠ½Ρƒ, уступая ΠΈΠΌ Π΄ΠΎΡ€ΠΎΠ³Ρƒ.β€‚β˜°

The other players accused him of stacking the deck. 

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠ³Ρ€ΠΎΠΊΠΈ /ΠΏΠ°Ρ€Ρ‚Π½Ρ‘Ρ€Ρ‹ ΠΏΠΎ ΠΈΠ³Ρ€Π΅/ ΠΎΠ±Π²ΠΈΠ½ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π² подтасовкС ΠΊΠΎΠ»ΠΎΠ΄Ρ‹.β€‚β˜°

How does our product stack up against those of our competitors? 

Как наша продукция выглядит ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ²?β€‚β˜°

A stack of brochures and a few faded placards are all that remain of the defunct organization. 

Π‘Ρ‚ΠΎΠΏΠΊΠ° Π±Ρ€ΠΎΡˆΡŽΡ€ ΠΈ нСсколько Π²Ρ‹Ρ†Π²Π΅Ρ‚ΡˆΠΈΡ… ΠΏΠ»Π°ΠΊΠ°Ρ‚ΠΎΠ² β€” всё, Ρ‡Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΎΡ‚ этой Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π½Ρ‹Π½Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.β€‚β˜°

He went back to stacking the shelves. 

Он вСрнулся ΠΊ навСдСнию порядка Π½Π° ΠΏΠΎΠ»ΠΊΠ°Ρ….β€‚β˜°

She kept a stack of magazines that she would read at odd moments. 

Она Ρ…Ρ€Π°Π½ΠΈΠ»Π° стопку ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‡ΠΈΡ‚Π°Π»Π°.β€‚β˜°

The minute we put the books down on the unstable desk, the whole stack went crashing to the floor. 

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° этот нСустойчивый стол, вся стопка с Π³Ρ€ΠΎΠΌΠΊΠΈΠΌ ΡˆΡƒΠΌΠΎΠΌ ΠΎΠ±Ρ€ΡƒΡˆΠΈΠ»Π°ΡΡŒ Π½Π° ΠΏΠΎΠ».β€‚β˜°

stack β€” с английского Π½Π° русский

stæk
1. сущ.
1) Π³Ρ€ΡƒΠ΄Π°, ΠΊΡƒΡ‡Π°;
масса, мноТСство( большоС скоплСниС, количСство Ρ‡Π΅Π³ΠΎ-Π».) stacks (ΠΈΠ»ΠΈ a whole stack) of work β‰ˆ масса Ρ€Π°Π±ΠΎΡ‚Ρ‹ stack of bones Π°ΠΌΠ΅Ρ€.;
сл. β‰ˆ ΠΈΠ·ΠΌΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ;
‘скСлСт’, ΠΊΠΎΠΆΠ° Π΄Π° кости
2) мноТСство ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ², собранных Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС Π°) ΠΎΠΌΠ΅Ρ‚, скирда, стог( ΠΎ сСнС) Π±) Π²ΠΎΠ΅Π½. Π²ΠΈΠ½Ρ‚ΠΎΠ²ΠΊΠΈ, составлСнныС Π² ΠΊΠΎΠ·Π»Ρ‹
3) Π°) Π°ΠΌΠ΅Ρ€. стСллаТ;
ΠΏΠΎΠ»ΠΊΠ° Π±) ΠΌΠ½. ΠΊΠ½ΠΈΠ³ΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅
4) стСк (Π΅Π΄ΠΈΠ½ΠΈΡ†Π° объСма для Π΄Ρ€ΠΎΠ² ΠΈ угля = 4 ΠΊΡƒΠ±. ярдам = 3,05 ΠΊΡƒΠ±. ΠΌ)
5) Π°) дымовая Ρ‚Ρ€ΡƒΠ±Π° Π±) ряд Π΄Ρ‹ΠΌΠΎΠ²Ρ‹Ρ… Ρ‚Ρ€ΡƒΠ±
2. Π³Π».
1) Π°) ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π² стог ΠΈ ΠΏΡ€. [см. stack
1. ] (Ρ‚ΠΆ. stack up) Π±) Π²ΠΎΠ΅Π½. ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΠ½Ρ‚ΠΎΠ²ΠΊΠΈ Π² ΠΊΠΎΠ·Π»Ρ‹ Π²) ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ, ΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Please help to stack up the plates at the end of the meal. β‰ˆ Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΎΠ±Π΅Π΄Π° ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅, поТалуйста, ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ‚Π°Ρ€Π΅Π»ΠΊΠΈ. Syn: pile I
2.
2) ΠΏΠΎΠ΄Ρ‚Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ
3) ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ радиосвязи ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΡΡ‚ΡŒ самолСтов ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° посадку βˆ™ stack up
стог (сСна) ;
скирда (Ρ…Π»Π΅Π±Π°) ;
ΠΎΠΌΠ΅Ρ‚ (соломы) ΠΊΡƒΡ‡Π°, Π³Ρ€ΡƒΠ΄Π° — * of wood ΠΊΠ»Π°Π΄ΠΊΠ°, ΠΊΠ»Π΅Ρ‚ΠΊΠ° (лСса) ;
ΠΏΠΎΠ»Π΅Π½Π½ΠΈΡ†Π°, ΡˆΡ‚Π°Π±Π΅Π»ΡŒ( Π΄Ρ€ΠΎΠ²) стСк (Π΅Π΄ΠΈΠ½ΠΈΡ†Π° объСма Π΄Ρ€ΠΎΠ² ΠΈ угля, 108 ΠΊΡƒΠ±. Ρ„ΡƒΡ‚ΠΎΠ²) дымовая Ρ‚Ρ€ΡƒΠ±Π° ряд Π΄Ρ‹ΠΌΠΎΠ²Ρ‹Ρ… Ρ‚Ρ€ΡƒΠ± (Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π½ΠΎΠ΅) масса, мноТСство — a whole * of work масса Ρ€Π°Π±ΠΎΡ‚Ρ‹ — *s of money ΠΊΡƒΡ‡Π° Π΄Π΅Π½Π΅Π³( Π²ΠΎΠ΅Π½Π½ΠΎΠ΅) Π²ΠΈΠ½Ρ‚ΠΎΠ²ΠΊΠΈ, составлСнныС Π² ΠΊΠΎΠ·Π»Ρ‹ (Ρ‚ΠΆ. * of arms) стСллаТ — book * ΠΊΠ½ΠΈΠΆΠ½Ρ‹ΠΉ стСллаТ ΠΊΠ½ΠΈΠ³ΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅) стСк, магазинная ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ устройство ΠΌΠ°Π³Π°Π·ΠΈΠ½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°) ΠΏΡƒΡ‡ΠΎΠΊ стопка, столбик (авиация) ΡΡˆΠ΅Π»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ самолСтов ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° посадку, «ΡΡ‚Π°ΠΆΠ΅Ρ€ΠΊΠ°» pl (слСнг) Π±Π΅Π΄Ρ€Π° > * of bones (Π°ΠΌΠ΅Ρ€ΠΈΠΊΠ°Π½ΠΈΠ·ΠΌ) ΠΈΠ·ΠΌΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΆΠ° Π΄Π° кости, ходячий скСлСт > *s of the ready Π΄Π΅Π½Π΅Π³ ΠΊΡƒΡ€Ρ‹ Π½Π΅ ΠΊΠ»ΡŽΡŽΡ‚ (Ρ‚ΠΆ. * up) ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΡƒΡ‡Ρƒ;
ΠΌΠ΅Ρ‚Π°Ρ‚ΡŒ, Π½Π°Π²ΠΈΠ²Π°Ρ‚ΡŒ( стог) ;
ΠΊΠΎΠΏΠ½ΠΈΡ‚ΡŒ — to * flax ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π»Π΅Π½ Π² Π±Π°Π±ΠΊΠΈ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π² ΡˆΡ‚Π°Π±Π΅Π»ΡŒ, стопку ΠΈΠ»ΠΈ столбик — the files were *ed (up) against the wall ΠΏΠ°ΠΏΠΊΠΈ Π±Ρ‹Π»ΠΈ слоТСны рядами вдоль стСны ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ( Π²ΠΎΠ΅Π½Π½ΠΎΠ΅) ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΠ½Ρ‚ΠΎΠ²ΠΊΠΈ Π² ΠΊΠΎΠ·Π»Ρ‹ — * arms! ΡΠΎΡΡ‚Π°Π²ΡŒ! (ΠΊΠΎΠΌΠ°Π½Π΄Π°) (авиация) ΡΡˆΠ΅Π»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ самолСты ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° посадку (Ρ‚ΠΆ. * up) (ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π½ΠΎΠ΅) ΠΏΠΎΠ΄Ρ‚Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρ‹ — he *ed the deck and won ΠΎΠ½ подтасовал ΠΊΠΎΠ»ΠΎΠ΄Ρƒ ΠΈ Π²Ρ‹ΠΈΠ³Ρ€Π°Π» ΠΏΠΎΠ΄Ρ‚Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ (Ρ„Π°ΠΊΡ‚Ρ‹ ΠΈ Ρ‚. ΠΏ.) — the lawyer charged that the jury has been *ed against his client Π°Π΄Π²ΠΎΠΊΠ°Ρ‚ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π», Ρ‡Ρ‚ΠΎ состав присяТных Π±Ρ‹Π» ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½ ΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎ Π½Π΅Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ для Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° — the cards were *ed against him (ΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ΅) всС Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π΅Π³ΠΎ > to * one’s opponent on his shoulders ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ° Π½Π° ΠΎΠ±Π΅ Π»ΠΎΠΏΠ°Ρ‚ΠΊΠΈ
hardware ~ Π²Ρ‡Ρ‚. Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ стСк
push-down ~ Π²Ρ‡Ρ‚. стСк
stack Π²ΠΎΠ΅Π½.: stack arms! ΡΠΎΡΡ‚Π°Π²ΡŒ! ~ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π² стог ~ Π²ΠΎΠ΅Π½. Π²ΠΈΠ½Ρ‚ΠΎΠ²ΠΊΠΈ, составлСнныС Π² ΠΊΠΎΠ·Π»Ρ‹ ~ дымовая Ρ‚Ρ€ΡƒΠ±Π°;
ряд Π΄Ρ‹ΠΌΠΎΠ²Ρ‹Ρ… Ρ‚Ρ€ΡƒΠ± ~ ΠΊΡƒΡ‡Π°, Π³Ρ€ΡƒΠ΄Π°;
stack of wood ΡˆΡ‚Π°Π±Π΅Π»ΡŒ Π΄Ρ€ΠΎΠ²;
ΠΏΠΎΠ»Π΅Π½Π½ΠΈΡ†Π°;
stack of papers ΠΊΡƒΡ‡Π° Π±ΡƒΠΌΠ°Π³ ~ Ρ€Π°Π·Π³. масса, мноТСство;
stacks (ΠΈΠ»ΠΈ a whole stack) of work масса Ρ€Π°Π±ΠΎΡ‚Ρ‹;
stack of bones Π°ΠΌΠ΅Ρ€. sl. ΠΈΠ·ΠΌΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ;
«ΡΠΊΠ΅Π»Π΅Ρ‚», ΠΊΠΎΠΆΠ° Π΄Π° кости ~ стСк (Π΅Π΄ΠΈΠ½ΠΈΡ†Π° объСма для Π΄Ρ€ΠΎΠ² ΠΈ угля = 4 ярдам 3 = 3,05 ΠΌ
3) ~ Π²Ρ‡Ρ‚. стСк ~ стСллаТ ~ Π°ΠΌΠ΅Ρ€. стСллаТ;
pl ΠΊΠ½ΠΈΠ³ΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ~ стог, скирда, ΠΎΠΌΠ΅Ρ‚
stack Π²ΠΎΠ΅Π½.: stack arms! ΡΠΎΡΡ‚Π°Π²ΡŒ!
~ Ρ€Π°Π·Π³. масса, мноТСство;
stacks (ΠΈΠ»ΠΈ a whole stack) of work масса Ρ€Π°Π±ΠΎΡ‚Ρ‹;
stack of bones Π°ΠΌΠ΅Ρ€. sl. ΠΈΠ·ΠΌΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ;
«ΡΠΊΠ΅Π»Π΅Ρ‚», ΠΊΠΎΠΆΠ° Π΄Π° кости
~ ΠΊΡƒΡ‡Π°, Π³Ρ€ΡƒΠ΄Π°;
stack of wood ΡˆΡ‚Π°Π±Π΅Π»ΡŒ Π΄Ρ€ΠΎΠ²;
ΠΏΠΎΠ»Π΅Π½Π½ΠΈΡ†Π°;
stack of papers ΠΊΡƒΡ‡Π° Π±ΡƒΠΌΠ°Π³
~ ΠΊΡƒΡ‡Π°, Π³Ρ€ΡƒΠ΄Π°;
stack of wood ΡˆΡ‚Π°Π±Π΅Π»ΡŒ Π΄Ρ€ΠΎΠ²;
ΠΏΠΎΠ»Π΅Π½Π½ΠΈΡ†Π°;
stack of papers ΠΊΡƒΡ‡Π° Π±ΡƒΠΌΠ°Π³
~ the cards ΠΏΠΎΠ΄Ρ‚Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρ‹ (Ρ‚ΠΆ. ΠΏΠ΅Ρ€Π΅Π½.) ;
stack up Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ(ся) ΠΎΠ΄ΠΈΠ½ Π½Π°Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ
~ the cards ΠΏΠΎΠ΄Ρ‚Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρ‹ (Ρ‚ΠΆ. ΠΏΠ΅Ρ€Π΅Π½.) ;
stack up Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ(ся) ΠΎΠ΄ΠΈΠ½ Π½Π°Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ
~ Ρ€Π°Π·Π³. масса, мноТСство;
stacks (ΠΈΠ»ΠΈ a whole stack) of work масса Ρ€Π°Π±ΠΎΡ‚Ρ‹;
stack of bones Π°ΠΌΠ΅Ρ€. sl. ΠΈΠ·ΠΌΠΎΠΆΠ΄Π΅Π½Π½Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ;
«ΡΠΊΠ΅Π»Π΅Ρ‚», ΠΊΠΎΠΆΠ° Π΄Π° кости Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°

| Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ цСнообразования STACK

  • ΠšΡ‚ΠΎ ΠΌΡ‹ обслуТиваСм
    • Бубподрядчики
      • Π‘Π΅Ρ‚ΠΎΠ½
      • ВнутрСнняя ΠΎΡ‚Π΄Π΅Π»ΠΊΠ°
        • Гипсокартон
        • ΠΠ°ΠΏΠΎΠ»ΡŒΠ½Ρ‹Π΅ покрытия
        • Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ
        • ΠŸΠΎΠΊΡ€Π°ΡΠΊΠ°
        • 00030003
        • ΠœΠ΅Ρ…Π°Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½
        • 9000 ΠšΠΈΡ€ΠΏΠΈΡ‡Π½Π°Ρ ΠΊΠ»Π°Π΄ΠΊΠ°

          9000 Π‘Π°Π½Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°

      • ΠšΡ€ΠΎΠ²Π»Ρ
      • ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΎΠ½Π½Π°Ρ ΡΡ‚Π°Π»ΡŒ
      • Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ прСдприятия
    • Π“Π΅Π½Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ подрядчики
      • ΠšΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠΈΠ΅
      • Π–ΠΈΠ»Ρ‹Π΅
    • ΠŸΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ

    9000 9000 9000 9000 9000

  • 000
  • 000 Облако
  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ стСк?
    • ΠžΡ‚Π·Ρ‹Π²Ρ‹
    • ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования
    • Как ΠΌΡ‹ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Π΅ΠΌ
    • Π£Π²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ Ρ€Π΅Π½Ρ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ инвСстиций с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ STACK
  • Π¦Π΅Π½Ρ‹
  • ΠŸΠΎΠΌΠΎΡ‰ΡŒ
    • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π΅ΠΌΠΎ
    • ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅
    • УспСх ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²
    • Π‘Π»ΠΎΠ³




    Π’Π°Π±Π»ΠΈΡ†Π° 1 Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈ описаниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния

    Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС

    ОписаниС

    Π“ΠΎΡ‚ΠΎΠ²ΠΎ

    ΠšΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ.

    Π’ процСссС развития

    ΠœΠ°ΡΡ‚Π΅Ρ€ стСка обмСниваСтся Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΌΡΡ ΠΊ стСку.

    ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΎ

    ΠŸΠΎΡ€Ρ‚Ρ‹ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ стСка, Π½ΠΎ Π² стСкС Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ² Fa3 / 0/1, G3 / 0/1 ΠΈ Ρ‚. Π”. Если ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π½Π΅Π΅ присоСдинился ΠΊ стСку, удаляСтся, Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π° ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ отобраТаСтся ΠΊΠ°ΠΊ Provisioned .

    БостояниС Provisioned ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ΠΎ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ большС Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ стСку, ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π‘ΠΌ. Руководство ΠΏΠΎ настройкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€Π° Catalyst 3750 ΠΈΠ»ΠΈ Catalyst 3750-E для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройкС ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² стСкС.