CN102147734A - Runtime class extracting method and system - Google Patents
Runtime class extracting method and system Download PDFInfo
- Publication number
- CN102147734A CN102147734A CN2010101105784A CN201010110578A CN102147734A CN 102147734 A CN102147734 A CN 102147734A CN 2010101105784 A CN2010101105784 A CN 2010101105784A CN 201010110578 A CN201010110578 A CN 201010110578A CN 102147734 A CN102147734 A CN 102147734A
- Authority
- CN
- China
- Prior art keywords
- class
- during
- virtual machine
- loading bin
- module
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The invention relates to a runtime class extracting method and a system. The method comprises the following steps: a system class loader is established in a virtual machine; an operation on an application running in the virtual machine is supported, wherein the application is related to a plurality of runtime classes; the operation is related to one or more runtime classes in the plurality of runtime classes; the class path information of each runtime class in one or more runtime classes is determined; the context information leads the system class loader to be able to locate the runtime classes so that the runtime classes are loaded to the virtual machine; by virtue of the system class loader, the class path information of one or more runtime classes is recorded; and according to the recorded class path information, one or more runtime classes are extracted.
Description
Technical field
The present invention relates to java runtime environment, the device of class when relating in particular to the operation of extracting various application.
Background technology
Software library is the set of related objective code, such as the use of the java class in the Java language.Software library generally is encapsulated in such as Java and files in the module of (Jar) file.In the Java environment, in when operation, class loaders is responsible for locating the storehouse, reads its content and a class that is included in the storehouse is loaded in the Java Virtual Machine (JVM).Common class is that each time-like in these classes of the actual use of program loads as required.Class loaders makes runtime system not need to understand the accurate structure of bottom document system and middle file thereof.
The enterprise-level software application such as application server, can comprise number of modules or Jar.Each standalone module or Jar only comprise the subclass of the function in the bigger application.Class loaders can be loaded into the disparate modules of enterprise-level software application or Jar in the virtual machine, thereby some function is provided.In some cases, not that each module or Jar are loaded onto in the virtual machine, because only use the subclass of the function of enterprise-level software application.This just the embodiments of the invention intended use in general field.
Summary of the invention
According to an embodiment, the class when application that moves on virtual machine comprises a plurality of operation.Class was loaded in the virtual machine when class loaders can be the one or more operation in a plurality of when operation class, to support the operation to application.The contextual information of class when in addition, class loaders can write down each operation in described one or more when operation class.According to record each in when operation class contextual information, class in the time of can extracting described one or more operation.
In one aspect, a kind of method of extracting class when moving comprises: set up the system class loading bin in virtual machine; The operation that support is carried out the application that moves on described virtual machine, wherein said application during with a plurality of operation class related, and described operation during with described a plurality of the operation during the one or more operation in the class class related; The class.path information of class when determining each operation in described one or more when operation class, class when wherein contextual information makes the system class loading bin can locate described operation is so that class is loaded in the described virtual machine during with described operation; By described system class loading bin, write down the class.path information of described one or more when operation class; With class.path information according to record, class when extracting described one or more operation.
In one aspect of the method, a kind of system that extracts class when moving comprises: the system class loading bin; When class when the application that moves on virtual machine, wherein said application comprise a plurality of operation, wherein said a plurality of operation in the class each is suitable for being loaded in the virtual machine by described system class loading bin; Wherein said system class loading bin is associated with described virtual machine, and the operation of described system class loading bin with: support operation that the described application that moves is carried out on described virtual machine, wherein said application during with a plurality of operation class be associated, and described operation during with described a plurality of operation during the one or more operation in the class class be associated; The class.path information of class when determining each operation in described one or more when operation class, class when wherein contextual information makes the system class loading bin can locate described operation is so that class is loaded in the described virtual machine during with described operation; By described system class loading bin, write down the class.path information of described one or more when operation class.
In one aspect of the method, a kind of system that extracts class when moving comprises: the device that is used for setting up at virtual machine the system class loading bin; Be used to support the device of operation that the application that moves is carried out on described virtual machine, wherein said application during with a plurality of operation class be associated, and described operation during with described a plurality of the operation during the one or more operation in the class class be associated; The device of the class.path information of class during each operation of class when being used for determining described one or more operation, class when wherein contextual information makes the system class loading bin can locate described operation is so that class is loaded in the virtual machine during with described operation; Be used for by described system class loading bin, write down the device of the class.path information of described one or more when operation class; Be used for according to the class.path information that is write down, extract the device of described one or more when operation class.
Description of drawings
Fig. 1 be expression according to an embodiment, the diagrammatic sketch of an example of class extraction apparatus during operation in the virtual machine.
Fig. 2 be expression according to an embodiment, the diagrammatic sketch of an example of class extraction apparatus during operation in JVM class loaders level and client model.
Fig. 3 be according to an embodiment in virtual machine, extract operation the time class the process flow diagram of method.
Embodiment
The present invention is understood in the exemplary graph explanation in the accompanying drawing, but is not limitation of the present invention, and similar Reference numeral is represented similar element in the accompanying drawing.Should note in the disclosure quoting of " " or " some " embodiment not necessarily being referred to identical embodiment, this quoting meaned at least one.
The description of following embodiments of the invention is used
Application server functionality or storehouse are as the example in application server functionality or storehouse.To one skilled in the art, obviously can use the application server functionality or the storehouse of other kind, and unrestricted.
According to an embodiment, enterprise-level application servers can comprise number of modules or Jar.Can create independently module or Jar, to comprise the specific function subclass in the bigger application.Create independently module or Jar and be when only needing a function subset,, reduce whole the taking up room (footprint) of system and/or application by class or the source file that does not comprise unnecessary function with the advantage that only comprises the specific function subclass.
For example, web service client Jar can be provided in the distolateral freestanding environment of web services client, and application server is not installed.The needs of all client features in the time of can selecting the incompatible satisfied operation of the minimal set of class, and still make to take up room and keep as much as possible little.
According to an embodiment, a kind of method of selecting the minimal set of class is to analyze the source code of realizing enterprise-level application servers, and selects client application needed associated class and file when operation.But, analyze common quite a large amount of time of needs of source code (comprising the dependence of considering each class) by class ground.
According to an embodiment, class extraction apparatus when selecting a kind of alternative approach of the minimal set of class to be to use operation, class when the class extraction apparatus can write down operation when all loadings when using the one or more specific function of execution during described operation.
Fig. 1 be expression according to an embodiment, the diagrammatic sketch of the example of class extraction apparatus during operation in the virtual machine.As shown in fig. 1, use 101 operations on class 110,111,112,113 and 114 the virtual machine 100 when comprising a plurality of operation.Class can be included in several different modules or Jar 107 and 108 during these operations.According to an embodiment, class A.Class 110 can be comprised in different Jar 107 and 108 with 113 during identical operation.In addition, virtual machine 100 is related with class loaders 102, and class loaders 102 can be loaded in when operation class 110,111,112,113 and 114 each in the virtual machine 100.
Application 101 provides can be by one or more operations of user's execution.Class 110,111,112,113 or 114 was carried out when every kind of operation was based on the one or more operation that is written into by class loaders 102.According to an embodiment, class when class loaders 102 is modified to one or more operation that record uses when carrying out described one or more operations.
According to an embodiment, when operation, virtual machine such as Java Virtual Machine (JVM), uses the dynamic class loading attachment that the class that needs is loaded into the JVM from the class.path definition.Class recorded the record class loaders in the file when class extraction apparatus used responsible load classes also the operation of selection during operation.The system class loading bin is configured to guarantee that the class of all needs is all by this record class loaders loading.
Fig. 2 be expression according to an embodiment, the diagrammatic sketch of an example of class extraction apparatus during operation in JVM class loaders level and the client model.As shown in Figure 2, all java runtime class loaders are entrusted to guiding class loaders 201 (being commonly referred to basic class loaders) directly or indirectly.Use normal the term of execution, use application class loading bin 203 by expansion class loaders 202 during various operation class be loaded in the virtual machine.
Class when system class loading bin 204 can be used to extract operation.System class loading bin 204 is a kind of self-defining class loaders, and it can be configured to use other sub level class loaders 205, and by the path that the definition class name of class loaders and virtual machine can the positioning system loading bins, can be activated in virtual machine.
For example, can utilize option: Djava.system.class.loader and Xbootclasspath in JVM, to stipulate the java class loading bin.The class name of Djava.system.class.loader option definition class loaders; The path that Xbootclasspath option define system loading bin is positioned at.
According to an embodiment, system class loading bin 204 can be entrusted to another class loaders 207 to its function inside, to receive class.path URL definition.Vicarial class loaders 207 can be the record class loaders of expansion from URL class loaders 206.When entrusted by the system class loading bin, vicarial class loaders or record class loaders 207 can be worked, thereby replace application class loading bin 203 to load class when moving.
According to an embodiment, record class loaders 207 can be according to predetermined target class path 208 location classes.The actual CLASSPATH definition of class or Jar can be taked " pre_URLs when for example, being used for positioning trip by class loaders; Ce_URLs; Post_URLs " form.
According to an embodiment, can divide a plurality of partly objective definition class.paths, such as pre_classpath, ce_classpath and post_classpath.If load the one or more classes in particular module or the jar when operation, the ce_classpath in target class path partly defines the module or the Jar that need be recorded so.Pre_classpath partly defines API Jar or the storehouse that comprises in the Java platform, such as the module or the Jar of JDK storehouse (tools.jar).According to an embodiment, the class that when operation, does not need to write down these Jar or come from these Jar.Similarly, do not need to write down the module of the post_classpath part that comes from the target class path or the class among the Jar.The module or the Jar of definition comprise the one or more classes that also define in another jar in the post_classpath part, and described another jar is defined in the ce-classpath in target class path part.
For example, A1.jar comprises A.class, B.class and C.class; A2.jar comprises A.clsaa and D.class; A1.jar is defined among the ce-classpath, and all classes among the A1.jar all need to be recorded.Thereby, need in post_classpath, define A2.jar, because A2.jar comprises A.class (it is the part of the A1.jar that defines) and do not need to be recorded in ce-classpath D.class.
According to an embodiment, can when operation class contextual information record in the log file.This contextual information comprises that the fully qualified name of class claims (full-qualified name) and physical location.In addition, log file can use form as shown in table 1.
class-full-name@location-of-the-class e.g. sample.package.HelloWorld@d:/sample_dir/lib/sample.jar |
Table 1: the sample format of log file
According to an embodiment, after the record class, can produce one or more modules or Jar class and relevant resource to comprise selection.Can be at new class.path, such as the module or the Jar of all generations of definition in the regenerated_jars class.path.Also the updatable object class.path is to comprise the pre_classpath in the user environment, regenerated_jars and post_classpath.By utilizing and using the initial application class loaders 203 that is associated, according to the target class path of upgrading, class is loaded in the virtual machine in the time of can be the operation of writing down.Do not need to revise initial application class loaders 203.
According to an embodiment, record class loaders 207 can use loadClass () method.This method is responsible for according to above-mentioned three kind path definition load classes, and if described class be located in the module or jar of definition in the ce_classpath part of destination path, write down each class so once.
According to an embodiment, can determine the physical location of this java class according to the code source in the protected field of a java class.Code source is the encapsulation that can obtain the position of java class from it, and protected field is particular code source and the encapsulation of authorizing the permission of this code source.If do not find protected field, perhaps in protected field, do not find the physical location of java class, can perhaps determine the position of this java class according to the class loaders of this java class so according to system class loading bin (if the disabled words of the class loaders of this java class).
Fig. 3 is the process flow diagram of the method for class when moving according to the extraction in the virtual machine of an embodiment.As shown in Figure 3, in step 301, with virtual machine that class loaders is associated in application is provided.When class when this application comprises a plurality of operation, described a plurality of operation in the class each can both be loaded in the virtual machine by class loaders.In step 302, can carry out the one or more operations that provide by this application subsequently.Described one or more operation during with one or more operation class be associated, and class loaders can be described one or more operation the time class be loaded in the virtual machine.Class when extracting relevant operation, in step 303, the Name ﹠ Location of class when class loaders can write down described one or more operation.At last in step 304, class is created new copy when being the operation of each record, and is encapsulated into again independently among module or the jar, perhaps class when removing all operations that are not recorded, class in the time of can extracting described one or more operation.
In an embodiment, class extraction apparatus in the time of can in Java Virtual Machine (JVM), setting up operation.Table 2 is examples that the enough java orders of energy realize the java option of described extraction apparatus.
export?JAVA_OPTS=″ -Djava.system.class.loader=myce.CESystemCL\ -Xbootclasspath=myce.jar\ -Dce.pre.class.path=′some?pre?jars...′\ -Dce.class.path=′some?product?jars...′\ -Dce.post.class.path=′some?post?jars...′″ |
Table 2: can order the sample java option of realizing extraction apparatus by enough java
According to an embodiment, the system class loading bin can load class and writing function is entrusted to the record class loaders.Table 3 expression is used for the false code of system class loading bin and takes passages.
public class CESystemCL extends ClassLoader { private RecordCL rloader=null; public CESystemCL(ClassLoader parent){ super(parent); //make extClassLoader as parent while(parent.getParent()!=null) parent=parent.getParent(); //get ce.pre.class.path,ce.class.path,ce.post.class.path from system //properties with sun.misc.URLClassPath.pathToURLs()... //construct all jars from above 3 urls... allJars=... rloader=new RecordCL(allJars,parent); } @Override protected synchronized Class<?>loadClass(String name,boolean resolve)throws classNotFoundException{ //delegate to RecordCL return rloader.loadClass(name,resolve); } |
@Override public?URL?getResource(String?name){ return?rloader.getResource(name); } @Override public?Enumeration<URL>getResources(String?name)throws IOException{ return?rloader.getResources(name); } |
Table 3: the false code that is used for the system class loading bin is taken passages
According to an embodiment, the position of class when the record class loaders can be determined operation according to predetermined class.path information, thus class is loaded in the virtual machine during operation.Table 4 expression is used to write down the false code extracts of class loaders.
public class RecordCL extends URLClassLoader{ public RecordCL(URL[]alljars,ClassLoader parent){ super(alljars,parent); this.parent=parent; } public Class<?>loadClass(String name,boolean resolve) throws ClassNotFoundException { //load class and get the location of the class ...... //if the location is in ce.classpath,record it ...... } public URL findResource(final String name){ URL ret=super.findResource(name); //record it if the url is not null and required return ret; } public Enumeration<URL>findResources(final String name) throws IOException{ |
Enumeration<URL>ret =super.findResources(name); //record?it?if?required. return?ret; } |
Table 4: the false code extracts that is used to write down class loaders
According to an embodiment, the class extraction apparatus is absorbed in the realization of record class loaders during operation, avoids revising the realization of different application class loaders.By convention, the class extraction apparatus can be found out when operation during operation, for supporting the specific one group of necessary class of function in the bigger application.In addition, do not need to revise significantly the code of application.
According to an embodiment, if the complete code that can not be implemented in when moving covers, need so to determine some class dependence, and therefore, these classes possibly can't be recorded and extract.
Utilization can realize the present invention expediently according to the conventional universal or special digital machine or the microprocessor of instruction programming of the present disclosure.Concerning the technician of software field, obviously according to instruction of the present disclosure, skilled programming personnel can easily prepare the appropriate software coding.
In certain embodiments, the present invention includes a kind of computer program, described computer program is a kind of storage medium of preserving instruction, and described instruction can be used to computer programming, to realize any processing of the present invention.Described storage medium can include, but are not limited to the disk of any kind, comprises floppy disk, CD, DVD, CD-ROM, micro hard disk and magneto-optic disk; ROM, RAM, EPROM, EEPROM, DRAM, VRAM, flash memory devices, magnetic or optical card, nanosystems (comprising molecular memory IC) or be suitable for held instruction and/or the medium or the device of any kind of data.
Provide above-mentioned explanation of the present invention for illustrational purpose.But above-mentioned explanation is also not exhaustive, also is not intended the present invention is confined to disclosed concrete form.To one skilled in the art, many modifications and variations all are conspicuous.Obviously can utilize other code language, and use technology described herein with different codes.
In order to explain principle of the present invention and practical application thereof best, thereby make others skilled in the art select and to have described a plurality of embodiment understanding the present invention aspect the various embodiment of the special applications that is suitable for expecting and the various modification.Scope of the present invention is limited by following claim and equivalent thereof.
According to an embodiment, a kind of machine readable media has storage instruction thereon, when carrying out this instruction, makes system: set up the system class loading bin in virtual machine; The operation that support is carried out the application that moves on described virtual machine, wherein said application during with a plurality of operation class be associated, and described operation during with described a plurality of the operation during the one or more operation in the class class be associated; The class.path information of class when determining each operation in described one or more when operation class, class when wherein contextual information makes the system class loading bin can locate described operation is so that class is loaded in the virtual machine during with described operation; By described system class loading bin, write down the class.path information of described one or more when operation class; With according to the class.path information that is write down, class when extracting described one or more operation.
Claims (29)
1. method of extracting when operation class comprises:
In virtual machine, set up the system class loading bin;
The operation that support is carried out the application that moves on described virtual machine, wherein said application during with a plurality of operation class related, and described operation during with described a plurality of the operation during the one or more operation in the class class related;
The class.path information of class when determining each operation in described one or more when operation class, class when wherein contextual information makes the system class loading bin can locate described operation is so that class is loaded in the described virtual machine during with described operation;
By described system class loading bin, write down the class.path information of described one or more when operation class; With
According to the class.path information of record, class when extracting described one or more operation.
2. also comprise in accordance with the method for claim 1:
Class is included in one or more modules during described a plurality of operation.
3. also comprise in accordance with the method for claim 2:
If class when having write down at least one operation at least one module that is included in described one or more module, then hereof with described at least one module records.
4. also comprise in accordance with the method for claim 1:
Class copies in the module of new generation during with described one or more operation.
5. also comprise in accordance with the method for claim 4:
The new module that produces is added in the target class path that can be employed the class loaders use.
6. also comprise in accordance with the method for claim 1:
Select the minimal set of class, the minimal set of described class can be supported the execution of one or more operations.
7. also comprise in accordance with the method for claim 1:
Class when loading described one or more operation from predetermined target class path.
8. also comprise in accordance with the method for claim 7:
Class during the described one or more operation of definition in a part in predetermined target class path.
9. also comprise in accordance with the method for claim 1:
Class during described a plurality of operation of deletion except described one or more when operation class.
10. also comprise in accordance with the method for claim 1:
By described system class loading bin, class loaded and recording processing is entrusted to and entrusted class loaders.
11. a system that extracts class when moving comprises:
The system class loading bin;
When class when the application that moves on virtual machine, wherein said application comprise a plurality of operation, wherein said a plurality of operation in the class each is suitable for being loaded in the virtual machine by described system class loading bin;
Wherein said system class loading bin is associated with described virtual machine, and described system class loading bin operation with:
The operation that support is carried out the described application that moves on described virtual machine, wherein said application during with a plurality of operation class be associated, and described operation during with described a plurality of the operation during the one or more operation in the class class be associated;
The class.path information of class when determining each operation in described one or more when operation class, class when wherein contextual information makes the system class loading bin can locate described operation is so that class is loaded in the described virtual machine during with described operation; And
By described system class loading bin, write down the class.path information of described one or more when operation class.
12. according to the described system of claim 11, wherein:
Class is included in one or more modules during described a plurality of operation.
13. according to the described system of claim 12, wherein:
Be included in class when at least one at least one module moved in described one or more module if write down, then hereof with described at least one module records.
14., also comprise according to the described system of claim 11:
The module of the new generation of class when comprising one or more operation of being extracted.
15. according to the described system of claim 14, wherein:
The module of described new generation is added in the target class path that the application class loading bin that is associated with described application can use.
16., also comprise according to the described system of claim 11:
Definition will be loaded onto in the virtual machine one or more when operation class the target class path.
17. according to the described system of claim 16, wherein:
Class during the described one or more operation of definition in a part of intended target class.path.
18., also comprise according to the described system of claim 11:
Entrusted the class loaders of being entrusted of carrying out the processing of class loading by described system class loading bin.
19., also comprise according to the described system of claim 11:
Produce the extraction apparatus of the new generation module of class when comprising described one or more operation according to the class.path information that write down.
20. a system that extracts class when moving comprises:
Be used for setting up the device of system class loading bin at virtual machine;
Be used to support the device of operation that the application that moves is carried out on described virtual machine, wherein said application during with a plurality of operation class be associated, and described operation during with described a plurality of the operation during the one or more operation in the class class be associated;
The device of the class.path information of class during each operation of class when being used for determining described one or more operation, class when wherein contextual information makes the system class loading bin can locate described operation is so that class is loaded in the virtual machine during with described operation;
Be used for by described system class loading bin, write down the device of the class.path information of described one or more when operation class; With
Be used for according to the class.path information that is write down, extract the device of described one or more when operation class.
21., also comprise according to the described system of claim 20:
Be used for described a plurality of when operation class be included in the device of one or more modules.
22., also comprise according to the described system of claim 21:
If class when being used for writing down at least one operation at least one module that is included in described one or more modules is then with described at least one module records device hereof.
23., also comprise according to the described system of claim 20:
Be used for described one or more when operation class copy the device of the module of new generation to.
24., also comprise according to the described system of claim 23:
Be used for the new module that produces is added to the device in the target class path that can be employed the class loaders use.
25., also comprise according to the described system of claim 20:
Be used to select the device of the minimal set of class, the minimal set of described class can be supported the execution of one or more operations.
26., also comprise according to the described system of claim 20:
The device of class when being used for loading described one or more operation from predetermined target class path.
27., also comprise according to the described system of claim 26:
The device that is used for class when the described one or more operation of a part definition in predetermined target class path.
28., also comprise according to the described system of claim 20:
The device of class during described a plurality of operation when being used to delete the class except described one or more operation.
29., also comprise according to the described system of claim 20:
Be used for by described system class loading bin, class loading and recording processing are entrusted to the device of being entrusted class loaders.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010110578.4A CN102147734B (en) | 2010-02-10 | 2010-02-10 | The method and system that during operation, class is extracted |
US12/752,412 US8473936B2 (en) | 2010-02-10 | 2010-04-01 | System and method for runtime class extracting |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010110578.4A CN102147734B (en) | 2010-02-10 | 2010-02-10 | The method and system that during operation, class is extracted |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102147734A true CN102147734A (en) | 2011-08-10 |
CN102147734B CN102147734B (en) | 2016-01-13 |
Family
ID=44354658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010110578.4A Active CN102147734B (en) | 2010-02-10 | 2010-02-10 | The method and system that during operation, class is extracted |
Country Status (2)
Country | Link |
---|---|
US (1) | US8473936B2 (en) |
CN (1) | CN102147734B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931185A (en) * | 2020-08-11 | 2020-11-13 | 深信服科技股份有限公司 | Java anti-serialization vulnerability detection method and component |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9841982B2 (en) * | 2011-02-24 | 2017-12-12 | Red Hat, Inc. | Locating import class files at alternate locations than specified in classpath information |
US8739147B2 (en) * | 2011-04-15 | 2014-05-27 | International Business Machines Corporation | Class isolation to minimize memory usage in a device |
US9507613B2 (en) * | 2012-03-30 | 2016-11-29 | Oracle International Corporation | Methods and apparatus for dynamically preloading classes |
US9251026B2 (en) * | 2012-03-31 | 2016-02-02 | Bmc Software, Inc. | Application instrumentation code extension |
US10394528B2 (en) | 2016-03-30 | 2019-08-27 | Oracle International Corporation | Returning a runtime type loaded from an archive in a module system |
US10191753B2 (en) | 2016-03-30 | 2019-01-29 | Oracle International Corporation | Generating verification metadata and verifying a runtime type based on verification metadata |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040015936A1 (en) * | 2001-05-22 | 2004-01-22 | Sun Microsystems, Inc. | Dynamic class reloading mechanism |
US20050060698A1 (en) * | 2003-09-11 | 2005-03-17 | International Business Machines Corporation | Mechanism for loading plugin classes at an appropriate location in the class loader hierarchy |
US20080222624A1 (en) * | 2005-09-13 | 2008-09-11 | International Business Machines Corporation | Method and Apparatus for Classpath Optimization in a Java Runtime Environment |
US7647336B2 (en) * | 2006-02-09 | 2010-01-12 | International Business Machines Corporation | Creating a real-time class package to class archive file mapping index |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6072953A (en) * | 1997-09-30 | 2000-06-06 | International Business Machines Corporation | Apparatus and method for dynamically modifying class files during loading for execution |
US5966702A (en) * | 1997-10-31 | 1999-10-12 | Sun Microsystems, Inc. | Method and apparatus for pre-processing and packaging class files |
GB9825102D0 (en) * | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
US6429860B1 (en) * | 1999-06-15 | 2002-08-06 | Visicomp, Inc. | Method and system for run-time visualization of the function and operation of a computer program |
US7069550B2 (en) * | 2001-12-21 | 2006-06-27 | International Business Machines Corporation | Delegation-based class loading of cyclically dependent components |
US7039923B2 (en) * | 2002-04-19 | 2006-05-02 | Sun Microsystems, Inc. | Class dependency graph-based class loading and reloading |
US7665080B2 (en) * | 2003-02-12 | 2010-02-16 | Bea Systems, Inc. | System and method for using a classloader hierarchy to load software applications |
US7337434B2 (en) * | 2003-04-29 | 2008-02-26 | Sony Ericsson Mobile Communications Ab | Off-device class/resource loading methods, systems and computer program products for debugging a Java application in a Java micro device |
US7721277B1 (en) * | 2004-06-08 | 2010-05-18 | Oracle America, Inc. | Hot deployment of shared modules in an application server |
US7398523B2 (en) * | 2004-08-19 | 2008-07-08 | International Business Machines Corporation | Adaptive class loading |
US7941402B2 (en) * | 2004-09-24 | 2011-05-10 | Sap Ag | Storing and using classes in databases |
US7685589B2 (en) * | 2004-10-14 | 2010-03-23 | Microsoft Corporation | File loading synchronization |
GB0427670D0 (en) * | 2004-12-16 | 2005-01-19 | Ibm | Methods, systems and computer program products for loading a resource |
US7954096B2 (en) * | 2005-09-12 | 2011-05-31 | Oracle International Corporation | Shared loader system and method |
US7784043B2 (en) * | 2005-09-12 | 2010-08-24 | Oracle International Corporation | Method and system for automated code-source indexing in Java Virtual Machine environment |
US7814472B2 (en) * | 2005-09-12 | 2010-10-12 | Oracle International Corporation | System and method for shared code-sourcing in a Java Virtual Machine environment |
GB0522939D0 (en) * | 2005-11-10 | 2005-12-21 | Ibm | Shared classes cache computer system and method therefor |
US8250559B2 (en) * | 2006-04-12 | 2012-08-21 | Oracle America, Inc. | Supporting per-program classpaths with class sharing in a multi-tasking virtual machine |
US20070276901A1 (en) * | 2006-05-23 | 2007-11-29 | Bhp Billiton Innovation Pty Ltd. | Method and system for providing a graphical workbench environment with intelligent plug-ins |
GB2459681B (en) * | 2008-04-30 | 2012-04-25 | Vmware Inc | a computer system and a method of deploying an application in a computer system |
-
2010
- 2010-02-10 CN CN201010110578.4A patent/CN102147734B/en active Active
- 2010-04-01 US US12/752,412 patent/US8473936B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040015936A1 (en) * | 2001-05-22 | 2004-01-22 | Sun Microsystems, Inc. | Dynamic class reloading mechanism |
US20050060698A1 (en) * | 2003-09-11 | 2005-03-17 | International Business Machines Corporation | Mechanism for loading plugin classes at an appropriate location in the class loader hierarchy |
US20080222624A1 (en) * | 2005-09-13 | 2008-09-11 | International Business Machines Corporation | Method and Apparatus for Classpath Optimization in a Java Runtime Environment |
US7647336B2 (en) * | 2006-02-09 | 2010-01-12 | International Business Machines Corporation | Creating a real-time class package to class archive file mapping index |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931185A (en) * | 2020-08-11 | 2020-11-13 | 深信服科技股份有限公司 | Java anti-serialization vulnerability detection method and component |
Also Published As
Publication number | Publication date |
---|---|
US20110197183A1 (en) | 2011-08-11 |
US8473936B2 (en) | 2013-06-25 |
CN102147734B (en) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104793946B (en) | Dispositions method and system are applied based on cloud computing platform | |
CN102147734A (en) | Runtime class extracting method and system | |
CN1230744C (en) | realization of isertion type system soft ware patch and control method | |
CN101719077B (en) | Method and device for injecting codes in .Net program | |
CN104102506B (en) | A kind of Android Acceleration of starting methods based on ARM platforms | |
TW202101199A (en) | System and method for executing different types of blockchain contracts | |
CN105224370A (en) | A kind of method and apparatus of loading ELF document | |
CN101110055B (en) | Device for implementing general use pile function in unit test and implementing method thereof | |
US20110023007A1 (en) | Associating Workflows With Code Sections In A Document Control System | |
CN104769598B (en) | System and method for detecting unauthorized applications | |
CN102799461A (en) | Execution method and device of application, and electronic equipment | |
EP2901348A1 (en) | Application randomization | |
WO2021092502A1 (en) | Just-in-time containers | |
CN103631712B (en) | A kind of medelling software critical behavior tracking based on memory management | |
CN101650663A (en) | Database system and upgrading method thereof | |
CN101719074A (en) | patch-realizing method and device | |
US8141042B2 (en) | Extending portability of java code through the use of AOP | |
CN104375858A (en) | Method and device for multiple browser platforms to execute javascript | |
CN108647061A (en) | Call method, device and the computing device of system hidden method | |
CN104685443A (en) | Pinning boot data for faster boot | |
CN101002174B (en) | Method for loading software with an intermediate object oriented language in a portable device | |
US20090217022A1 (en) | Method and apparatus for loading classes and re-organizing class archives | |
US20150347745A1 (en) | Method for extracting executable code of application using memory dump | |
CN111984595B (en) | File processing method and device and storage medium | |
CN115080114B (en) | Application program transplanting processing method, device and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |