Gerenciamento de memória - Stack vs Heap | Dias de Dev

  Рет қаралды 22,480

Dias de Dev

Dias de Dev

Күн бұрын

Пікірлер: 89
@franguimaraes6385
@franguimaraes6385 2 жыл бұрын
Trabalho com Elixir e estou estudando Rust. Show de bola a aula :)
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Que máximo, Fran. Fico feliz que tenha gostado. :-D
@isaacvieira3538
@isaacvieira3538 2 жыл бұрын
Eu estou estudando rust como primeira linguagem.... vim aquii entender um pouco mais sobre alocação de memória e seu video foi o melhor que encontrei rs
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Uau, que honra, Isaac! Fico feliz de verdade de ter sido útil! :-D
@DecisoesGamers
@DecisoesGamers Жыл бұрын
Que aula em, Top. like pela informação do StackOverFlow!
@DiasDeDev
@DiasDeDev Жыл бұрын
Valeu! :-D
@MatheusRodacki
@MatheusRodacki 6 ай бұрын
Muito Bom, agora sim me clareou a mente para esses conceitos que pareciam muito complexos mas que você explicou de uma maneira bem intuitiva. Muito obrigado!!!!!
@DiasDeDev
@DiasDeDev 6 ай бұрын
Fico feliz de ter sido útil. 😁
@you_won
@you_won 2 жыл бұрын
Po, temo que divulgar esse teu canal aí, Vinicius. Comecei a te acompanhar nas aulas do Alura, e parabéns mesmo pelo conteúdo cara, muito rico mesmo. 😁
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Toda ajuda é bem-vinda! :-D Fico feliz que esteja gostando. :-)
@rotognin
@rotognin 2 жыл бұрын
Muito legal. Eu trabalho com Cobol, e uso um "framework" chamado Acucobol da Micro Focus. Quando compilo um programa, ele gera um arquivo .acu que será executado por uma máquina virtual no windows. Quando chamo outro programa (call "programa") ele é executado, e quando finaliza eu preciso usar o comando cancel "programa", senão ele fica em memória e poderá gerar o stack overflow, citado no vídeo.
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Caraca, maneiro saber que você trabalha com Cobol. Em que tipo de sistema você trabalha?
@rotognin
@rotognin 2 жыл бұрын
@@DiasDeDev Em um ERP no setor de transporte rodoviário de cargas. O sistema é em Cobol rodando no windows por uma máquina virtual, e usamos o Delphi para fazer integrações com webservices.
@DiasDeDev
@DiasDeDev 2 жыл бұрын
@@rotognin Muito maneiro! Como eu conheço pouquíssimo o mundo dev além da web, ia me amarrar se fosse possível te trazer pra uma live do canal no futuro bater um papo sobre isso. Acha que rola? :-D
@rotognin
@rotognin 2 жыл бұрын
@@DiasDeDev Rapaz, seria interessante sim! Mas sou um pouco tímido rsrs. Desde já agradeço o convite e seria uma honra grande!
@DiasDeDev
@DiasDeDev 2 жыл бұрын
@@rotognin rsrsrs Sem problemas. Prometo que vai ser uma live bem curta e sem perguntas difíceis. Se importa de me chamar no telegram pra gente combinar. Provavelmente vai ser pra um futuro bem distante porque ainda não acertei como fazer lives aqui. rsrss t.me/cviniciussdias
@josetandavala5805
@josetandavala5805 Жыл бұрын
Estou estudar Rust dei uma pausa no meu estudos para estudar os concietos fundamentais de ciêncida da computação, cai de paraqueda no seu video e adorei, alias acabaste de ganhar mas um inscrito. Parabéns pelo conteúdo.
@DiasDeDev
@DiasDeDev Жыл бұрын
Que bom que gostou, José. Muito obrigado! :-D
@milenaL.B
@milenaL.B 2 жыл бұрын
Estou estudando C na escola 42SP. obrigada pelo conteúdo!
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Fico muito feliz que tenha sido útil. :-D
@gustav_spin
@gustav_spin 2 жыл бұрын
Nossa mano, video muito bom! Foi uma explicação muito boa, simples e completa. Eu faço parto do grupo que estuda Rust.
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Fico feliz demais que tenha gostado. :-D
@williamcarvalhoCoelho
@williamcarvalhoCoelho 4 ай бұрын
Fiquei com uma duvida, no java geralmente usamos variáveis estaticas final para armazenar constantes, acreditava que ela ficava na stack ou na heap, inclusive outro dia vi um cara dizendo que não era uma boa pratica ter muitos metodos estaticos, por conta disso, lotar a memoria, mas pela sua explicação essas variáveis fica em outro compartimento da memoria. Como seria o comportamento para esse casos?
@GustavoSilva-hh8or
@GustavoSilva-hh8or 3 ай бұрын
Geralmente, constantes ficam na sessão "data". Ela é usada para definir rótulos (ponteiros, assim digamos) que não sofrerão alterações de valor no decorrer do programa. Imagine uma situação em que você quer criar um programa simples que recebe dois números e exibe um resultado. Na sessão "data", serão alocados três rótulos. O primeiro rótulo solicita ao usuário para digitar o primeiro número ("Digite o primeiro número: "); o segundo rótulo solicita o usuário para digitar o segundo número ("Digite o segundo número: "); o terceiro exibe o resultado ("O resultado é...") Em Assembly, é necessário definir no início do programa quais são os seus rótulos para cada sessão Na de "data", que trata dos dados constantes (lembrando que o termo "constante" não existe em Assembly), ficaria algo assim em Assembly (NASM), de forma simplificada: section .data promtp1 db "Digite o primeiro..." prompt2 db "Digite o segundo..." resposta db "O resultado..." Enfim, isso não é um código completo, até porque eu não defini o tamanho dos rótulos e etc, mas resumindo, a sessão de data aloca todos os print que você faz no seu programa, como também outros valores constantes
@DiasDeDev
@DiasDeDev 3 ай бұрын
Em linguagens interpretadas como Java, C#, PHP, Ruby, Python etc, cada VM pode escolher como vai armazenar cada informação. Eu não conheço a JVM a fundo, então não sei te dizer com certeza como ela organiza a memória.
@luan_maik
@luan_maik 2 жыл бұрын
Show de bola. Já da pra fazer um gancho e fazer um vídeo sobre Garbage Collector e outro sobre Value types e Reference types
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Ótimas ideias, Luan!!
@ThormesFilgueira
@ThormesFilgueira 2 жыл бұрын
Ótimo conteúdo, mas fiquei com uma dúvida meio "lateral". A utilização de Closures ou funções anônimas altera a forma como elas são armazenadas e executadas na memória?
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Ótima pergunta. Não altera. O que muda é como cada interpretação (linguagem, principalmente) vai lidar com o fato de acessar o escopo externo. A maioria simplesmente faz uma cópia pro escopo da closure.
@gustavoschneider469
@gustavoschneider469 2 жыл бұрын
Trabalho com PHP, mas estou estundando Rust e também quero aprender C#. Mas ótimo vídeo, seus cursos na Alura são excelentes!
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Eu sempre acho válido aprender várias linguagens. Bons estudos, Gustavo! :-D
@viniciusalkimin3700
@viniciusalkimin3700 Жыл бұрын
Dev Java e estudando Rust contigo na Alura.
@DiasDeDev
@DiasDeDev Жыл бұрын
Opa, espero que curta! :-D
@__und3f1n3d__
@__und3f1n3d__ 2 жыл бұрын
Fala, Vinicus! Priemiramente, parabéns pelo vídeo. Muito esclarecedor. Eu tenho uma curiosidade que não sei se saberia me responder. Por exemplo, quando você fala sobre alocação de memória com o stack pointer e fala (da direita para a esquerda), isso tem a ver com o conceito de endianess? Falo isso porque quando alocamos um int em C (4 bytes), algumas arquiteturas incrementam o endereço de memória (hexa) em +4 para o próximo data type e outras decrementam em -4. Abraço!
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Não tem relação com endianess (pelo menos o que eu conheço) não. É só porque a stack é alocada nos maiores endereços de memória reservados pro processo e vem crescendo "pra baixo". Por isso a representação horizontal costuma ser feita da esquerda pra direita, porque o ponteiro vem sendo subtraído.
@__und3f1n3d__
@__und3f1n3d__ 2 жыл бұрын
@@DiasDeDev Valeu, obrigado por responder!
@ChuteNoBigode
@ChuteNoBigode 2 жыл бұрын
Show de bola, utilizo C# e Unity o
@HeliezerGarcia01
@HeliezerGarcia01 2 жыл бұрын
Vinicius, o mapa de memória mencionado no começo do vídeo é uma convenção de como os programas compiladores em C devem ser organizados?
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Basicamente, sim.
@Chrisz123-v3j
@Chrisz123-v3j 5 ай бұрын
Bacana, muito explicativo!
@DiasDeDev
@DiasDeDev 5 ай бұрын
Que bom que gostou! :-D
@MatheusSantos-pn9nq
@MatheusSantos-pn9nq 2 жыл бұрын
C#, tou estudando mais pra jogos kkk, curti demais o vídeo!!
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Maneiro, Matheus. Fico feliz que tenha gostado. :-D
@paulobitfranca
@paulobitfranca Жыл бұрын
Estou usando Rust. E tenho aquela sensação de que é a linguagem pela qual eu esperei minha vida toda... rs
@DiasDeDev
@DiasDeDev Жыл бұрын
Maneiro que você está curtindo. :-D É realmente uma baita linguagem.
@gustavow5746
@gustavow5746 2 жыл бұрын
bom conteúdo! que tal fazer um mais aprofundado?
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Bom saber que há interesse, Gustavo. :-D
@JuniorMarci27
@JuniorMarci27 Жыл бұрын
Trabalho com Python. Mas estou tendo "desafios" com Big Data e estou precisando me preocupar com isso.
@DiasDeDev
@DiasDeDev Жыл бұрын
Boa, Junior! Espero que o vídeo tenha sido útil. :-D
@brubserdan
@brubserdan Жыл бұрын
Agora entendi :D o prof da faculdade não soube passar o conteudo tao bem quanto tu
@DiasDeDev
@DiasDeDev Жыл бұрын
Fico feliz demais por ter sido útil!
@cpqd_viola
@cpqd_viola 2 жыл бұрын
Trabalho com C para embarcados. Estou estudando Rust e vim parar aqui haha meu objetivo é conseguir rodar Rust em um microcontrolador da Nordic. Me deseja sorte 😅 Parabéns pelo conteúdo! Vamos pra cima!!
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Caraca, que máximo! Que bom que gostou. Boa sorte nessa jornada!!
@lincolnbiancardi6990
@lincolnbiancardi6990 2 жыл бұрын
Ótimo vídeo mano, conteúdo muito interessante!
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Que bom que curtiu, mano. 😁
@guiadev4539
@guiadev4539 2 жыл бұрын
Muito bom conteúdo e direto ao ponto , iniciei minha carreira usando na época PHP 5 e atualmente uso JS, porém o PHP uma linguagem que eu sempre busco me atualizar. É possível mostrar mas conteúdos relacionado a parte low level do PHP sei que vc conhece muito C e se não for pedir muito séria legal 👌
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Não conheço tanto assim de C, mas posso trazer conteúdos sim. 😁😁 Alguma coisa em específico que você queria ver? Posso preparar.
@eduardoalexandre7513
@eduardoalexandre7513 2 жыл бұрын
Sensacional cara.....
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Opa, que bom que curtiu, Eduardo. :-D
@Luisow748
@Luisow748 2 жыл бұрын
Show. Obrigado pela aula.
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Opa, que bom que curtiu, Luís.
@arozendojr
@arozendojr 2 жыл бұрын
não exatamente sobre memória, um exemplo bom, seria passar linha a linha , uma quantidade grande de logs em um arquivo no disco. se ficar executando 10 milhões de logs, linha a linha, o disco fica como gragalo, se subir tudo na memória, e escrever no disco de uma vez, a memória pode acabar, o melhor caso seria esperar a memória ficar no máximo 80% livre ou acabar os registro, para escrever no disco
@DiasDeDev
@DiasDeDev 2 жыл бұрын
E em operações de I/O, programação assíncrona ajuda muito também. 😁
@123thebruno
@123thebruno Жыл бұрын
Cai aqui porque estava estudando boxing e unboxing em c# haha.
@DiasDeDev
@DiasDeDev Жыл бұрын
Eu li "boxing" e pensei na luta, porque tem vídeo meu lutando por aí. Kkkkkk Mas depois que li, entendi. Rsrsrs Espero que tenha sido útil pro seu cenário. 😁😁
@123thebruno
@123thebruno Жыл бұрын
@@DiasDeDev kkkkk, eita não sabia dessa outra habilidade ai não.
@gssj-o8p
@gssj-o8p 2 жыл бұрын
Camisa maneira! fundo de praia com coqueiros e tal ia ficar perfeito hehe
@DiasDeDev
@DiasDeDev 2 жыл бұрын
heheheh Acabaram minhas camisas de tecnologia. Não tem mais nenhuma inédita porque não tem tido eventos. :'(
@araujored1146
@araujored1146 4 ай бұрын
Fui a milésima curtida do vídeo. Ótima explicação!
@DiasDeDev
@DiasDeDev 4 ай бұрын
Que maneiro! Nem sabia que eu tinha um vídeo com tantas curtidas! 🤩 Fico feliz que tenha sido útil.
@doretox
@doretox Жыл бұрын
Ótimo video
@DiasDeDev
@DiasDeDev Жыл бұрын
Que bom que gostou. :-D
@gssj-o8p
@gssj-o8p 2 жыл бұрын
Que interessante como o processador aloca memória, ele apenas diz "tá agora o que entrar começa desse ponto, pois mais atrás tá reservado"
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Pois é, a alocação na stack é bem simples, né!? Já na heap... rsrsrs
@rothmans_london
@rothmans_london 10 ай бұрын
vim pelo alura da formação de c++ lkkkkk
@DiasDeDev
@DiasDeDev 10 ай бұрын
Espero que esteja gostando. :-D
@rothmans_london
@rothmans_london 10 ай бұрын
Top dms mestre 🙏
@vitormoschetta1687
@vitormoschetta1687 2 жыл бұрын
Top..
@godsbetstv3172
@godsbetstv3172 Жыл бұрын
Assembly Coder
@bruno2182
@bruno2182 2 жыл бұрын
PHP e Elixir!
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Maneiro! Estudei um pouco de Elixir recentemente e achei bastante interessante. :-D
@coresdavivi
@coresdavivi 2 жыл бұрын
PHP
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Boa! 😁😁
@MarianaRegiaGuirado
@MarianaRegiaGuirado 9 ай бұрын
Uso C# :)))
@DiasDeDev
@DiasDeDev 9 ай бұрын
Maneiro!! Espero que o vídeo tenha sido útil!
@neyltonbenjamim
@neyltonbenjamim 2 жыл бұрын
PHP!!!
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Tamo junto! 😁
@daviguilhermesouzadumer9109
@daviguilhermesouzadumer9109 2 жыл бұрын
Java, JavaScript, Python hehehe
@DiasDeDev
@DiasDeDev 2 жыл бұрын
Stack bem variada. :-D
Setting up OpenGL and Creating a Window in C++
22:03
The Cherno
Рет қаралды 819 М.
Кәсіпқой бокс | Жәнібек Әлімханұлы - Андрей Михайлович
48:57
This mother's baby is too unreliable.
00:13
FUNNY XIAOTING 666
Рет қаралды 34 МЛН
Зу-зу Күлпаш 2. Бригадир.
43:03
ASTANATV Movie
Рет қаралды 531 М.
РОДИТЕЛИ НА ШКОЛЬНОМ ПРАЗДНИКЕ
01:00
SIDELNIKOVVV
Рет қаралды 3,6 МЛН
Understanding Allocations: the Stack and the Heap - GopherCon SG 2019
21:39
WHY IS THE HEAP SO SLOW?
17:53
Core Dumped
Рет қаралды 234 М.
Stack vs Heap Memory in C++
19:31
The Cherno
Рет қаралды 571 М.
Memória RAM
9:48
Dicionário de Informática
Рет қаралды 107 М.
C++ vs Rust: which is faster?
21:15
fasterthanlime
Рет қаралды 397 М.
Entendendo a área de memória conhecida como Stack
17:36
EximiaCo - Excelência Tecnológica
Рет қаралды 6 М.
Entendendo GIT | (não é um tutorial!)
1:03:35
Fabio Akita
Рет қаралды 299 М.
Кәсіпқой бокс | Жәнібек Әлімханұлы - Андрей Михайлович
48:57