CN115729702A - Application program memory configuration method, electronic device and computer storage medium - Google Patents

Application program memory configuration method, electronic device and computer storage medium Download PDF

Info

Publication number
CN115729702A
CN115729702A CN202211442694.5A CN202211442694A CN115729702A CN 115729702 A CN115729702 A CN 115729702A CN 202211442694 A CN202211442694 A CN 202211442694A CN 115729702 A CN115729702 A CN 115729702A
Authority
CN
China
Prior art keywords
memory
target
identification information
candidate
memory area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211442694.5A
Other languages
Chinese (zh)
Inventor
余荣基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202211442694.5A priority Critical patent/CN115729702A/en
Publication of CN115729702A publication Critical patent/CN115729702A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The present application relates to the field of computer technologies, and in particular, to an application memory configuration method, an electronic device, and a computer storage medium. The application program memory configuration method is applied to memory configuration of a Java application program, and comprises the steps of firstly determining a target memory space based on a preset memory partition reference, wherein the target memory space comprises a plurality of candidate memory areas, then obtaining memory identification information configured for each candidate memory area, determining the target memory area from the candidate memory areas based on preset application demand information and memory identification information, determining the memory identification information corresponding to the target memory area as the target identification information, calling a target memory object in the target memory area based on the target identification information, and recovering the target memory object to the target memory area based on the target identification information when a target task is executed, so that a garbage integral cleaning mechanism cannot be frequently triggered, and the running efficiency of the Java application program is improved.

Description

