TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
Flutter Pulse

5 Aug, 11:30

Telegram'da ochish Ulashish Shikoyat qilish

🧠 Внутри Dart VM: как GC играет в прятки с памятью

Знаете то чувствие, когда на собеседовании спрашивают про сборщик мусора, а в голове только «ну... он собирает мусор?» 😅 Давайте разберём, как Dart на самом деле управляет памятью — без воды и лишней теории.

Указатели — не адреса, а записки с адресами
В 64-битном мире указатель — это 8 байт. Представьте: объект живет по адресу
0x00A03F50
, а в переменной лежит не сам объект, а «листочек» с этим адресом. Но Dart пошёл дальше — он использует последний бит указателя как тег 🏷️
Адрес объекта (кратен 16):     0101 0000
Dart ставит флаг «это объект»: 0101 0001  →  0x00A03F51
Если последний бит 1 — это ссылка на объект в куче. Если 0 — это Smi (Small Integer) — число, живущее прямо в указателе! Никакого перехода по адресу, никакой нагрузки на GC. Число 7 превращается в
1110
(сдвиг влево на 1), а при чтении — обратно делится на 2. Элегантно? Однозначно ✨

А как же C++ код в движке?
GC любит перемещать объекты для дефрагментации. Dart-код обновит ссылки сам, но нативный C++ не узнает о переезде 💥 Решение — Handles: двойная косвенность. C++ держит не адрес объекта, а адрес «ячейки», куда GC пишет актуальный адрес. Объект переехал — Handle обновился — C++ счастлив 🤝

Практический вывод: создавайте объекты осознанно. Каждый лишний объект — работа для GC. Числа (Smi) — бесплатны. Понимание этих механик — ваш суперпауэр для написания быстрого Flutter-кода ⚡

Полную новость читайте здесь

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #dartvm #garbagecollection #performance

354 0 4 1
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot