JP2000259425A - Reducing method for character string storage area - Google Patents

Reducing method for character string storage area

Info

Publication number
JP2000259425A
JP2000259425A JP11065561A JP6556199A JP2000259425A JP 2000259425 A JP2000259425 A JP 2000259425A JP 11065561 A JP11065561 A JP 11065561A JP 6556199 A JP6556199 A JP 6556199A JP 2000259425 A JP2000259425 A JP 2000259425A
Authority
JP
Japan
Prior art keywords
character string
string
character
partial
bytes
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
JP11065561A
Other languages
Japanese (ja)
Inventor
Ryuichiro Oyama
隆一郎 大山
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11065561A priority Critical patent/JP2000259425A/en
Publication of JP2000259425A publication Critical patent/JP2000259425A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce memory capacity required for holding a character string group by registering the character data of character strings in one string table and expressing each character string by pairing a start position on the string table and a character string length. SOLUTION: In the case of storing a character string group including plural character strings, when one character string ('java/lang/String') is the partial character string of the other character string ('(Ljava/lang/Object;)Ljava/lang/ String;'), one string table 10 is prepared by connecting plural character strings. By storing a leading address 12b of the partial character string in the string table 10 and a character string length 14b of the partial character string in the string table 10, the area for storing respective characters constituting the partial character string ('java/lang/String') can be unnecessitated.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、文字列記憶領域の
縮小化方法に関し、特にJava言語のclassファイル中の
コンスタントプール部に含まれる文字列の記憶領域を縮
小化する方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for reducing a character string storage area, and more particularly to a method for reducing a storage area for character strings included in a constant pool section in a Java language class file.

【0002】[0002]

【従来の技術】従来、文字列群をメモリ上に保持する場
合、単純に各文字列毎に、文字列を構成する各文字を記
憶するために必要なメモリと、文字列の先頭位置を表す
アドレスを記憶するために必要なメモリを割り当ててい
る。
2. Description of the Related Art Conventionally, when a character string group is stored in a memory, the memory required to store each character constituting the character string and the head position of the character string are simply represented for each character string. The memory required to store the address is allocated.

【0003】また、現在、機種依存の無いプログラムが
作成可能なためJava言語が大いに注目されている。図3
は、Java言語で書かれたプログラムの実行手順を示した
ものである。Java言語で書かれたJavaプログラム(.jav
aファイル)を、バイトコンパイラによって、classフォ
ーマットのファイル(.classファイル)に変換する。cl
assフォーマットのファイルは、バイトコードと呼ばれ
る命令の実行部と、コンスタントプールを始めとする命
令の実行に必要な情報を保持する部分から構成される。
Java仮想マシンは、このclassフォーマットのファイル
を読み込み、定められた手順に従って必要なバイトコー
ドを順次実行する。
[0003] At present, the Java language has attracted much attention because a program independent of a machine type can be created. FIG.
Shows the execution procedure of a program written in the Java language. Java programs written in the Java language (.jav
a file) is converted to a class format file (.class file) by the byte compiler. cl
The file in the ass format is composed of an instruction execution unit called a bytecode, and a unit holding information necessary for execution of an instruction such as a constant pool.
The Java virtual machine reads the file in the class format and sequentially executes necessary bytecodes according to a predetermined procedure.

【0004】図4は、Java言語の開発キットJava Devel
opment Kit(JDK)バージョン1.1.5に含まれる、クラスラ
イブラリ中のjava.lang.Objectクラスのclassファイル
中から、コンスタントプール部の文字列を保持する部分
を抜き出して表示したものである。従来、これらの文字
列の各々について、各文字列を構成する文字のデータ
と、文字列のメモリ空間上での先頭アドレスとの組を使
ってデータを保持している。
FIG. 4 shows a Java language development kit Java Devel.
The part that holds the character string of the constant pool part is extracted and displayed from the class file of the java.lang.Object class in the class library included in the opment Kit (JDK) version 1.1.5. Conventionally, for each of these character strings, the data is held using a set of character data constituting each character string and a start address of the character string in a memory space.