Application program memory configuration method, electronic device and computer storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to an application memory configuration method, an electronic device, and a computer storage medium.
Background
Java is a widely used computer programming language, has the characteristics of cross-platform, object-oriented and generic programming, and is widely applied to enterprise-level Web application development and mobile application development. Java language based applications (hereinafter referred to as "Java programs") need to run in a JVM (Java Virtual Machine). When the Java program is started, the operating system of the computer device where the Java program is located allocates memory to the JVM from the operating system memory (hereinafter referred to as "JVM memory").
The Java program is configured with a Garbage Collection (Full GC) mechanism for recovering the Garbage objects in the whole memory space when the memory is insufficient, so as to clean up the idle memory space for use. When The Java program triggers The garbage integral cleaning mechanism, other threads except The garbage integral cleaning mechanism in The Java program are suspended, so that a global pause phenomenon (Stop The World, STW) occurs to ensure The integral cleaning of The memory space.
In the related art, some Java programs may have a scene of frequently operating a memory, for example, an array object is frequently created to record a numerical value, and the numerical value is used for derivation calculation, and after the memory is frequently operated by the Java program for many times, a large number of useless data objects are often generated, and the frequency of triggering the garbage integral cleaning mechanism is also correspondingly increased, so that the execution logic of the Java program is frequently interrupted by a correspondingly occurring global pause phenomenon, which causes an exception to the Java program, and thus the operation efficiency of the Java program is reduced. Therefore, how to configure the memory of the Java program to improve the operating efficiency of the Java program becomes a problem to be urgently solved in the industry.
Disclosure of Invention
The present application is directed to solving at least one of the problems in the prior art. Therefore, the application provides an application program memory configuration method, an electronic device and a computer storage medium, which can improve the operating efficiency of the Java program.
According to the first aspect of the present application, an application memory configuration method applied to memory configuration of a Java application includes:
determining a target memory space based on a preset memory partition reference, wherein the target memory space comprises a plurality of candidate memory areas;
acquiring memory identification information configured for each candidate memory area, wherein the memory identification information is used for identifying the storage position of the candidate memory area;
determining a target memory area from the candidate memory areas based on preset application demand information and the memory identification information, and determining the memory identification information corresponding to the target memory area as target identification information;
calling a target memory object in the target memory area based on the target identification information, wherein the called target memory object is used for executing a target task;
and when the target task is executed, recovering the target memory object to the target memory area based on the target identification information.
According to some embodiments of the present application, the determining a target memory area from a plurality of candidate memory areas based on preset application requirement information and the memory identification information includes:
acquiring preset memory capacity required to be created based on the application demand information;
and determining the target memory area from the candidate memory areas according to the memory identification information and the preset memory capacity.
According to some embodiments of the present application, the obtaining memory identification information of each candidate memory area configuration includes:
acquiring the memory capacity of each candidate memory area in the target memory space and the memory address corresponding to each candidate memory area;
and obtaining the memory identification information configured in each candidate memory area based on the memory capacity and the memory address.
According to some embodiments of the present application, determining the target memory region from the plurality of candidate memory regions according to the memory identification information and the preset memory capacity includes:
performing content analysis on the memory identification information to obtain the memory capacity of each candidate memory area and a memory address corresponding to each candidate memory area;
allocating the memory capacity of the candidate memory area for the preset memory capacity based on a preset memory allocation standard and the memory address corresponding to each candidate memory area;
and determining the candidate memory area allocated to the preset memory capacity as the target memory area.
According to some embodiments of the present application, allocating the memory capacity of the candidate memory area for the preset memory capacity based on a preset memory allocation reference and a memory address corresponding to each of the candidate memory areas includes:
dividing the memory capacity of each candidate memory area to obtain a plurality of memory object units;
and allocating the memory object unit to the preset memory capacity based on the memory allocation standard and the memory address corresponding to each candidate memory area.
According to some embodiments of the present application, the invoking a target memory object in the target memory area based on the target identification information includes:
locking the target memory area based on the target identification information;
after the target memory area is locked, acquiring the current state of each target memory object in the target memory area, wherein the current state comprises an idle state;
and calling the target memory object of which the current state is an idle state.
According to some embodiments of the present application, the current state includes a non-idle state, and the invoking the target memory object in the target memory area based on the target identification information further includes:
when the current states of all target memory objects in the target memory area are non-idle states, creating a standby memory object based on the application demand information;
and calling the standby memory object to execute the target task based on the standby memory object.
According to some embodiments of the present application, the recycling the target memory object to the target memory area based on the target identification information includes:
locking the target memory area based on the target identification information;
and after the target memory area is locked, recovering the target memory object to the target memory area based on the target identification information.
In a second aspect, an embodiment of the present application provides an electronic device, including: the application program memory allocation method includes a memory and a processor, where the memory stores a computer program, and the processor implements the application program memory allocation method according to any one of the embodiments of the first aspect of the present application when executing the computer program.
In a third aspect, an embodiment of the present application provides a computer-readable storage medium, where a computer program is stored, and the computer program is executed by a processor to implement the application memory configuration method according to any one of the embodiments of the first aspect of the present application.
According to the application program memory configuration method, the electronic device and the computer storage medium of the embodiment of the application program, at least the following beneficial effects are achieved:
the application program memory configuration method is applied to memory configuration of a Java application program, and needs to determine a target memory space based on a preset memory partition reference, wherein the target memory space comprises a plurality of candidate memory areas, then memory identification information configured for each candidate memory area is obtained, and the memory identification information is used for identifying the storage position of the candidate memory area. According to the application program memory configuration method, the target identification information corresponding to the target memory area is determined before the target task is executed by calling the target memory area, so that the target memory object can be recycled to the target memory area based on the target identification information after the target task is executed, a garbage integral cleaning mechanism cannot be frequently triggered, and the running efficiency of the Java program is improved.
Additional aspects and advantages of the present application will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the present application.
Drawings
The above and/or additional aspects and advantages of the present application will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a schematic flowchart of an application memory configuration method according to an embodiment of the present disclosure;
FIG. 2 is a schematic flowchart illustrating the step S102 in FIG. 1 according to the present embodiment;
FIG. 3 is a schematic block diagram of a target memory space according to an embodiment of the present disclosure;
FIG. 4 is a schematic flowchart illustrating step S103 in FIG. 1 according to an embodiment of the present disclosure;
FIG. 5 is a flowchart illustrating the step S402 in FIG. 4 according to the present embodiment;
FIG. 6 is a flowchart illustrating step S502 in FIG. 5 according to an embodiment of the present disclosure;
FIG. 7 is a flowchart illustrating step S104 in FIG. 1 according to an embodiment of the present disclosure;
FIG. 8 is another flowchart illustrating step S104 in FIG. 1 according to the present application;
FIG. 9 is a flowchart illustrating the step S105 in FIG. 1 according to the present embodiment;
fig. 10 is a schematic hardware structure diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to the embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present application.
In the description of the present application, the meaning of a plurality is one or more, the meaning of a plurality is two or more, and larger, smaller, larger, etc. are understood as excluding the present number, and larger, smaller, inner, etc. are understood as including the present number. If there is a description of first and second for the purpose of distinguishing technical features only, this is not to be understood as indicating or implying a relative importance or implicitly indicating the number of technical features indicated or implicitly indicating the precedence of technical features indicated.
In the description of the present application, it is to be understood that the positional descriptions, such as the directions of up, down, left, right, front, rear, and the like, referred to as positional or positional relationships are based on the directions or positional relationships shown in the drawings, and are only for convenience of description and simplification of description, but do not indicate or imply that the referred device or element must have a specific orientation, be constructed and operated in a specific orientation, and thus, should not be construed as limiting the present application.
In the description herein, reference to the description of the terms "one embodiment," "some embodiments," "an illustrative embodiment," "an example," "a specific example," or "some examples" or the like means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the application. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
In the description of the present application, it should be noted that unless otherwise explicitly defined, terms such as arrangement, installation, connection and the like should be broadly understood, and those skilled in the art can reasonably determine the specific meanings of the above terms in the present application in combination with the specific contents of the technical solutions. In addition, the following descriptions of specific steps do not represent any limitation on the order of steps and execution logic, and the order of execution and execution logic between the steps should be understood and inferred with reference to the description of the embodiments.
Java is a widely used computer programming language, has the characteristics of cross-platform, object-oriented and generic programming, and is widely applied to enterprise-level Web application development and mobile application development. Java language based applications (hereinafter referred to as "Java programs") need to run in a JVM (Java Virtual Machine). When a Java program is started, the operating system of the computer device in which the Java program is located allocates memory from the operating system memory to the JVM (hereinafter "JVM memory").
The Java program is configured with a Garbage Collection (Full GC) mechanism for reclaiming the Garbage objects in the whole memory space when the memory is insufficient, so as to clean up the idle memory space for use. When The Java program triggers The garbage integral cleaning mechanism, other threads except The garbage integral cleaning mechanism in The Java program are suspended, so that a global pause phenomenon (Stop The World, STW) occurs to ensure The integral cleaning of The memory space.
In the related art, some Java programs may have a scene of frequently operating a memory, for example, an array object is frequently created to record a numerical value, and the numerical value is used for derivation calculation, and after the memory is frequently operated by the Java program for many times, a large number of useless data objects are often generated, and the frequency of triggering the garbage integral cleaning mechanism is also correspondingly increased, so that the execution logic of the Java program is frequently interrupted by a correspondingly occurring global pause phenomenon, which causes an exception to the Java program, and thus the operation efficiency of the Java program is reduced. Therefore, how to configure the memory of the Java program to improve the operating efficiency of the Java program becomes a problem to be solved urgently in the industry.
The present application is directed to solving at least one of the problems in the prior art. Therefore, the application provides an application program memory configuration method, an electronic device and a computer storage medium, which can improve the operating efficiency of the Java program.
Fig. 1 is an optional flowchart of an application memory configuration method according to an embodiment of the present application, where the application memory configuration method is applied to memory configuration of a Java application, and the method in fig. 1 may include, but is not limited to, steps S101 to S105.
Step S101, determining a target memory space based on a preset memory partition reference, wherein the target memory space comprises a plurality of candidate memory areas;
step S102, acquiring memory identification information configured for each candidate memory area, wherein the memory identification information is used for identifying the storage position of the candidate memory area;
step S103, determining a target memory area from a plurality of candidate memory areas based on preset application demand information and memory identification information, and determining the memory identification information corresponding to the target memory area as target identification information;
step S104, calling a target memory object in the target memory area based on the target identification information, wherein the called target memory object is used for executing a target task;
step S105, when the target task is executed, the target memory object is recovered to the target memory area based on the target identification information.
The application program memory configuration method shown in steps S101 to S105 needs to determine a target memory space based on a preset memory partition reference, where the target memory space includes multiple candidate memory areas, then obtain memory identification information configured for each candidate memory area, where the memory identification information is used to identify a storage location of the candidate memory area, further determine a target memory area from the multiple candidate memory areas based on preset application requirement information and the memory identification information, determine memory identification information corresponding to the target memory area as the target identification information, and further call a target memory object in the target memory area based on the target identification information, where the called target memory object is used to execute a target task, and when the target task is executed, retrieve the target memory object to the target memory area based on the target identification information. According to the application program memory configuration method, the target identification information corresponding to the target memory area is determined before the target memory area is called to execute the target task, so that the target memory object can be recycled to the target memory area based on the target identification information after the target task is executed, a garbage integral cleaning mechanism cannot be frequently triggered, and the running efficiency of the Java program is improved.
In step S101 of some embodiments of the present application, a target memory space is determined based on a preset memory partition reference, where the target memory space includes a plurality of candidate memory areas. It should be noted that the preset memory partitioning reference refers to a preset computer memory planning allocation reference, and in some exemplary embodiments, a memory needs to be configured for the application program because the application program needs to execute some types of target tasks, and the execution of the target tasks needs to call a data object from a memory space of the computer to support the execution of the target tasks. Therefore, in order to execute the target task, the target memory space needs to be determined according to the memory division reference. It is to be understood that the memory partitioning criterion may be determined according to the characteristics of the target task, for example, if the target task needs to frequently create an array object to record a value and use the value for derivation calculation, which means that the memory required by the target task is large, then the target memory space determined according to the memory partitioning criterion needs to be matched with a large memory required for executing the target task, and similarly, if the memory required by the target task is small, then the target memory space can support normal execution of the target task, and it is not necessary to partition the target memory space too large. It should be understood that the memory partitioning criteria can be of various types, and may include, but are not limited to, the specific embodiments set forth above.
In some exemplary embodiments of the present application, the target memory space includes a plurality of candidate memory areas, where the candidate memory areas are subunits of the target memory space, and the target memory space is composed of the plurality of candidate memory areas, and when a target task is executed, a memory needs to be called from the target memory space, and then some of the candidate memory areas may be allocated to an application program to execute the target task. The manner of allocating the candidate memory area to the application program may be to allocate a memory address of the candidate memory area to a process executing a target task in the application program.
In step S102 of some embodiments of the present application, memory identification information configured for each candidate memory area is obtained, where the memory identification information is used to identify a storage location of the candidate memory area. It should be noted that the memory identification information is used to identify the storage location of the candidate memory area, and may include the memory address of each candidate memory area, the memory capacity of each candidate memory area, and other identification information related to the candidate memory area. It should be clear that, when the storage locations of the candidate memory areas are associated (for example, the storage locations are continuous, the storage locations meet a certain preset rule, and the like), if the memory identification information includes the storage location of a specific candidate memory area, the storage locations of other candidate memory areas may be further determined based on the association between the candidate memory areas. It should be understood that the memory identification information reflecting the storage location of the candidate memory area has various expressions, and may include, but is not limited to, the specific examples mentioned above.
Referring to fig. 2, step S102 according to some embodiments of the present application may include, but is not limited to, step S201 to step S202 described below.
Step S201, obtaining the memory capacity of each candidate memory area in the target memory space and the memory address corresponding to each candidate memory area;
step S202, based on the memory capacity and the memory address, obtaining the memory identification information configured in each candidate memory region.
In steps S201 to S202 of some embodiments, the memory capacity of each candidate memory area and the memory address corresponding to each candidate memory area in the target memory space need to be obtained first, and then the memory identification information configured for each candidate memory area is obtained based on the memory capacity and the memory address.
It should be noted that, in computer operation, a memory address is a concept of data in different levels of software, hardware, and the like, and is used for accessing data in a computer main memory. The memory of a computer (especially referred to as main memory) is composed of a plurality of "memory addresses", each memory address has a "physical address" and can be accessed by a CPU (or other devices). In some embodiments, the instructions of the program can be executed by system software such as BIOS, operating system, and some specific common software (such as memory test software), using operands or registers of machine code to address physical addresses, instructing the CPU to request a hardware device such as a memory controller, using a memory bus or system bus, or controlling the bus, address bus, and data bus, respectively. Computer programs use memory addresses to run machine code, store, and intercept data. Most application programs cannot know the actual physical address, but use the memory management unit of the computer and the memory mapping of the operating system to address logical addresses or virtual addresses. The memory capacity in the embodiment of the present application refers to a storage capacity of each candidate memory area on the memory bank.
In some specific embodiments of the present application, the memory address corresponding to the variable cannot be directly obtained in Java, because a heap space and a stack space in Java are controlled by a JVM virtual machine, and the JVM is "invisible" to a physical memory address, so that a long string of characters may appear when directly outputting the variable, but the variable is not a real memory address, and a Hash code of the address in the JVM may be returned by a Hash code method carried in Java, where a typical Hash code includes system. It should be noted that, when the application runs, the memory layout of the data area is not part of the JVM specification, and may be determined by the implementer. Therefore, each JVM may reuse data objects and arrays in different policy layout memories, taking a HotSpot JVM as an example, to search a memory address of a data object in the HotSpot JVM, a Java data object layout (JOL) tool is required, and the JOL is a tool kit carried by OpenJDK itself, which may help us to analyze the size and distribution of the data object in the JVM, and if a memory address of a specific data object needs to be searched in the HotSpot JVM, an addressOf method may also be used. It should be understood that the specific implementation manner of obtaining the memory capacity of each candidate memory region in the target memory space and the memory address corresponding to each candidate memory region is various, and may include, but is not limited to, the above-mentioned specific embodiments.
In step S202 of some embodiments, information integration is performed on the memory capacity and the memory address to obtain memory identification information of the candidate memory areas, the memory identification information configured for each candidate memory area is obtained based on the memory capacity and the memory address, so that the memory identification information can reflect the storage location of the candidate memory area, a target memory area is determined from the multiple candidate memory areas based on preset application requirement information and memory identification information in the candidate step, the memory identification information corresponding to the target memory area is determined as the target identification information, and a target memory object in the target memory area is called based on the target identification information, thereby further improving the operating efficiency of the Java program.
In step S103 of some embodiments of the present application, a target memory area is determined from a plurality of candidate memory areas based on preset application requirement information and memory identification information, and the memory identification information corresponding to the target memory area is determined as the target identification information. It should be noted that the preset application requirement information includes preset reference information required by the application process to call the memory, and in some embodiments, the application requirement information can reflect a memory location addressing requirement that the application program needs to follow to execute the target task. The target identification information can reflect the storage positions of candidate memory areas from which each data object required to be called for executing the target task originates. It should be understood that, no matter the target memory area is specified from the multiple candidate memory areas or randomly determined from the multiple candidate memory areas, the memory identification information corresponding to the target memory area needs to be determined as the target identification information, which is because the target identification information is a basis for the application program to call a data object for executing a target task and is also a basis for the application program to recover the data object after the target task is executed, so that the target identification information can help the application program to clean the memory space, so that the overall garbage cleaning mechanism is not frequently triggered, and thus the running efficiency of the Java program is improved.
Referring to fig. 3, in some more specific embodiments, when the target memory space includes 200 candidate memory areas, and each of the candidate memory areas stores 16 data objects, and the application program needs to call N data objects from the target memory space in order to execute the target task, the target memory area needs to be determined from the candidate memory areas based on the preset application requirement information and using the memory identification information as an index, so as to call N required data objects from one or more target memory areas in the subsequent step. It should be noted that the memory location addressing requirements reflected by the application requirement information may be of various types, where N data objects may be called from some block candidate memory areas specified by the memory location addressing requirements, and N data objects may also be randomly called from some block candidate memory areas according to the memory location addressing requirements.
In some embodiments, according to the memory location addressing requirement in the application requirement information, the manner of invoking the data object may specifically be: and completing the calling of N required data objects through several rounds of selection, wherein each round of calling selects one data object from the candidate memory area 1, the candidate memory area 2, the candidate memory area 200 according to a preset sequence, and after one round of calling is completed, the next round of calling selects one data object from the candidate memory area 1, the candidate memory area 2, the candidate memory area 200 according to the preset sequence again, and the data objects are called through several rounds until the N required data objects are called. It should be understood that in the above calling manner, the candidate memory area 1, the candidate memory area 2, the candidate memory area 200 are determined as the target memory area. It should be understood that, based on the preset application requirement information and the memory identification information, the manner of determining the target memory region from the candidate memory regions is various, and may include, but is not limited to, the above-mentioned embodiments.
Referring to fig. 4, step S103 according to some embodiments of the present application may include, but is not limited to, the following steps S401 to S402.
Step S401, acquiring a preset memory capacity required to be created based on application demand information;
step S402 determines a target memory area from the multiple candidate memory areas according to the memory identification information and the preset memory capacity.
In step S401 in some embodiments of the present application, a preset memory capacity that needs to be created is obtained based on the application requirement information. It is emphasized that the preset application requirement information includes preset memory location addressing requirements to be followed by the application program to execute the target task, and in some exemplary embodiments, the application requirement information further includes a preset memory capacity to be created. The preset memory capacity refers to a preset memory capacity required for executing the target task, and may be specifically embodied as the number of data objects required to be called from the target memory space. It should be noted that, based on different target tasks, the preset memory capacities to be correspondingly created are also different, and once a target task is determined, the memory capacity required to be consumed is also determined, and a correlation exists between the target task and the consumed memory capacity, so that the preset memory capacity can be preset.
In step S402 of some embodiments of the present application, a target memory area is determined from a plurality of candidate memory areas according to the memory identification information and the preset memory capacity. It is emphasized that the preset application requirement information includes preset memory location addressing requirements to be followed by the application program to execute the target task, and a preset memory capacity to be created, where the preset memory capacity refers to a preset memory capacity required to execute the target task. In addition, the memory identification information is used to identify the storage location of the candidate memory area, and may include the memory address of each candidate memory area, the memory capacity of each candidate memory area, and other identification information related to the candidate memory area. Therefore, the target memory area can be determined from the plurality of candidate memory areas by referring to the preset memory capacity, i.e., the memory identification information is used as an index, so that the data object can be called from the target memory area in the subsequent step. It should be noted that the determining the target memory area from the multiple candidate memory areas using the memory identifier information as an index may be randomly determining the target memory area from the multiple candidate memory areas, or determining the target memory area according to the memory location addressing requirement if the memory location addressing requirement includes a requirement for the target memory area. It is to be understood that, according to the memory identification information and the preset memory capacity, there are various embodiments for determining the target memory area from the candidate memory areas, which may include, but are not limited to, the above-mentioned specific embodiments. In the embodiment shown in fig. 3, when the target memory space includes 200 candidate memory areas, and each candidate memory area stores 16 data objects, and the application program needs to call N data objects from the target memory space in order to execute the target task, it needs to determine the target memory area from the candidate memory areas based on the preset application requirement information and using the memory identification information as an index, so as to call N required data objects from one or more target memory areas in the subsequent step, which needs to be pointed out, where the N required data objects are the preset memory capacity in the above embodiment. And after determining the N required data objects as the preset memory capacity, further determining a target memory area from the candidate memory areas according to the memory identification information and the preset memory capacity.
Through the steps S401 to S402, the preset memory capacity to be created is obtained based on the application requirement information, and then the target memory area is determined from the multiple candidate memory areas according to the memory identification information and the preset memory capacity, so that the target memory area can be determined by adapting to the memory capacity of executing the target task, thereby reducing the occurrence of the useless data object and further improving the operating efficiency of the Java program.
Referring to fig. 5, step S402 according to some embodiments of the present application may include, but is not limited to, step S501 to step S503:
step S501, content analysis is carried out on the memory identification information to obtain the memory capacity of each candidate memory area and the memory address corresponding to each candidate memory area;
step S502, allocating the memory capacity of the candidate memory area to the preset memory capacity based on the preset memory allocation reference and the memory address corresponding to each candidate memory area;
in step S503, the candidate memory area allocated to the preset memory capacity is determined as the target memory area.
In step S501 in some embodiments of the present application, content analysis needs to be performed on the memory identification information to obtain the memory capacity of each candidate memory area and the memory address corresponding to each candidate memory area. It should be noted that the memory identification information configured for each candidate memory area is obtained based on the memory capacity of each candidate memory area and the memory address corresponding to each candidate memory area, respectively. Therefore, the content of the memory identification information is analyzed, and the memory capacity of each candidate memory area and the memory address corresponding to each candidate memory area can be obtained. It should be noted that the memory capacities of the candidate memory areas may be the same or different, so that before allocating the memory capacity for the preset memory capacity, the memory capacity of each candidate memory area needs to be determined first, so as to allocate the memory capacity of the candidate memory area for the preset memory capacity in the subsequent step, and the memory address corresponding to each candidate memory area is a reference for allocating the memory capacity, so that before allocating the memory capacity for the preset memory capacity, the memory address corresponding to each candidate memory area needs to be obtained first, so that the process of allocating the memory capacity is implemented.
In some embodiments of the present application, in steps S502 to S503, the memory capacity of the candidate memory area is allocated to the preset memory capacity based on the preset memory allocation reference and the memory address corresponding to each candidate memory area, and the candidate memory area allocated to the preset memory capacity is determined as the target memory area. It should be noted that, in order to determine the target memory area from the multiple candidate memory areas, after obtaining the memory capacity of each candidate memory area and the memory address corresponding to each candidate memory area, the memory capacity of the candidate memory area needs to be further allocated for the preset memory capacity based on the preset memory allocation reference and the memory address corresponding to each candidate memory area.
It should be clear that the preset memory allocation criterion refers to a preset allocation criterion to be followed when allocating the memory capacity of the candidate memory area. The memory allocation reference can be acquired separately through network downloading, database calling and the like, or acquired from preset application requirement information. In some embodiments, the application requirement information may reflect a memory location addressing requirement that needs to be followed for executing the target task, and the memory location addressing requirement may constrain a memory allocation process to a preset memory capacity, so that the memory allocation criterion in some embodiments may be derived from the preset application requirement information, and further determine a candidate memory area memory capacity that needs to be allocated according to the memory location addressing requirement reflected by the application requirement information. It should be understood that, after the memory allocation criteria are determined, the memory capacity of the candidate memory areas may be assigned or randomly assigned for the preset memory capacity based on the memory address corresponding to each candidate memory area according to the memory allocation criteria.
In some exemplary embodiments of the present application, allocating the memory capacity of the candidate memory area to the preset memory capacity may specifically be to select, from the multiple candidate memory areas, a candidate memory area that needs to provide a data object for the preset memory capacity in a subsequent step by taking a memory address corresponding to each candidate memory area as a path, and may further define a data object that needs to be provided for the preset memory capacity, where the candidate memory area that provides the data object for the preset memory capacity is a target memory area. It should be noted that after the candidate memory area that needs to provide the data object for the preset memory capacity in the subsequent step is selected, that is, after the target memory area is determined, the memory identification information corresponding to the target memory area also needs to be determined as the target identification information.
It should be emphasized that the target identification information is a basis for the application program to call the data object for executing the target task, and is also a basis for the application program to recover the data object after the target task is executed, so that the target identification information can help the application program to clean the memory space, so that the garbage overall cleaning mechanism is not frequently triggered, and the running efficiency of the Java program is improved. It is emphasized that, based on the preset memory allocation criteria and the memory address corresponding to each candidate memory region, the implementation manner of allocating the memory capacity of the candidate memory region for the preset memory capacity is various, and may include, but is not limited to, the above-mentioned specific embodiments.
Through the above steps S501 to S503, content analysis is performed on the memory identification information to obtain the memory capacity of each candidate memory region and the memory address corresponding to each candidate memory region, the memory capacity of the candidate memory region is allocated to the preset memory capacity based on the preset memory allocation reference and the memory address corresponding to each candidate memory region, and the candidate memory region allocated to the preset memory capacity is determined as the target memory region. On the basis of the memory allocation reference, the memory capacity of the candidate memory area can be allocated to the preset memory capacity, and the preset memory capacity refers to the preset memory capacity required for executing the target task, so that the embodiment shown in steps S501 to S503 can adapt to the memory capacity of executing the target task to determine the target memory area, thereby reducing the occurrence of useless data objects and further improving the operating efficiency of the Java program.
Referring to fig. 6, step S502 according to some embodiments of the present application may include, but is not limited to, step S601 to step S602 described below.
Step S601, dividing the memory capacity of each candidate memory area to obtain a plurality of memory object units;
in step S602, the memory object unit is allocated to a preset memory capacity based on the memory allocation reference and the memory address corresponding to each candidate memory area.
According to some embodiments of the present disclosure, in steps S601 to S602, the memory capacity of each candidate memory area is divided to obtain a plurality of memory object units, and the memory object units are allocated to the preset memory capacity based on the memory allocation reference and the memory address corresponding to each candidate memory area.
It should be noted that, in the specific process of allocating the memory capacity of the candidate memory areas to the preset memory capacity, the memory capacity of each candidate memory area may be divided to obtain a plurality of memory object units. It should be noted that the memory object unit, i.e. the unit storing the data object in the candidate memory area, may have different storage capacities or the same storage capacity based on the partition processing of the memory capacity of the candidate memory area, so that before the memory object unit is allocated to the preset memory capacity, a plurality of memory object units need to be obtained to clarify the storage capacity of each memory object unit. It is to be understood that after the division processing is completed and a plurality of memory object units are obtained, the memory object units can be allocated to the preset memory capacity based on the memory allocation reference, the memory address corresponding to each candidate memory area, and the storage capacity of each memory object unit.
It should be noted that if the storage capacities of the memory object units are consistent in size, which is convenient for determining the memory allocation capacity, higher allocation efficiency can be provided for the process of allocating the memory object units to the preset memory capacity, and if the storage capacities of the memory object units are inconsistent in size, although the determination of the memory allocation capacity is more complicated, a more adaptive memory capacity required for executing a target task can be allocated for the preset memory capacity, so that the occurrence of useless data objects is favorably reduced, the frequency of triggering the garbage integral cleaning mechanism is further reduced, and the operating efficiency of the Java program is improved. Therefore, it is often necessary to determine the basis to be followed for the partition processing of the memory capacity of each candidate memory area in combination with the actual application scenario.
Through the above steps S601 to S602, the memory capacity of each candidate memory area is divided to obtain a plurality of memory object units, and the memory object units are allocated to the preset memory capacity based on the memory allocation reference and the memory address corresponding to each candidate memory area. The memory object units with the same or different storage capacities can be obtained through division processing, so that the memory object units can be flexibly allocated to the preset memory capacity according to the actual application scene based on the memory allocation reference and the memory address corresponding to each candidate memory area, the preset memory capacity is adapted in a mode with stronger adaptability, and the calling of the application program to the target memory object in the subsequent step is supported.
In step S104 in some embodiments of the present application, a target memory object in a target memory area is called based on the target identification information, where the called target memory object is used to execute a target task. It should be clear that the target memory object in the target memory area refers to a data object stored in the target memory area. According to some exemplary embodiments of the present application, when an application needs to execute some target tasks, a target memory object in a target memory area is called through target identification information, where the called target memory object is used to execute the target tasks. It should be emphasized that the target identification information is the memory identification information corresponding to the target memory area, and the target memory area is based on the preset application requirement information and the preset memory identification information, so that the target identification information can reflect from which storage locations of the candidate memory areas, that is, the storage locations corresponding to the target memory area, each data object that needs to be called for executing the target task is originated from. It should be emphasized that the target identification information is a basis for the application program to call the data object for executing the target task, and is also a basis for the application program to recover the data object after the target task is executed, so that the target identification information can help the application program to clean the memory space, so that the garbage overall cleaning mechanism is not frequently triggered, and the running efficiency of the Java program is improved.
Referring to fig. 7, step S104 according to some embodiments of the present application may include, but is not limited to, the following steps S701 to S703.
Step S701, locking a target memory area based on target identification information;
step S702, after locking the target memory area, obtaining a current state of each target memory object in the target memory area, where the current state includes an idle state;
in step S703, a target memory object whose current state is an idle state is called.
According to step S701 of some embodiments of the present application, a locking process is performed on a target memory area based on target identification information. It should be noted that, in a scenario where multiple target tasks are executed concurrently, a behavior that multiple target tasks operate the same target memory area may occur, for example, if a thread a and a thread B acquire the same target memory area at the same time, and only one data object θ in the target memory area is left available, the data object θ used in the thread a is Read for the first time to be data a, after the first reading, the thread B modifies the data object θ to be data B, and when the thread a uses the data object θ to perform the second reading, the obtained data B is inconsistent with the previous data a, so that a program data consistency principle is violated, so that Dirty data (Dirty Read) is generated, where Dirty data refers to that data in a source system is not within a given range or has no meaning to actual business, or a data format is illegal, and there are irregular codes and ambiguous business logic in the source system. It should be understood that there is no problem when a program runs multiple threads, and there is no problem when multiple threads access a shared resource, and there is no problem when multiple threads read the shared resource, and there is a problem when multiple threads read and write the shared resource. If there is multi-thread read-write operation to the shared resource in a code block, the code block is called as a critical area. In order to avoid that multiple target tasks operate the same target memory area, in some preferred embodiments of the present application, before calling a target memory object, a locking process needs to be performed on the target memory area based on target identification information, so as to solve problems occurring when multiple threads read and write critical resources, where the locking process is performed in various ways, which may include, but are not limited to, a blocking type locking scheme (such as Synchronized keyword locking and Lock locking mechanisms) and a non-blocking type locking scheme (such as CAS operation).
In some specific embodiments of the present application, the locking process may be performed by using a CAS policy implemented by an atomic class atomiciclegover of Java itself, where CAS is a Compare And Swap (CAS), which is a non-blocking atomic operation provided by JDK, and ensures atomicity of update operations through hardware, and allows multiple threads to modify a shared resource in a non-blocking manner, but only one thread may modify at the same time, and other threads may not block but try again. It should be noted that the atomic class atomiciInteger of Java itself includes an api method, compleAndSet, which can perform assignment operation, such as setting 0 to 1 indicates that locking is successful, and setting 1 to 0 indicates unlocking. It should be emphasized that the locking process needs to be performed on the target memory area based on the target identification information, so as to avoid a plurality of target tasks operating the same target memory area, prevent dirty data from being generated, and thus improve the operating efficiency of the Java program.
According to some embodiments of the present application, after the target memory area is locked, the current state of each target memory object in the target memory area is obtained, where the current state includes an idle state, and then the target memory object whose current state is the idle state is further called. It should be noted that after the target memory area is locked, it can be ensured that the calling process of the target memory object is not interfered by other types of processes, so that the target memory object in an idle state is found from the target memory area to be called, and normal execution of the target task can be supported, so as to improve the operating efficiency of the Java program. It should be understood that after the locking process is performed on the target memory area, there may be various embodiments for when to perform the unlocking process on the target memory area, for example, the target memory object in the idle state may be called to perform a target task, and after the part of the target memory object is recovered, the target memory area may be unlocked based on the target identification information, so as to allow other threads to perform other read/write operations on the data object in the target memory area, so that the memory space is reused; the target memory object can be converted from an idle state to a non-idle state, so that the called target memory object cannot be interfered by other threads, and the target memory object can be unlocked after being called, so that other data objects in the idle state in the target memory area can be called by other threads, and the use efficiency of the memory space is improved.
Referring to fig. 8, the current state includes a non-idle state, and step S104 according to some embodiments of the present application may further include, but is not limited to, the following steps S801 to S802.
Step S801, when the current states of all target memory objects in the target memory area are non-idle states, creating a standby memory object based on the application demand information;
in step S802, the standby memory object is called to execute the target task based on the standby memory object.
According to steps S801 to S802 in some embodiments of the present application, when the current states of all target memory objects in the target memory area are non-idle states, a spare memory object is created based on the application requirement information, and then the spare memory object is called to execute a target task based on the spare memory object. It should be noted that, if the current states of all target memory objects in the target memory area are non-idle states, it is indicated that there is no data object that can be called in the target memory area, in this case, since the preset application requirement information includes reference information that is preset and that is required by an application process for calling a memory, in some exemplary embodiments, the application requirement information can also reflect a memory creation requirement that needs to be followed for executing a target task, and therefore, a standby memory object can be further created based on the application requirement information to support normal operation of an application program. It should be noted that the standby memory object is used to provide a standby memory capacity for normally executing the target task when the current states of all target memory objects in the target memory area are non-idle states, and therefore, in some embodiments, the standby memory object needs to be periodically recycled by the garbage collector after no logic reference, so that the garbage integral cleaning mechanism is not frequently triggered, and thus, the running efficiency of the Java program can also be improved.
In step S105 of some embodiments of the present application, when the target task is executed, the target memory object is recovered to the target memory area based on the target identification information. It should be noted that when the target task is completely executed, it means that the called data object is not needed by the target task, and therefore the target memory object needs to be recycled to the target memory area to clean the useless data object. It should be emphasized that the target identification information is a basis for the application program to call the data object for executing the target task, and is also a basis for the application program to recover the data object after the target task is executed, so that the target memory object is recovered to the target memory area based on the target identification information, which can help the application program to clean the memory space, so that the garbage overall cleaning mechanism is not frequently triggered, and the running efficiency of the Java program is improved.
Referring to fig. 9, step S105 according to some embodiments of the present application includes the following steps S901 to S902.
Step S901, performing locking processing on a target memory area based on target identification information;
in step S902, after the target memory area is locked, the target memory object is recycled to the target memory area based on the target identification information.
According to steps S901 to S902 in this embodiment, when the target task is executed, the target memory area needs to be locked based on the target identification information, and after the target memory area is locked, the target memory object is recovered to the target memory area based on the target identification information. It should be emphasized that in a scenario where multiple target tasks are executed concurrently, a behavior that multiple target tasks operate the same target memory area may occur, so that the program data consistency principle is violated, and dirty data is generated. Therefore, in order to avoid that multiple target tasks operate the same target memory area, in some preferred embodiments of the present application, before a target memory object is recovered to a target memory area based on target identification information, a locking process needs to be performed on the target memory area based on the target identification information, so as to solve the problem occurring when multiple threads read and write critical resources, where the locking process may be performed in various ways, which may include, but are not limited to, a blocking type locking scheme (e.g., synchronized keyword locking and Lock locking mechanism) and a non-blocking type locking scheme (e.g., CAS operation). In some more specific embodiments of the present application, the locking process may be implemented by using a CAS policy implemented by an atomic class atomiciInteger owned by Java, so-called CAS, which refers to Compare And Swap (CAS), a non-blocking atomic operation provided by JDK, which guarantees atomicity of update operations through hardware And allows multiple threads to modify shared resources in a non-blocking manner, but only one thread may modify at the same time, and other threads may not block but try again. It should be noted that the atomic class atomiciInteger of Java itself includes an api method, compleAndSet, which can perform assignment operation, such as setting 0 to 1 indicates that locking is successful, and setting 1 to 0 indicates unlocking. It should be noted that, after the target memory object is recovered to the target memory area based on the target identification information, the unlocking operation may be further executed on the target memory area, so as to allow other threads to perform other read-write operations on the data object in the target memory area, so that the memory space is repeatedly utilized. In some embodiments, if the target memory object cannot be recovered to the target memory area based on the target identification information, the target memory object may also be recovered at regular time by the garbage collector, so that the garbage integral cleaning mechanism is not frequently triggered, and thus the Java program operation efficiency can also be improved.
Fig. 10 shows an electronic device 1000 provided in an embodiment of the present application. The electronic device 1000 includes: a processor 1001, a storage 1002, and a computer program stored in the storage 1002 and capable of running on the processor 1001, wherein the computer program is used for executing the above application memory allocation method when running.
The processor 1001 and the memory 1002 may be connected by a bus or other means.
The memory 1002, which is a non-transitory computer readable storage medium, can be used to store non-transitory software programs and non-transitory computer executable programs, such as the application memory configuration method described in the embodiments of the present application. The processor 1001 implements the application memory allocation method described above by running non-transitory software programs and instructions stored in the memory 1002.
The memory 1002 may include a storage program area, which may store an operating system, an application program required for at least one function, and a storage data area. The data storage area can store and execute the application program memory allocation method. Further, the memory 1002 may include a high speed random access memory 1002, and may also include a non-transitory memory 1002, such as at least one storage device memory device, flash memory device, or other non-transitory solid state memory device. In some embodiments, the memory 1002 may optionally include memory 1002 located remotely from the processor 1001, and such remote memory 1002 may be coupled to the electronic device 1000 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
Non-transitory software programs and instructions required to implement the application memory allocation method are stored in the memory 1002, and when executed by the one or more processors 1001, execute the application memory allocation method, for example, execute the method steps S101 to S105 in fig. 1, the method steps S201 to S202 in fig. 2, the method steps S401 to S402 in fig. 4, the method steps S501 to S503 in fig. 5, the method steps S601 to S602 in fig. 6, the method steps S701 to S703 in fig. 7, the method steps S801 to S802 in fig. 8, and the method steps S901 to S902 in fig. 9.
The embodiment of the present application further provides a computer-readable storage medium, in which computer-executable instructions are stored, and the computer-executable instructions are used for executing the application memory configuration method.
In one embodiment, the computer-readable storage medium stores computer-executable instructions that are executed by one or more control processors, for example, to perform method steps S101-S105 in fig. 1, method steps S201-S202 in fig. 2, method steps S401-S402 in fig. 4, method steps S501-S503 in fig. 5, method steps S601-S602 in fig. 6, method steps S701-S703 in fig. 7, method steps S801-S802 in fig. 8, and method steps S901-S902 in fig. 9.
The above-described embodiments of the apparatus are merely illustrative, wherein the units illustrated as separate components may or may not be physically separate, i.e. may be located in one place, or may also be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
One of ordinary skill in the art will appreciate that all or some of the steps, systems, and methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, storage device storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art. It should also be appreciated that the various implementations provided in the embodiments of the present application can be combined arbitrarily to achieve different technical effects.
While the preferred embodiments of the present invention have been described, the present invention is not limited to the above embodiments, and those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the present invention, and such equivalent modifications or substitutions are included in the scope of the present invention defined by the claims.

