Claims
- 1. A Java computing environment, wherein said environment comprises:
a Java string object representation suitable for representation of a Java string including one or more characters; wherein said Java string is represented in an array of one byte characters in a memory portion of said Java computing environment; and wherein said Java string object representation includes an array representation flag, said array representation flag being set to a first state to indicate that said Java string represents an array of one byte characters.
- 2. A Java computing environment as recited in claim 1, wherein said Java string object representation further includes:
an array reference field, said array reference field being a reference to said array; a class field, said class field being a reference to a Java class; and a length field, said length representing the length of said array.
- 3. A Java computing environment as recited in claim 1, wherein said environment further comprises:
at least one Java constructor suitable for instantiating said Java string object; and at least one Java method suitable for performing one or more operations on said Java string object.
- 4. A Java computing environment as recited in claim 3, wherein said at least one Java constructor and said at least one Java method are provided in a Java library.
- 5. In a Java programming environment, a method of instantiation of a Java string object, said method comprising:
receiving one or more characters; determining whether an array of one-byte characters or an array of two-byte characters should be allocated to represent said Java string object; allocating an array of one-byte characters to represent said Java string object when said determining determines that said Java string object should be allocated as an array of one-byte characters; setting an array representation flag to a first state when said determining determines that said Java string object should be allocated as an array of one-byte characters; allocating an array of two-byte characters to represent said Java string object when said determining determines that said Java string object should be allocated as an array of two-byte characters; and setting an array representation flag to a second state when said determining determines that said Java string object should be allocated as an array of two-byte characters.
- 6. A method as recited in claim 5, wherein said determining is performed by a Java constructor.
- 7. A method as recited in claim 5, wherein allocation of said string object is performed by a Java constructor.
- 8. A method as recited in claim 5,
wherein said determining of whether an array of one-byte characters or an array of two-byte characters should be allocated to represent said Java string object is performed by a Java constructor; and wherein allocation of said string object is performed by a Java constructor.
- 9. A method as recited in claim 5, wherein said Java constructor is provided in a Java library.
- 10. A method as recited in claim 9, wherein said Java library further comprises:
one or more Java methods suitable for performing operations on said Java object.
- 11. In a Java programming environment, a method of performing one or more operations on a Java string object, said method comprising:
receiving a request to perform an operation on a Java string object; reading an array reference associated with said Java string object; said array reference providing a reference to an array type reference; said array type reference providing a reference to an element type indicator; reading said element type indicator; determining whether said Java string object has been allocated as an array of one-byte characters or as an array of two-byte characters, based on said reading of said element type indicator; and invoking a method suitable for performing said operation on Java string objects that are allocated as arrays of one-byte characters when said determining determines that the said Java string object has been allocated as an array of one-byte characters.
- 12. A method as recited in claim 11,
wherein said method is also suitable for performing said operation on Java string objects allocated as arrays of two-byte characters, and wherein said method is also invoked when said determining determines that the said Java string object has been allocated as an array of two-byte characters.
- 13. A method as recited in claim 12, wherein said method further comprises:
invoking another method suitable for performing said operation on Java string objects that are allocated as arrays of two-byte characters when said determining determines that the said Java string object has been allocated as an array of two-byte characters.
- 14. A method as recited in claim 13, wherein said determining of whether a Java string object has been allocated as an array of one-byte characters or as an array of two-byte characters is performed by a Java method.
- 15. A method as recited in claim 14, wherein said Java method is provided in a Java library.
- 16. A method as recited in claim 15, wherein said Java library further comprises:
one or more constructors associated with said Java string object, said one or more constructors being suitable for allocation of said Java string object.
- 17. A computer readable media including computer program code for a Java library, said computer readable media comprising:
computer program code for at least one Java constructor suitable for instantiating a Java string object; wherein said computer program code for said at least one Java constructor can operate to allocate a Java string object as an array of one-byte characters; and wherein said Java string object representation includes an array representation flag, said array representation flag being set to a first state to indicate that said Java string represents an array of one-byte characters.
- 18. A computer readable media as recited in claim 17, further comprising:
computer program code for at least one Java method, and wherein said program code for said at least one Java method is capable of performing one or more operations on said Java string object represented as an array of one-byte characters.
- 19. A computer readable media as recited in claim 17, wherein said computer program code for said method is also capable of performing one or more operations on Java string objects represented as arrays of two-byte characters.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. 09/852,402, filed May 9, 2001, entitled “FRAMEWORKS FOR EFFICIENT REPRESENTATION OF STRING OBJECTS IN JAVA PROGRAMMING ENVIRONMENTS,” (Atty. Docket No. SUN1P826/P6071) which is hereby incorporated herein by reference for all purposes.