<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Memory on wid's blog</title><link>https://wid-blog.github.io/en/tags/memory/</link><description>Recent content in Memory on wid's blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 14 Jun 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://wid-blog.github.io/en/tags/memory/index.xml" rel="self" type="application/rss+xml"/><item><title>Three Garbage Collectors — How Java, Python, and Go Reclaim Memory</title><link>https://wid-blog.github.io/en/posts/tech/language/three-garbage-collectors/</link><pubDate>Fri, 14 Jun 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/tech/language/three-garbage-collectors/</guid><description>All three languages use a garbage collector, but the priorities differ. Java leans on generational + region GCs (G1, ZGC), Python combines reference counting with a cyclic detector, and Go runs a single concurrent tri-color mark-and-sweep. What each GC gave up is what shapes its operational profile.</description></item><item><title>Everything Is Pass by Value — Memory Transfer in Go, Java, and Python</title><link>https://wid-blog.github.io/en/posts/tech/language/everything-is-pass-by-value/</link><pubDate>Thu, 13 Jun 2024 00:00:00 +0000</pubDate><guid>https://wid-blog.github.io/en/posts/tech/language/everything-is-pass-by-value/</guid><description>Calling a function with an object is often described as pass by reference, but in memory all three languages copy values. Java copies a reference value, Python binds a new name to the same object (call by sharing), and Go copies a struct header — escape analysis decides where the values live.</description></item></channel></rss>