


A brief analysis of JS garbage collection mechanism and memory management
This article mainly introduces a brief analysis of JS garbage collection mechanism and memory management. The editor thinks it is quite good. Now I will share it with you and give it as a reference. Let’s follow the editor to take a look.
Garbage collection
The garbage collection mechanism in javascript is very simple: find those variables that are no longer in use, and then release them.
Local variables only exist during the execution of the function, so when the function execution ends, there is no need for local variables to exist. But not all variables are so easy to judge, so some methods must be used to recycle them Variable
1 Mark clearing:
The most commonly used garbage collection method in JavaScript is to clear the mark. When a variable enters the environment, mark the variable as "Enter the environment" , when the variable leaves the environment, mark the variable as "leaving the environment". Generally speaking, we will only clear the variables with the leaving environment mark, because there is no way to access them. Then the garbage collector completes the memory clearing work.
2 Reference counting:
This method is not so commonly used. The meaning of reference counting is to record the number of times each value is referenced. When the number of references is reduced to 0, It means that there is no way to access that value anymore, so the memory occupied by it can be released.
But there is a problem with reference counting: circular reference. For example:
function problem(){ var objectA = new Object(); var objectB = new Object(); objectA.someOtherObject = objectB; objectB.anotherObject = objectA; }
In this example, in this example, objectA and objectB reference each other through their respective properties; that is, the number of times these two objects are referenced
Both are 2. In an implementation that uses a mark-and-sweep strategy, this mutual reference is not a problem because both objects go out of scope after the function is executed. But in an implementation that uses a reference counting strategy, objectA and objectB will continue to exist after the function is executed, because their number of references will never be 0. If this function is called multiple times, a large amount of memory will not be recycled
In order to avoid such a problem, we need to set them to null when they are not used to eliminate circular references
Memory Management:
We all know that the amount of available memory allocated to web browsers is usually less than that allocated to desktop applications. The purpose of this is mainly for security reasons, and the purpose is to prevent a web page running JavaScript from using up all the system memory and causing the system to crash. Memory limit issues not only affect the allocation of memory for variables, but also the call stack and the number of statements that can be executed simultaneously in a thread.
Therefore, ensuring that the least amount of memory is occupied can allow the page to achieve better performance. The best way to optimize memory usage is to save only the necessary data for the executing code. Once the data is no longer useful, it's a good idea to release its reference by setting its value to null—a practice called dereferencing. This approach applies to most global variables and properties of global objects. Local variables will be automatically dereferenced when they leave the execution environment, as shown in the following example:
function createPerson(name){ var localPerson = new Object(); localPerson.name = name; return localPerson; } var globalPerson = createPerson("Nicholas"); // 手工解除globalPerson 的引用 globalPerson = null;
Dereferencing a value does not mean automatically recycling the memory occupied by the value. What a dereference really does is take the value out of the execution environment so that it can be reclaimed by the garbage collector the next time it runs.
Related recommendations:
java garbage collection mechanism, memory management
JS garbage collection mechanism and memory allocation
JavaScript garbage collection mechanism and memory leak problem
The above is the detailed content of A brief analysis of JS garbage collection mechanism and memory management. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



For mechanical hard drives or SATA solid-state drives, you will feel the increase in software running speed. If it is an NVME hard drive, you may not feel it. 1. Import the registry into the desktop and create a new text document, copy and paste the following content, save it as 1.reg, then right-click to merge and restart the computer. WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement]"DisablePagingExecutive"=d

Recently, Xiaomi released a powerful high-end smartphone Xiaomi 14Pro, which not only has a stylish design, but also has internal and external black technology. The phone has top performance and excellent multitasking capabilities, allowing users to enjoy a fast and smooth mobile phone experience. However, performance will also be affected by memory. Many users want to know how to check the memory usage of Xiaomi 14Pro, so let’s take a look. How to check memory usage on Xiaomi Mi 14Pro? Introduction to how to check the memory usage of Xiaomi 14Pro. Open the [Application Management] button in [Settings] of Xiaomi 14Pro phone. To view the list of all installed apps, browse the list and find the app you want to view, click on it to enter the app details page. In the application details page

When novice users buy a computer, they will be curious about the difference between 8g and 16g computer memory? Should I choose 8g or 16g? In response to this problem, today the editor will explain it to you in detail. Is there a big difference between 8g and 16g of computer memory? 1. For ordinary families or ordinary work, 8G running memory can meet the requirements, so there is not much difference between 8g and 16g during use. 2. When used by game enthusiasts, currently large-scale games basically start at 6g, and 8g is the minimum standard. Currently, when the screen is 2k, higher resolution will not bring higher frame rate performance, so there is no big difference between 8g and 16g. 3. For audio and video editing users, there will be obvious differences between 8g and 16g.

According to news from this website on September 3, Korean media etnews reported yesterday (local time) that Samsung Electronics and SK Hynix’s “HBM-like” stacked structure mobile memory products will be commercialized after 2026. Sources said that the two Korean memory giants regard stacked mobile memory as an important source of future revenue and plan to expand "HBM-like memory" to smartphones, tablets and laptops to provide power for end-side AI. According to previous reports on this site, Samsung Electronics’ product is called LPWide I/O memory, and SK Hynix calls this technology VFO. The two companies have used roughly the same technical route, which is to combine fan-out packaging and vertical channels. Samsung Electronics’ LPWide I/O memory has a bit width of 512

According to the report, Samsung Electronics executive Dae Woo Kim said that at the 2024 Korean Microelectronics and Packaging Society Annual Meeting, Samsung Electronics will complete the verification of the 16-layer hybrid bonding HBM memory technology. It is reported that this technology has passed technical verification. The report also stated that this technical verification will lay the foundation for the development of the memory market in the next few years. DaeWooKim said that Samsung Electronics has successfully manufactured a 16-layer stacked HBM3 memory based on hybrid bonding technology. The memory sample works normally. In the future, the 16-layer stacked hybrid bonding technology will be used for mass production of HBM4 memory. ▲Image source TheElec, same as below. Compared with the existing bonding process, hybrid bonding does not need to add bumps between DRAM memory layers, but directly connects the upper and lower layers copper to copper.

This site reported on March 21 that Micron held a conference call after releasing its quarterly financial report. At the conference, Micron CEO Sanjay Mehrotra said that compared to traditional memory, HBM consumes significantly more wafers. Micron said that when producing the same capacity at the same node, the current most advanced HBM3E memory consumes three times more wafers than standard DDR5, and it is expected that as performance improves and packaging complexity intensifies, in the future HBM4 This ratio will further increase. Referring to previous reports on this site, this high ratio is partly due to HBM’s low yield rate. HBM memory is stacked with multi-layer DRAM memory TSV connections. A problem with one layer means that the entire

According to news from this website on May 6, Lexar launched the Ares Wings of War series DDR57600CL36 overclocking memory. The 16GBx2 set will be available for pre-sale at 0:00 on May 7 with a deposit of 50 yuan, and the price is 1,299 yuan. Lexar Wings of War memory uses Hynix A-die memory chips, supports Intel XMP3.0, and provides the following two overclocking presets: 7600MT/s: CL36-46-46-961.4V8000MT/s: CL38-48-49 -1001.45V In terms of heat dissipation, this memory set is equipped with a 1.8mm thick all-aluminum heat dissipation vest and is equipped with PMIC's exclusive thermal conductive silicone grease pad. The memory uses 8 high-brightness LED beads and supports 13 RGB lighting modes.

If you have installed new RAM but it is not showing up on your Windows computer, this article will help you resolve the issue. Usually, we improve the performance of the system by upgrading RAM. However, system performance also depends on other hardware such as CPU, SSD, etc. Upgrading RAM can also improve your gaming experience. Some users have noticed that installed memory is not showing up in Windows 11/10. If this happens to you, you can use the advice provided here. Installed RAM not showing up on Windows 11 If the installed RAM is not showing up on your Windows 11/10 PC, the following suggestions will help you. Is the installed memory compatible with your computer's motherboard? in BIO