Claims (10)

1. An application program memory configuration method is characterized in that the memory configuration applied to a Java application program comprises the following steps:
determining a target memory space based on a preset memory partition reference, wherein the target memory space comprises a plurality of candidate memory areas;
acquiring memory identification information configured for each candidate memory area, wherein the memory identification information is used for identifying the storage position of the candidate memory area;
determining a target memory area from the candidate memory areas based on preset application demand information and the memory identification information, and determining the memory identification information corresponding to the target memory area as target identification information;
calling a target memory object in the target memory area based on the target identification information, wherein the called target memory object is used for executing a target task;
and when the target task is executed, recovering the target memory object to the target memory area based on the target identification information.
2. The method according to claim 1, wherein the determining a target memory region from the candidate memory regions based on the preset application demand information and the memory identification information comprises:
acquiring preset memory capacity required to be created based on the application demand information;
and determining the target memory area from the candidate memory areas according to the memory identification information and the preset memory capacity.
3. The method according to claim 2, wherein the obtaining the memory identification information of each candidate memory region configuration comprises:
acquiring the memory capacity of each candidate memory area in the target memory space and the memory address corresponding to each candidate memory area;
and obtaining the memory identification information configured in each candidate memory area based on the memory capacity and the memory address.
4. The method according to claim 3, wherein the determining the target memory region from the plurality of candidate memory regions according to the memory identification information and the preset memory capacity comprises:
analyzing the content of the memory identification information to obtain the memory capacity of each candidate memory area and the memory address corresponding to each candidate memory area;
allocating the memory capacity of the candidate memory area for the preset memory capacity based on a preset memory allocation standard and the memory address corresponding to each candidate memory area;
and determining the candidate memory area allocated to the preset memory capacity as the target memory area.
5. The method according to claim 4, wherein the allocating the memory capacity of the candidate memory area for the preset memory capacity based on a preset memory allocation reference and a memory address corresponding to each of the candidate memory areas comprises:
dividing the memory capacity of each candidate memory area to obtain a plurality of memory object units;
and allocating the memory object unit to the preset memory capacity based on the memory allocation standard and the memory address corresponding to each candidate memory area.
6. The method according to any one of claims 1 to 5, wherein the calling the target memory object in the target memory area based on the target identification information comprises:
locking the target memory area based on the target identification information;
after the target memory area is locked, acquiring the current state of each target memory object in the target memory area, wherein the current state comprises an idle state;
and calling the target memory object with the current state being an idle state.
7. The method of claim 6, wherein the current state comprises a non-idle state, wherein the calling the target memory object in the target memory region based on the target identification information further comprises:
when the current states of all target memory objects in the target memory area are non-idle states, establishing a standby memory object based on the application demand information;
and calling the standby memory object to execute the target task based on the standby memory object.
8. The method according to any one of claims 1 to 5, wherein the reclaiming the target memory object to the target memory area based on the target identification information comprises:
locking the target memory area based on the target identification information;
and after the target memory area is locked, recovering the target memory object to the target memory area based on the target identification information.
9. An electronic device, comprising: a memory storing a computer program, a processor implementing the application memory allocation method according to any one of claims 1 to 8 when executing the computer program.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, which is executed by a processor to implement the application memory configuration method according to any one of claims 1 to 8.
CN202211442694.5A 2022-11-17 2022-11-17 Application program memory configuration method, electronic device and computer storage medium Pending CN115729702A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211442694.5A CN115729702A (en) 2022-11-17 2022-11-17 Application program memory configuration method, electronic device and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211442694.5A CN115729702A (en) 2022-11-17 2022-11-17 Application program memory configuration method, electronic device and computer storage medium

