发明名称 Sharing applications in a java virtual machine
摘要 Disclosed are various embodiments for executing multiple Java applications in a single Java virtual machine. Each Java application is stored in a Java distribution and includes a plurality of classes. The executing includes translating an access to a non-shareable static field within one of the classes into an access to mapping data associated with the non-shareable static field. The executing further includes executing an initializer associated with the non-shareable static field when the mapping data is created.
申请公布号 US9075640(B1) 申请公布日期 2015.07.07
申请号 US201012974912 申请日期 2010.12.21
申请人 AMAZON TECHNOLOGIES, INC. 发明人 O'Neill Brian S.;Trahan Matthew L.;Chakravarthy Diwakar
分类号 G06F9/44;G06F9/445;G06F9/455 主分类号 G06F9/44
代理机构 Thomas | Horstemeyer, LLP 代理人 Thomas | Horstemeyer, LLP
主权项 1. A method comprising: executing, via at least one of one or more computing devices, a Java application in a Java virtual machine, the Java application stored in a Java distribution file, and wherein executing the Java application includes: building, via at least one of the one or more computing devices, a class loader dependency graph describing a plurality of classes used by the Java application;conducting, via at least one of the one or more computing devices, a first traversal of the class loader dependency graph, and for individual ones of the plurality of classes during the first traversal of the class loader dependency graph: finding, via at least one of the one or more computing devices, at least one non-shareable static field within a respective class of the plurality of classes;creating, via at least one of the one or more computing devices, mapping data associated with the Java application, the mapping data comprising a respective mapped field corresponding to the at least one non-shareable static field, the mapping data being stored in a hash table, and the mapping data being created to be accessible by an identifier associated with a deployment containing the Java application; andgenerating, via at least one of the one or more computing devices, an initializer associated with the at least one non-shareable static field when the mapping data is created; andconducting, via at least one of the one or more computing devices, a second traversal of the class loader dependency graph, and during the second traversal; translating, via at least one of the one or more computing devices, an access to the at least one non-shareable static field within the at least one of the plurality of classes into a translated access to the mapping data associated with the at least one non-shareable static field.
地址 Settle WA US