【0005】具体的には、32ビットマイクロプロセッ
サ上で実現した場合、文字数がnである文字列を記憶す
るためには、文字列を構成する文字用にnバイト、先頭
アドレス用に4バイト、合計(n+4)バイトのメモリ
を必要とする。
More specifically, when implemented on a 32-bit microprocessor, in order to store a character string having the number of characters n, n bytes for characters constituting the character string, 4 bytes for the head address, Requires a total of (n + 4) bytes of memory.

【0006】実用的には、文字列の比較を高速化するた
めのハッシュ値(2バイト)を各文字列に持たせる。こ
れを考慮に入れると、ハッシュテーブルに登録済みの文
字列については6バイト、そうでない文字列については
(n+6)バイトのメモリが必要となる。
In practice, each character string has a hash value (2 bytes) for speeding up the comparison of the character strings. Taking this into consideration, a character string already registered in the hash table requires 6 bytes, and a character string other than that requires (n + 6) bytes of memory.

【0007】図5を用いて、「(Ljava/lang/Object;)Lj
ava/lang/String;」という文字列50aと、「java/lan
g/String」という文字列50bと、を記憶する場合を例
に説明する。
Referring to FIG. 5, “(Ljava / lang / Object;) Lj
ava / lang / String; ”and“ java / lan
The following describes an example in which a character string 50b “g / String” is stored.

【0008】従来は、文字列50a自体に38バイト、
文字列50aの先頭アドレス52aに4バイト、文字列
50aのハッシュ値56aに2バイト、また同様に、文
字列50b自体に16バイト、文字列50bの先頭アド
レス52bに4バイト、文字列50bのハッシュ値56
bに2バイトが必要である。つまり、文字列50aと5
0bの記憶のために、合計66バイトのメモリが必要と
なる。
Conventionally, the character string 50a itself has 38 bytes,
4 bytes at the start address 52a of the character string 50a, 2 bytes at the hash value 56a of the character string 50a, and similarly, 16 bytes at the character string 50b itself, 4 bytes at the start address 52b of the character string 50b, and hash of the character string 50b. Value 56
b requires 2 bytes. That is, the character strings 50a and 5
For storing 0b, a total of 66 bytes of memory is required.

【0009】[0009]

【発明が解決しようとする課題】しかしながら、class
ファイル中のコンスタントプール部のように多くの文字
列が含まれる文字列群を、従来方法でメモリ上に記憶す
ると、多くのメモリが消費されてしまう。
[Problems to be solved by the invention] However, class
If a character string group including a large number of character strings, such as a constant pool part in a file, is stored in a memory by a conventional method, a large amount of memory is consumed.

【0010】[0010]

【課題を解決するための手段】本発明の第1の特徴は、
複数の文字列を含む文字列群を記憶する場合であって、
一の文字列が他の文字列の部分文字列となっている場合
に、複数の文字列を連結して一の連結文字列を作成し、
前記連結文字列中の前記部分文字列の先頭アドレスと、
前記連結文字列中の前記部分文字列の文字列長と、を記
憶することにより、前記部分文字列を構成する各文字を
記憶する領域を不要とする文字列記憶領域の縮小化方法
である。
A first feature of the present invention is as follows.
When storing a character string group including a plurality of character strings,
When one character string is a partial character string of another character string, a plurality of character strings are concatenated to create one concatenated character string,
A head address of the partial character string in the concatenated character string;
A method of reducing a character string storage area by storing a character string length of the partial character string in the concatenated character string, thereby eliminating an area for storing each character constituting the partial character string.

【0011】本発明の第2の特徴は、前記文字列群が、
classファイル中のコンスタントプール部である文字列
記憶領域の縮小化方法である。
A second feature of the present invention is that the character string group is
This is a method of reducing the character string storage area that is a constant pool part in the class file.

【0012】「部分文字列」とは、他の文字列の一部分
として出現する文字列を言う。
"Partial character string" refers to a character string that appears as a part of another character string.

【0013】「コンスタントプール部(cp)」とは、
classファイルの内部で参照される諸定数を格納する領
域である。可変長の配列であって、ゼロ番から番号が付
けられる。
The “constant pool section (cp)”
This area stores constants that are referenced inside the class file. Variable length array, numbered from zero.

【0014】かかる構成とすることにより、他の文字列
の一部分と一致する部分文字列については、その部分文
字列を構成する各文字を記憶する必要がなくなるため、
記憶領域を縮小化することが可能となる。
With this configuration, it is not necessary to store each character constituting the partial character string for a partial character string that matches a part of another character string.
The storage area can be reduced.

【0015】また、Java言語で書かれたプログラムをコ
ンパイラを用いてclass ファイルフォーマットに変換し
た場合、Java言語とclass ファイルフォーマットの性質
から、コンスタントプール部内に他の文字列の部分文字
列が多く存在することとなる。このような部分文字列に
対して、従来のように文字列データをそのまま保存する
代わりに、連結文字列上の先頭アドレスと文字列の長さ
だけ保存するという方法を取ることにより、文字列を構
成する文字の保存に必要なメモリ容量を削減することが
可能となる。
When a program written in the Java language is converted into a class file format by using a compiler, due to the nature of the Java language and the class file format, there are many substrings of other character strings in the constant pool section. Will be done. Instead of saving the character string data as it is as in the past, instead of saving the character string data as is, the method of saving only the head address on the concatenated character string and the length of the character string allows the character string to be It is possible to reduce the memory capacity required for storing the constituent characters.

【0016】[0016]

【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を説明する。図1は、本発明の実施形態に係る文
字列記憶方法を説明するための図である。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram for explaining a character string storage method according to the embodiment of the present invention.

【0017】同図に示すように、複数の文字列を含む文
字列群(図4のコンスタントプール部)を記憶する場合
であって、一の文字列(”java/lang/String”)が他の
文字列(”(Ljava/lang/Object;)Ljava/lang/Strin
g;”)の部分文字列となっている場合に、複数の文字列
を連結して一のストリングテーブル(連結文字列)10
を作成し、ストリングテーブル10中の部分文字列の先
頭アドレス12bと、ストリングテーブル10中の部分
文字列の文字列長14bと、を記憶することにより、部
分文字列(”java/lang/String”)を構成する各文字を
記憶する領域を不要とすることが可能となる。
As shown in FIG. 1, a character string group including a plurality of character strings (a constant pool in FIG. 4) is stored, and one character string ("java / lang / String") String ("(Ljava / lang / Object;) Ljava / lang / Strin
g; "), a plurality of character strings are concatenated into one string table (concatenated character string) 10
Is created, and the start address 12b of the partial character string in the string table 10 and the character string length 14b of the partial character string in the string table 10 are stored, so that the partial character string ("java / lang / String") is stored. ) Can be omitted.

【0018】図4に示すように、Java言語で書かれたプ
ログラム(.javaファイル)をバイトコンパイラを用い
てClassフォーマットのファイル(.classファイル)に
変換するとコンスタントプール部内に部分文字列が多く
存在する。
As shown in FIG. 4, when a program (.java file) written in the Java language is converted into a class format file (.class file) using a byte compiler, many partial character strings exist in the constant pool portion. I do.

【0019】例えばメソッドのディスクリプタは、メソ
ッドの引数と戻り値の情報を保持する文字列であるが、
通常この中には引数や戻り値のクラス名が他の文字列の
部分文字列として含まれている。図4から明らかなよう
に、これらのクラス名もコンスタントプール部の別の項
目として存在している。
For example, a descriptor of a method is a character string holding information on arguments and return values of the method.
This usually contains the class name of the argument or return value as a substring of another string. As is clear from FIG. 4, these class names also exist as other items in the constant pool section.

【0020】そこで、このように部分文字列が頻出する
という性質を利用する。従来のように個々の文字列を別
個に保持する、つまり、図5の50aと50bのそれぞ
れにメモリを割り当てるのではなく、図1に示すよう
に、全ての文字列をまとめて1つのストリングテーブル
(連結文字列)10に保持し、個々の文字列への参照は
ストリングテーブル10上の開始位置アドレス12a又
はb(4バイト)と、文字列の長さ14a又はb(1バ
イト)と、により記憶する。
Therefore, the property that partial character strings frequently appear is used. Instead of holding individual character strings separately as in the prior art, that is, allocating memory to each of 50a and 50b in FIG. 5, as shown in FIG. (Concatenated character string) 10 and each character string is referred to by the start position address 12a or b (4 bytes) on the string table 10 and the character string length 14a or b (1 byte). Remember.

【0021】なお、本実施形態では、文字列の比較、判
定を高速化するためにハッシュ値16a又はb(2バイ
ト)も保持するが、メモリ容量低減という本発明の目的
達成のためにはハッシュ値は必要ではない。
In the present embodiment, the hash value 16a or 16b (2 bytes) is also held in order to speed up the comparison and determination of character strings. No value is required.

【0022】これにより、ストリングテーブル10中
に、記録対象文字列(図5の50b)が他の文字列(図
5の50a)中に部分文字列として存在している場合、
かかる記録対象文字列に関しては、ストリングテーブル
10に新たな文字列を付加するは必要ない。文字列の先
頭アドレス12bと、文字列長14bにより、図5の記
録対象文字列50bに相当する文字列の記憶は完了し、
文字列50bを構成する各文字の記憶に必要な16バイ
トのメモリ領域を節約することが可能となる。
Thus, when the character string to be recorded (50b in FIG. 5) exists in the string table 10 as a partial character string in another character string (50a in FIG. 5),
With respect to such a character string to be recorded, it is not necessary to add a new character string to the string table 10. With the start address 12b of the character string and the character string length 14b, the storage of the character string corresponding to the recording target character string 50b in FIG. 5 is completed,
It is possible to save a 16-byte memory area required for storing each character constituting the character string 50b.

【0023】図1と図5を比較すると、図1では図5に
比して、文字列長さ14a、bのための記憶領域が2バ
イト増加しているが、文字列50bのための記憶領域が
16バイト減少しているため、差し引き14バイトの記
憶領域が削減されている。
When comparing FIG. 1 with FIG. 5, the storage area for character string lengths 14a and 14b is increased by 2 bytes in FIG. 1, but the storage area for character string 50b is increased. Since the area is reduced by 16 bytes, the storage area of 14 bytes is reduced.

【0024】非部分文字列、つまりストリングテーブル
10に登録されていない文字列を記憶する場合は、その
文字列長をnとすると、(n+7)バイトが必要とな
り、記憶領域は低減されない。
When storing a non-partial character string, that is, a character string that is not registered in the string table 10, assuming that the character string length is n, (n + 7) bytes are required, and the storage area is not reduced.

【0025】また、本実施形態においては、文字列長を
1バイトで保持していることから、文字列長が255文
字を超えない部分文字列については、先頭アドレス用4
バイトとハッシュ値用2バイトを加えた合計7バイトで
文字列の記憶が完了し、記憶領域を削減することができ
る。
In this embodiment, since the character string length is held by one byte, a partial character string whose character string length does not exceed 255 characters is used for the leading address 4 bytes.
The storage of the character string is completed with a total of 7 bytes including the byte and 2 bytes for the hash value, and the storage area can be reduced.