Publications (1)

Publication Number Publication Date
CN115729702A true CN115729702A (en) 2023-03-03

Family

ID=85296382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211442694.5A Pending CN115729702A (en) 2022-11-17 2022-11-17 Application program memory configuration method, electronic device and computer storage medium

Country Status (1)

Country Link
CN (1) CN115729702A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302617A (en) * 2023-05-12 2023-06-23 苏州浪潮智能科技有限公司 Method for sharing memory, communication method, embedded system and electronic equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302617A (en) * 2023-05-12 2023-06-23 苏州浪潮智能科技有限公司 Method for sharing memory, communication method, embedded system and electronic equipment
CN116302617B (en) * 2023-05-12 2023-08-04 苏州浪潮智能科技有限公司 Method for sharing memory, communication method, embedded system and electronic equipment

Similar Documents

Publication Publication Date Title
KR101357397B1 (en) Method for tracking memory usages of a data processing system
US9213562B2 (en) Garbage collection safepoint system using non-blocking asynchronous I/O call to copy data when the garbage collection safepoint is not in progress or is completed
TWI539280B (en) Method for analyzing application not specifically designed to provide memory allocation informaion and extracting memory allocation information, and computer system and computer-readable storage medium thereof
US10002074B2 (en) Non-intrusive storage of garbage collector-specific management data
US10558564B2 (en) Pointers in a memory managed system
JP2000222281A (en) Method and device for memory allocation in multithread virtual machine
US9069477B1 (en) Reuse of dynamically allocated memory
CN104424030B (en) Method and device for sharing memory by multi-process operation
WO2009098547A1 (en) Memory management
TW201301029A (en) Memory manager with enhanced application metadata
US11074179B2 (en) Managing objects stored in memory
US11994988B2 (en) Multi-ring shared, traversable, and dynamic advanced database
WO2022120522A1 (en) Memory space allocation method and device, and storage medium
CN115729702A (en) Application program memory configuration method, electronic device and computer storage medium
CN114595164B (en) Method and apparatus for managing TLB cache in virtualized platform
US10417121B1 (en) Monitoring memory usage in computing devices
CN116661690A (en) Method, device, computer equipment and storage medium for recording memory state
CN115756838A (en) Memory release method, memory recovery method, memory release device, memory recovery device, computer equipment and storage medium
US8689230B2 (en) Determination of running status of logical processor
KR101950759B1 (en) Garbage collection method for performing memory controller of storage device and memory controler
WO2017142525A1 (en) Allocating a zone of a shared memory region
KR101861851B1 (en) Chunk allocation method for performing memory controller of storage device and memory controler
US10521155B2 (en) Application management data
CN112817766B (en) Memory management method, electronic equipment and medium
AU2014268230A1 (en) Cyclic allocation buffers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination