{"id":1388,"date":"2026-03-12T06:23:03","date_gmt":"2026-03-12T06:23:03","guid":{"rendered":"https:\/\/razvanvancea.ro\/blog\/?p=1388"},"modified":"2026-03-12T06:32:55","modified_gmt":"2026-03-12T06:32:55","slug":"understanding-js-garbage-collector-how-memory-is-managed","status":"publish","type":"post","link":"https:\/\/razvanvancea.ro\/blog\/2026\/03\/12\/understanding-js-garbage-collector-how-memory-is-managed\/","title":{"rendered":"Understanding JS Garbage Collector &#8211; how Memory is managed"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div>\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1388\" class=\"elementor elementor-1388\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cce3386 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cce3386\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a804d05\" data-id=\"a804d05\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1381e12 elementor-widget elementor-widget-text-editor\" data-id=\"1381e12\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Memory management is one of the most important responsibilities of any programming language runtime. There are programming languages such as C or C++, where the developers manually allocate and free memory. However, Javascript handles memory management automatically through a Garbage Collector (GC).<br \/><br \/>For most engineers, this process is invisible. However, understanding the garbage collector mechanism is very important. In this article we will see what JavaScript garbage collector is and how it works.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a481f8a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a481f8a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-50710c4\" data-id=\"50710c4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e96ae8c elementor-widget elementor-widget-heading\" data-id=\"e96ae8c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">What is Garbage Collector?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d023cc2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d023cc2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-36ca7ea\" data-id=\"36ca7ea\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b4fa910 elementor-widget elementor-widget-text-editor\" data-id=\"b4fa910\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A garbage collector is a mechanism that automatically frees memory that is no longer being used by a program.<\/p><p>When your JavaScript code creates objects, arrays, functions, etc, memory is allocated for them. Over time, some of these values become unreachable, meaning no part of the program can access them anymore.<\/p><p>The garbage collector identifies these unreachable values and reclaims their memory, making it available for future allocations.<\/p><p>In simple terms:<\/p><p>You create objects \u2192 memory is allocated<\/p><p>Objects become unused \u2192 memory becomes garbage<\/p><p>Garbage collector cleans it up<\/p><p>This process prevents programs from consuming more and more memory over time.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0b50106 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0b50106\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a1e5236\" data-id=\"a1e5236\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ae132cc elementor-widget elementor-widget-heading\" data-id=\"ae132cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">JS Memory Lifecycle<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-17ee266 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"17ee266\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6b0a0ef\" data-id=\"6b0a0ef\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-eeca8c9 elementor-widget elementor-widget-text-editor\" data-id=\"eeca8c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The JavaScript memory lifecycle generally follows three steps:<br \/><br \/><strong>1. Memory Allocation<\/strong><\/p><p>Memory is automatically allocated when values are created.<\/p><p>Example:<\/p><p>let user = {<br \/>\u00a0 name: &#8220;Razvan&#8221;,<br \/>\u00a0 age: 21<br \/>};<\/p><p>Here, memory is allocated for:<\/p><ul><li>the object<\/li><li>its properties<\/li><li>the string values<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-29e740d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"29e740d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-816af3d\" data-id=\"816af3d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6069cc6 elementor-widget elementor-widget-text-editor\" data-id=\"6069cc6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>2. Memory Usage<\/strong><\/p><p>The allocated memory is used by reading or writing values.<\/p><p>console.log(user.name);<br \/>user.age = 40;<\/p><p>During this phase, the program accesses stored data.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-25d69e1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"25d69e1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-781392c\" data-id=\"781392c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-997084e elementor-widget elementor-widget-text-editor\" data-id=\"997084e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>3. Memory Release<\/strong><\/p><p>Once a value becomes unreachable, the garbage collector can free it.<\/p><p>user = null;<\/p><p>By removing the reference, the object may become eligible for garbage collection.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f88225f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f88225f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-151aefb\" data-id=\"151aefb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8e75cc8 elementor-widget elementor-widget-heading\" data-id=\"8e75cc8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Reachability concept<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8f2c47c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8f2c47c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-458c6d3\" data-id=\"458c6d3\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-de62cd2 elementor-widget elementor-widget-text-editor\" data-id=\"de62cd2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Modern JavaScript garbage collectors rely on the concept of reachability.<\/p><p>An object is considered reachable if it can be accessed from the root of the program.<\/p><p>Typical roots include:<\/p><p>Global variables<\/p><p>Variables in the current call stack<\/p><p>Closures<\/p><p>References from other reachable objects<\/p><p>Example:<\/p><p>let user = {<br \/>\u00a0 \u00a0 profile: {<br \/>\u00a0 \u00a0 \u00a0 \u00a0 name: &#8220;John&#8221;<br \/>\u00a0 \u00a0 }<br \/>};<\/p><p>If <span style=\"text-decoration: underline;\">user<\/span> becomes null, both <span style=\"text-decoration: underline;\">profile<\/span> and <span style=\"text-decoration: underline;\">name<\/span> also become unreachable.<\/p><p>user = null;<\/p><p>At this point, the entire object tree can be cleaned by the garbage collector.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a5e7835 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a5e7835\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fc35f95\" data-id=\"fc35f95\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e187b83 elementor-widget elementor-widget-heading\" data-id=\"e187b83\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The Mark-and-Sweep Algorithm<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-67fb362 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"67fb362\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ed244a1\" data-id=\"ed244a1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-03cc921 elementor-widget elementor-widget-text-editor\" data-id=\"03cc921\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The most widely used garbage collection algorithm in JavaScript engines is Mark-and-Sweep.<\/p><p>The process works in two phases:<\/p><p><strong>1. Mark Phase<\/strong><\/p><p>The garbage collector starts from the root objects and recursively marks all reachable objects.<\/p><p>Anything that can be accessed from the root is marked as alive.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ac4db38 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ac4db38\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-eb2cf61\" data-id=\"eb2cf61\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-39b519c elementor-widget elementor-widget-text-editor\" data-id=\"39b519c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>2. Sweep Phase<\/strong><\/p><p>After marking, the collector scans the memory heap and removes any object that was not marked.<\/p><p>These unmarked objects are considered garbage.<\/p><p><br \/>Root<br \/>\u2502<br \/>\u251c\u2500\u2500 Object A<br \/>\u2502 \u2514\u2500\u2500 Object B<br \/>\u2502<br \/>\u2514\u2500\u2500 Object C<\/p><p>Object D (unreachable)<br \/><br \/><\/p><p>In this scenario:<\/p><p>A, B, and C remain<\/p><p>D is removed<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1092fdb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1092fdb\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3d11afe\" data-id=\"3d11afe\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-db717ae elementor-widget elementor-widget-text-editor\" data-id=\"db717ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Note: Modern engines such as V8 (Chrome \/ NodeJS) implement more advanced strategies on top of Mark-and-Sweep. Some of these include generational \/ incremental \/ concurrent garbage collection.<br \/><br \/><strong>Generational GC<\/strong> implies objects divided in 2 generations:<br \/>&#8211; young generation (newly created objects)<br \/>&#8211; old generation (objects that survive multiple GC cycles)<br \/><br \/>Most objects die young, so GC runs more frequently on the young generation, improving performance.<br \/><br \/><strong>Incremental GC<\/strong> &#8211; instead of freezing the app to run GC all at once, incremental GC breaks the work into smaller chunks, reducing pauses.<br \/><br \/><strong>Concurrent GC &#8211; <\/strong>some parts of the garbage collection process run in parallel with the main JavaScript thread, further reducing blocking time.<br \/><br \/><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-bd5a6d6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bd5a6d6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e5f8f75\" data-id=\"e5f8f75\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2a761b3 elementor-widget elementor-widget-text-editor\" data-id=\"2a761b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In modern JS development, having a basic understanding of the garbage collector is an important part of writing cleaner and more performant code.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed0226c elementor-widget elementor-widget-spacer\" data-id=\"ed0226c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-84360d5 elementor-widget elementor-widget-text-editor\" data-id=\"84360d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Enjoyed this article?<br \/>I share more practical automation tips on\u00a0<a href=\"https:\/\/www.youtube.com\/c\/LearnwithRV\/videos\" target=\"_blank\" rel=\"noopener\"><strong>YouTube<\/strong><\/a>\u00a0and\u00a0<a href=\"https:\/\/www.linkedin.com\/in\/razvanvancea\/\" target=\"_blank\" rel=\"noopener\"><strong>LinkedIn<\/strong><\/a>.<\/p><p><strong>Need structured guidance instead of learning alone?<\/strong><br \/>I offer\u00a0<strong>1-on-1 mentoring<\/strong>\u00a0&#8211; learn more \u2192\u00a0<strong><a href=\"https:\/\/razvanvancea.ro\/1on1.html\" target=\"_blank\" rel=\"noopener\">HERE<\/a><\/strong><\/p><p>Or email me at\u00a0<strong>iamqarv [at] gmail [dot] com<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Memory management is one of the most important responsibilities of any programming language runtime. There&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-1388","post","type-post","status-publish","format-standard","hentry","category-programming"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/posts\/1388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/comments?post=1388"}],"version-history":[{"count":3,"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/posts\/1388\/revisions"}],"predecessor-version":[{"id":1392,"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/posts\/1388\/revisions\/1392"}],"wp:attachment":[{"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/media?parent=1388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/categories?post=1388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/razvanvancea.ro\/blog\/wp-json\/wp\/v2\/tags?post=1388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}