【0026】しかし、256文字以上の文字列に関して
は、文字列長を1バイトで表現できないので、文字列長
フィールドを0に設定して文字列長を不明とする。そし
て、文字列長を特定する代わりに、ストリングテーブル
10に文字列を付加する際に末尾にヌルバイトを付加す
る。つまり、先頭アドレスからの距離で文字列の末尾を
特定するのではなく、ヌルバイトの位置により文字列の
末尾を特定する。この対処方法によっては、本発明の利
点である部分文字列についてのメモリ容量の節約ができ
ない。ただし、この対処方法は、あくまでも文字列長を
1バイトで保持するとした場合に生じる例外的な場合を
どう処理するかというものである。しかし、一般にJava
クラスファイル中には256文字以上の文字列が入るこ
とは少なく、さらにそれが部分文字列であることは希で
あるため、問題は少ない。
However, since a character string length of 256 characters or more cannot be represented by one byte, the character string length field is set to 0 to make the character string length unknown. Then, instead of specifying the character string length, a null byte is added at the end when a character string is added to the string table 10. That is, instead of specifying the end of the character string by the distance from the start address, the end of the character string is specified by the position of the null byte. According to this countermeasure, the memory capacity of the partial character string, which is an advantage of the present invention, cannot be saved. However, this countermeasure is how to handle an exceptional case that occurs when the character string length is held at 1 byte. But in general Java
There are few problems because a character string of 256 characters or more is rarely included in the class file, and it is rare that the character string is a partial character string.

【0027】図2に具体的な処理手順を示す。まず、Ja
va仮想マシンがclassファイルを読み込む際に、コンス
タントプール部のうち文字列を値として持つものを全て
取り出し(ステップS1)、まとめた結果を集合をNと
する(ステップS2)。
FIG. 2 shows a specific processing procedure. First, Ja
When the va virtual machine reads the class file, it extracts all of the constant pool units having a character string as a value (step S1), and sets the combined result to N (step S2).

【0028】ステップS3では、Nが空集合か否かを判
断する。Nが空集合である場合は終了する。Nが空集合
でない場合は、Nに含まれる文字列のうち長さが最長の
ものを取り出し、これをnとし(ステップS4)、文字
列nの長さをLとする(ステップS5)。
In step S3, it is determined whether or not N is an empty set. If N is an empty set, the process ends. If N is not an empty set, the character string having the longest length is extracted from the character strings included in N, set to n (step S4), and set to L for the length of the character string n (step S5).

【0029】ステップS6では、Lが255より大きい
か否かを判断する。Lが255より大きい場合は、nの
末尾にヌルバイトを追加し(ステップS7)、Lに0を
入れて(ステップS8)、ステップS9に進む。Lが2
55より大きくない場合は、ステップS6からステップ
S9に進む。
In step S6, it is determined whether or not L is greater than 255. If L is greater than 255, a null byte is added to the end of n (step S7), 0 is inserted into L (step S8), and the process proceeds to step S9. L is 2
If not greater than 55, the process proceeds from step S6 to step S9.

【0030】ステップS9では、ストリングテーブルS
内にnと合致する文字列が存在するか否かを判断する。
ストリングテーブルS内にnと合致する文字列が存在し
ない場合は、nをストリングテーブルSの末尾に連結し
て(ステップS10)、ステップS11に進む。ストリ
ングテーブルS内にnと合致する文字列が存在する場合
は、ステップS9からステップS11に進む。
In step S9, the string table S
It is determined whether or not there is a character string matching n.
If there is no character string that matches n in the string table S, n is linked to the end of the string table S (step S10), and the process proceeds to step S11. If a character string that matches n exists in the string table S, the process proceeds from step S9 to step S11.

【0031】nの開始位置(先頭アドレス)と、nの文
字列長Lとからなる組をコンスタントプール部の対応す
る項目へ記録し(ステップS11)、nをNから取り除
く(ステップS12)。以下、Nが空集合になるまで各
ステップを繰り返す。
A set consisting of the start position (head address) of n and the character string length L of n is recorded in the corresponding item of the constant pool section (step S11), and n is removed from N (step S12). Hereinafter, each step is repeated until N becomes an empty set.

【0032】図4に示したコンスタントプールの文字列
群について、従来通りに、全ての文字列の文字データと
そのアドレスを保持する方法で記憶した場合、合計95
5バイトのメモリが必要になるが、本発明の手法で実現
した場合877バイトになり、約8%のメモリ容量の節
約になる。
When the character strings of the constant pool shown in FIG. 4 are stored in the conventional manner by storing the character data of all the character strings and their addresses, a total of 95 characters is stored.
Although 5 bytes of memory are required, this is 877 bytes when implemented with the technique of the present invention, saving about 8% of memory capacity.

【0033】なお、実際のJava仮想マシンの実装におい
ては、高速化のためワード境界に合わせてメモリ容量を
確保する場合が多い。32ビットアーキテクチャにおい
てワードのサイズが4バイトであることから、ワード境
界を考慮した場合に必要なメモリ容量は、文字列長のエ
ントリが有る場合(7バイトの場合)も、無い場合(6
バイトの場合)も、いずれも8バイトとなり、文字列長
エントリを追加することによるデメリットがなくなる。
In an actual implementation of a Java virtual machine, a memory capacity is often secured in accordance with a word boundary for speeding up. Since the word size is 4 bytes in the 32-bit architecture, the memory capacity required in consideration of the word boundary is the case where there is a character string length entry (7 bytes) or not (6 bytes).
Bytes) are also 8 bytes, eliminating the disadvantage of adding a character string length entry.

【0034】ワード境界に合わせてメモリ容量を確保す
る場合について、図4のコンスタントプール中の文字列
群について必要なメモリ容量を計算すると、文字列長エ
ントリを追加した場合(本発明)は921バイトとな
り、ハッシュテーブルのみの場合(従来方法)の104
3バイトに比し、約12%のメモリ容量の節約となる。
When the memory capacity required for the character string group in the constant pool shown in FIG. 4 is calculated in the case where the memory capacity is secured in accordance with the word boundary, when the character string length entry is added (the present invention), 921 bytes are obtained. And 104 in the case of only the hash table (conventional method)
This saves about 12% of memory capacity compared to 3 bytes.

【0035】このようにワード境界にあわせてメモリ容
量を確保する場合も、そうでない場合も、ストリングテ
ーブルを作り、部分文字列をストリングテーブル中のア
ドレスと、文字列長とで管理することによりに、メモリ
容量を節約することが可能となる。
Regardless of whether or not the memory capacity is secured in accordance with the word boundary as described above, a string table is created, and a partial character string is managed by the address in the string table and the character string length. Thus, the memory capacity can be saved.

【0036】[0036]

【発明の効果】文字列の文字データを一つのストリング
テーブルに登録し、各文字列をストリングテーブル上の
開始位置と文字列長の組で表現することにより、文字列
群を保持するのに必要なメモリ容量を削減できる。
According to the present invention, character data of a character string is registered in one string table, and each character string is represented by a set of a start position on the string table and a character string length. Memory capacity can be reduced.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施形態に係る文字列記憶方法を説明
するための図。
FIG. 1 is an exemplary view for explaining a character string storage method according to an embodiment of the present invention.

【図2】本実施形態に係る文字列記憶方法の処理手順を
説明するためのフローチャート。
FIG. 2 is a flowchart for explaining a processing procedure of a character string storage method according to the embodiment;

【図3】Java言語で書かれたプログラムの実行手順を説
明するための図。
FIG. 3 is a diagram for explaining an execution procedure of a program written in the Java language.

【図4】Java.lang.Objectクラスのclassファイルのう
ち、コンスタントプール部の文字列群を説明するための
図。
FIG. 4 is a view for explaining a character string group of a constant pool part in a class file of a Java.lang.Object class.

【図5】従来の文字列記憶方法を説明するための図。FIG. 5 is a diagram for explaining a conventional character string storage method.

【符号の説明】[Explanation of symbols]

