Embodiments of the invention comprise a method and apparatus for avoiding array class creation in, for example, virtual machines for object-oriented programming languages. Embodiments of the invention reduce the internal structures created for arrays at runtime, thereby reducing memory consumption. Unlike in a traditional implementation, where a separate array class is created for each array of different type, in an embodiment of the invention the type information is stored in array instances instead. Array classes are not created at all. Rather, the root class of the class hierarchy (e.g., "java.lang.Object") is used as the class of each array instance. When an array instance is instantiated, a reference to the "java.lang.Object" class is created in the class field of the array instance and the type information is stored in the instance itself. In one embodiment of the invention, an integer type value is stored in a special type field of the array instance. The type field can be part of an existing field or a new field of the array instance. In an alternate embodiment of the invention, a type field is included in an array instance that can contain a reference, or pointer, to the element type class for the array.

As incorporações da invenção compreendem um método e um instrumento para evitar a criação da classe da disposição em, para o exemplo, máquinas virtuais para línguas de programação object-oriented. As incorporações da invenção reduzem as estruturas internas criadas para disposições no runtime, desse modo reduzindo o consumo da memória. Ao contrário de uma execução tradicional, onde uma classe separada da disposição seja criada para cada disposição do tipo diferente, em uma incorporação da invenção o tipo informação é armazenado dentro em exemplos da disposição preferivelmente. As classes da disposição não são criadas em tudo. Rather, a classe da raiz da hierarquia da classe (por exemplo, "java.lang.Object") é usada como a classe de cada exemplo da disposição. Quando um exemplo da disposição é instantiated, uma referência à classe de "java.lang.Object" é criada no campo da classe do exemplo da disposição e o tipo informação é armazenado no exemplo próprio. Em uma incorporação da invenção, um tipo valor do inteiro é armazenado em um tipo especial campo do exemplo da disposição. O tipo campo pode ser parte de um campo existente ou de um campo novo do exemplo da disposição. Em uma incorporação alterna da invenção, um tipo campo é incluído em um exemplo da disposição que possa conter uma referência, ou no ponteiro, ao tipo classe do elemento para a disposição.

 
Web www.patentalert.com

< Automated control of interactive application execution using defined time periods

< Dynamic evaluation logic system and method

> Method for patterning a silicon-on-insulator photomask

> Fast suspend to disk

~ 00069