10 ストリングテーブル 12a、12b、52a、52b 開始位置アドレス 14a、14b 文字列長さ 16a、16b、56a、56b ハッシュ値 10 String table 12a, 12b, 52a, 52b Start position address 14a, 14b Character string length 16a, 16b, 56a, 56b Hash value

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 複数の文字列を含む文字列群を記憶する
場合であって、一の文字列が他の文字列の部分文字列と
なっている場合に、 複数の文字列を連結して一の連結文字列を作成し、 前記連結文字列中の前記部分文字列の先頭アドレスと、 前記連結文字列中の前記部分文字列の文字列長と、を記
憶することにより、前記部分文字列を構成する各文字を
記憶する領域を不要とすることを特徴とする文字列記憶
領域の縮小化方法。
When storing a character string group including a plurality of character strings and one character string is a partial character string of another character string, the plurality of character strings are concatenated. Creating one concatenated character string, storing the start address of the partial character string in the concatenated character string, and the character string length of the partial character string in the concatenated character string, A method for reducing the size of a character string storage area, which does not require an area for storing each character constituting the character string.
【請求項2】 前記文字列群が、Java言語のclassファ
イル中のコンスタントプール部であることを特徴とする
請求項1に記載の文字列記憶領域の縮小化方法。
2. The method according to claim 1, wherein the character string group is a constant pool in a Java language class file.
JP11065561A 1999-03-11 1999-03-11 Reducing method for character string storage area Pending JP2000259425A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11065561A JP2000259425A (en) 1999-03-11 1999-03-11 Reducing method for character string storage area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11065561A JP2000259425A (en) 1999-03-11 1999-03-11 Reducing method for character string storage area

Publications (1)

Publication Number Publication Date
JP2000259425A true JP2000259425A (en) 2000-09-22

Family

ID=13290559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11065561A Pending JP2000259425A (en) 1999-03-11 1999-03-11 Reducing method for character string storage area

Country Status (1)

Country Link
JP (1) JP2000259425A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009059939A1 (en) 2009-12-22 2011-06-30 Giesecke & Devrient GmbH, 81677 Method for compressing identifiers

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009059939A1 (en) 2009-12-22 2011-06-30 Giesecke & Devrient GmbH, 81677 Method for compressing identifiers
WO2011085789A1 (en) 2009-12-22 2011-07-21 Giesecke & Devrient Gmbh Method for compressing identifiers
US8818967B2 (en) 2009-12-22 2014-08-26 Giesecke & Devrient Gmbh Method for compressing identifiers
EP2517105B1 (en) * 2009-12-22 2018-10-10 Giesecke+Devrient Mobile Security GmbH Metod for compressing identifiers

Similar Documents

Publication Publication Date Title
JP4077047B2 (en) How to run on a computer system
JP3110404B2 (en) Microprocessor, software instruction speed-up method therefor, and recording medium recording control program therefor
US7725736B2 (en) Message digest instruction
RU2621000C2 (en) Determination of symbol data group length containing ending symbol
KR100498272B1 (en) Method and apparatus for maintaining context while executing translated instruction
US4992931A (en) Data alignment correction apparatus for properly formatting data structures for different computer architectures
JP2002007211A (en) Processor having compressed instructions and method for compressing instruction for the processor
KR20100126690A (en) Method to accelerate null-terminated string operations
JPH08508358A (en) Apparatus and method for relocatable file format
CN110597515A (en) Byte code pile inserting method
US6467037B1 (en) Utilizing a program counter with one or more data counters for executing instructions
US7162401B1 (en) Monitoring of resources that are being modeled by simulation or emulation
JP2000259425A (en) Reducing method for character string storage area
JP2002182926A (en) Compiling method and computer readable recording medium
US7028292B1 (en) Program executing apparatus, control method therefor, and storage medium for interpreting and executing intermediate codes
JP2877468B2 (en) Electronic computer
JP4260895B2 (en) Multiple format addressing in microcontrollers
JP2006505044A (en) Validation parser accelerated by hardware
JPH07168719A (en) Redundant type removing device
Hoffmann et al. A descriptor based approach to Forth strings
JPH0833899B2 (en) Index update method
JP3015565B2 (en) Information processing device with parallel execution function for multiple instructions
JP2007179221A (en) Debugger
JP3517579B2 (en) Microprocessor
JP2764947B2 (en) Instruction control method