JP2002534737A - 低減されたメモリ条件でプログラムコードを実行するための装置 - Google Patents

低減されたメモリ条件でプログラムコードを実行するための装置

Info

Publication number
JP2002534737A
JP2002534737A JP2000592737A JP2000592737A JP2002534737A JP 2002534737 A JP2002534737 A JP 2002534737A JP 2000592737 A JP2000592737 A JP 2000592737A JP 2000592737 A JP2000592737 A JP 2000592737A JP 2002534737 A JP2002534737 A JP 2002534737A
Authority
JP
Japan
Prior art keywords
definition
entity
memory
class
defining
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
JP2000592737A
Other languages
English (en)
Other versions
JP2002534737A5 (ja
Inventor
ゲリット エッチ ソーペンベルグ
ヨハネス エー ジー ブーツ
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.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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 Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2002534737A publication Critical patent/JP2002534737A/ja
Publication of JP2002534737A5 publication Critical patent/JP2002534737A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

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)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 Java仮想マシン2は、Javaバイトコード及びメモリ管理システム14を実行するための実行エンジンを有する。メモリ管理システム14は、Javaプログラムの現在の状態から、到達可能ではないオブジェクトを除去するためにガーベジコレクションを実施する。従来技術のメモリ管理システムにおいては、クラスオブジェクトをロードしたクラスローダオブジェクトが到達可能でない場合、クラス定義を表現するオブジェクトがメモリから削除されるだけである。本発明によるメモリ管理システム14は、クラスローダがまだ到達可能であっても、プログラムの現在の状態で到達できる例示されたオブジェクトを持たないクラスを除去する。これは、メモリのかなりのセーブになる。好ましくは、クラス定義を表現しているオブジェクトは、例示されたオブジェクトをもはや有しない場合、定義がメモリから削除されることができるということを知らせる方法を持つ。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、定義ローディング手段と関連する少なくとも2つの定義エンティテ
ィをメモリにロードするための当該定義ローディング手段を有し、前記定義エン
ティティに従ってオブジェクトを生成するためのオブジェクト生成手段を更に有
する、プログラムコードを実行する装置に関する。
【0002】 本発明は、また、プログラムコードを実行するための方法、及びプログラムコ
ードを実行するための方法を実施するためのコンピュータプログラムを持つ媒体
にも関する。
【0003】
【従来技術】
冒頭に述べた装置は、Tim Lindholm及びFrank Yellinによる刊行物"The JavaT
M Virtual Machine Specification"から知られており、当該刊行物は、Sunウェ
ブサイトから利用可能であって、1996年9月に初版の印刷された本から変換
されている。
【0004】 近年、Javaプラットホームの人気は、かなり増大している。Javaは、Java仮想
マシン上で走るバイトコードにコンパイルされるJava言語を有するプラットホー
ムである。
【0005】 仮想マシン上で走るバイトコードの使用は、コンパイルされたバイトコードが
ハードウェアとオペレーティングシステムとのあらゆる組合せ上で(仮想マシン
がそのような組合せのために存在する場合)実行されうるという利点を有する。
【0006】 Java言語はオブジェクト指向である。これは、プログラムの実行中に、Java言
語におけるクラスまたはインタフェースでありえる定義エンティティに従ってオ
ブジェクトが生成されることを意味する。オブジェクトが生成可能になる前に、
必要とされる定義エンティティ(クラスまたはインタフェース)がメモリに最初
にロードされなければならない。このローディングは、Java言語においてクラス
ローダと呼ばれる定義ローディング手段によって行われる。異なる定義ローディ
ング手段が、ローディング定義エンティティの異なる方法について存在しうる。
Javaでは、ディスクから、TCP/IPベースのネットワークからクラスをロードする
か、又はMPEG-2のトランスポートストリームからそれらをロードする、さまざ
まなクラスローダがありうる。
【0007】
【発明が解決しようとする課題】
Java仮想マシンは、もはや必要でないオブジェクト及びクラスを自動的に削除
するためにガーベジコレクションを実施するメモリ管理システムを有する。
【0008】 Javaが、TVのもの及びセットトップボックスのような民生機器において使用さ
れるとき、制限された量のメモリ資源のみが利用可能である。現在、民生機器に
ついてのJavaの使用は、利用可能な限られた量のメモリにより非常に難しい。
【0009】 本発明の目的は、メモリの必要量が低減された冒頭に述べられた装置を提供す
ることである。
【0010】
【課題を解決するための手段】
前記目的を達成するために、本発明による装置は、関係するオブジェクトを持
たない定義エンティティをメモリから除去するためのメモリー管理手段を有し、
前記定義ローディング手段が関係するオブジェクトをまだ持つ定義エンティティ
と関連していることを特徴としている。
【0011】 メモリからもはや関係するオブジェクトを持たない定義エンティティを除去す
ることによって、メモリのかなりの量が自由になり、本願の装置は先行技術の装
置より少ないメモリを必要とする。
【0012】 本発明は、Javaのバーチャルマシンの現在の仕様において、定義ローディング
手段がもはや到達可能ではない場合、定義エンティティが削除されるだけでよい
と規定される、という認識に基づく。このことは、前記定義ローディング手段に
よって定義エンティティがロードされたオブジェクトがもはや存在しないことを
意味する。
【0013】 これは、下記の例でより明らかにされるだろう。クラスローダ(定義ローディ
ング手段)が2つのクラス(定義エンティティ)をロードした場合、もはや関係
するオブジェクトを持たない第1のロードされたクラスは、他のクラスが関係す
るオブジェクトをまだ持つかぎり、メモリから除去されなくてもよい。この結果
は、クラスがメモリに不必要なまま長く残るということである。
【0014】 本発明による進歩的な考えを使用することによって、クラスがもはや必要でな
くなるとすぐ、クラスはロードされなくてもよい。
【0015】 本発明の実施例は、装置が、除去可能なものとして定義エンティティを指定す
るための指示手段を含み、メモリー管理手段が、定義エンティティが除去可能な
ものとして指定されたとき、関係するオブジェクトを持たないメモリ定義エンテ
ィティをメモリから除去するように構成され、前記メモリー管理手段は、関係す
るオブジェクトを持たない定義エンティティだけと関連している定義ローディン
グ手段に対応している定義エンティティをメモリから除去するように構成される
ことを特徴とする。
【0016】 関係するオブジェクトを持たない定義エンティティがメモリから常に除去され
るということが好ましくない環境があるかもしれない。これは、クラス変数がク
ラス方法の実行によって変更されるときのケースでありえる。このようなクラス
がメモリから除去されて再び必要なときに再ロードされる場合、クラス変数の値
は変更されてもよい。
【0017】 定義エンティティが除去可能なものと示されるとき関係するオブジェクトを持
たない定義エンティティを除去するだけにより、アプリケーションプログラムは
除去可能又はそうでないものとして定義エンティティを示すことにより、この除
去を制御できる。 本発明の他の実施例は、前記装置が、除去可能であるとして示される定義エンテ
ィティの識別子を記憶するための記憶手段を含むことを特徴とする。
【0018】 クラスが関係するオブジェクトを持たないならばクラスがロードされないでも
良いかどうかをメモリ管理手段と通信する簡単な方法は、このクラスが除去可能
かどうかの識別子とともに、すべてのロードされたクラスが入力された表を記憶
することである。あるいは、各クラスオブジェクトと関連するオブジェクトヘッ
ダ内の識別子を記憶することが可能である。
【0019】 本発明は、図を参照して説明されるだろう。
【0020】
【発明の実施の形態】
図1によるJava仮想マシンでは、クラス管理サブシステム6は、ローカルハード
ドライブ又はネットワークからメモリ内に存在しないクラスをロードするように
構成される。
【0021】 クラス管理サブシステム6によってロードされるべきクラスは、コード検査機
構4によって最初にチェックされる。通常は、ネットワークからロードされるク
ラスのみが検証される。なぜなら、これらは、未知であり、信頼性の低いソース
からのものでありうるからである。クラスをロードする際、構文チェックが実施
される。また、ロードされたクラスの「構文」整合性が、チェックされる。これ
は、例えばクラスで規定された定数がそれらのタイプと一致しているかどうかの
チェックを含む。これは、例えば文字列として規定された定数が本当に文字列で
あるかどうかがチェックされる。
【0022】 ランタイムの間、バイトコード確認が、実施される。これはスタックの整合性
をチェックすること、 すなわち、スタックのオーバーフロー及びアンダーフロ
ーが発生しないことを確認するを含む。これは、変数に入れられるデータのタイ
プが前記変数の宣言に対応するかどうかをチェックすることも含む。
【0023】 実行エンジン8は、確認されたバイトコードを実行するよう構成される。この
実行のために、実行エンジンは、3つの利用可能なサブシステム、すなわちディ
スクから若しくはネットワークからの実ファイルのローディング又は表示装置の
グラフィック要素の表示のようなある作業を実施するためにオペレーティングシ
ステムを起動するためのシステムコールサブシステム8を有する。さらに、仮想
マシンは別々のスレッドを生成するために使用されるスレッドシステム12を有
する。スレッドサブシステム12は、また、分離したスレッドの同期をとるよう
に構成される。
【0024】 Java VMも、メモリから廃止項目を自動的に除去するためにガーベジコレクタ
を含むメモリ管理サブシステム14を有する。Java VMのSunインプリメンテーシ
ョンにおいて、いわゆる「マーク アンド スイープ」ガーベジコレクションア
ルゴリズムが使用される。このタイプのガーベジコレクションアルゴリズムは、
当業者にかなり知られている。このアルゴリズムでは、ヒープに存在するそれぞ
れのオブジェクトは、いわゆるマークビットを有する。ガーベジコレクションの
プロセスは、ヒープに存在するすべてのオブジェクトのためにマークビットをリ
セットすることから始まる。それから、すべてのフィールド及び変数が、ヒープ
内のオブジェクトへの参照のために調べられる。ヒープ内のそれぞれのオブジェ
クトに対して、各オブジェクトはフィールド又は変数によって参照付けられ、マ
ークビットが設定される。最後に、ガーベジコレクタはヒープを掃除し、マーク
ビットが設定されないオブジェクトにより使用されたメモリ領域を再要求する。
【0025】 最後に、Java VMは、C、C++又はアセンブラで書かれた機能の使用を可能にす
る、ネイティブの方法インタフェースサブシステム16を有する。これは、既存
のライブラリを再利用するため、又は性能を改善するために最適化されたアセン
ブラルーチンを使用することができるために便利であろう。
【0026】 図2では、図1によるJava VMのヒープに存在するオブジェクトが、提示され
る。図2は、クラスローダ18によってロードされる、第1のクラス22及び第
2のクラス20を示す。クラス22から1つのオブジェクト24が例示(インス
タンシエート)され、クラス20は例示されたオブジェクトを有しない。
【0027】 従来技術のガーベジコレクションアルゴリズムを使用するとき、オブジェクト
18、20、22及び24のどれも集められるガーベジでないだろう、クラスロ
ーダ18がまだ到達可能だからである(クラスローダ18によりロードされるク
ラスからオブジェクト24が例示される)。本発明による装置において、クラス
20はメモリから削除されることができる。なぜならば、それが例示されたオブ
ジェクトを持たないからである。好ましくは、方法は、クラスがもはや例示され
たオブジェクトを持たないとき、クラスがロードされないことができるかどうか
を示すクラスを前記クラスに加える。このような方法の構文は、「EnableClassU
nloading(class)」でありえる。この方法は、このクラスが削除可能であるこ
とを示す、関連するクラスのクラスヘッダ内のビットを設定できる。あるいは、
すべての削除可能なクラスが登録される表が前記VMに構築されることが可能であ
る。
【0028】 図3では、図1に従うJava VMのヒープに存在するオブジェクトのもう一つの
グループが表されている。図3は、第1のクラス32及び第2のクラス34をロ
ードした第1のクラスローダ36を示す。クラス32及び34のどれも、到達可
能ではない。方法EnableClassUnloadingが呼ばれるかどうかに関係なく、クラス
ローダ36が到達可能でないので、これらのクラス32及び34並びにこれらの
クラスローダ36はメモリから削除されるだろう。
【0029】 図3は、また、オブジェクト30が例示されるクラス28をロードした第2の
クラスローダ26を示す。クラス28は、1つの到達可能なオブジェクト30を
有する。結果的に、クラスローダ26、クラス28及びオブジェクト30は、(
メモリから除去され)アンロードされない。
【0030】 Java 1.2のSDKにおいて、基準オブジェクトの概念が導入され、強く及び弱
く到達可能なオブジェクトとなることが観察される。従来技術のガーベジコレク
タは、強く到達可能ではないすべてのオブジェクトを除去する。基準オブジェク
トが使用されるとき、図2及び図3を参照して上記説明に用いられるような到達
可能な概念は強く到達可能であることを意味することが観察される。
【0031】 図4による流れ図において、番号付けられた命令は以下の意味を有する:
【表1】
【0032】 図4によると、プログラムの命令40でプログラムが始まり、必要な初期化が
起こる。命令42では、プログラムの現在の状態に対応している変数及びフィー
ルドから始めて、到達可能なオブジェクトが、検索される。到達可能なオブジェ
クトが見つけられると、オブジェクトは命令44でマークされる。命令46では
、すべての到達可能なオブジェクトが見つけられたかチェックされる。これは、
VMの現在の状態でのすべてのフィールド及び変数が、対応しているオブジェクト
のためにトレースされた場合である。すべての到達可能なオブジェクトがまだ見
つけられない場合、プログラムは次の到達可能なオブジェクトを見つけるために
命令42へジャンプする。
【0033】 すべてのあり得る到達可能なオブジェクトが見つけられると、「mark and swe
ep」のガーベジコレクションアルゴリズムの「mark phase」は完遂され、「swee
p phase」が始まる。
【0034】 命令48では、ヒープからのオブジェクトが、試験のために選択される。命令
49では、オブジェクトがマークされるかどうかが、チェックされる。オブジェ
クトがマークされる場合、それはメモリから削除されてはならず、プログラムは
命令60で続く。オブジェクトがマークされない場合、命令50で、オブジェク
トがクラスであるかどうかがチェックされる。これは、例えばオブジェクトと関
連するオブジェクトヘッダのフィールドから判断できる。オブジェクトがクラス
でない場合、プログラムは命令58で続き、オブジェクトがメモリから削除され
る。その後、プログラムは命令60で続けられる。
【0035】 オブジェクトがクラスである場合、命令52において、クラスが削除可能なも
のとして指定されるかどうかがチェックされる。これは、例えばオブジェクトヘ
ッダの「削除可能なビット」がEnableClassUnloading方法を起動することによっ
て設定されたかどうかをチェックすることによりなされる。あるいは、また、す
べての削除可能なクラスを含む表を調べても可能である。オブジェクトが削除可
能な場合、命令58で、クラスオブジェクトは削除される。
【0036】 クラスが削除可能なものとしてマークされない場合、命令54で、クラスをロ
ードしたクラスローダが検索される。これは、ロードしたクラス及びそれらの関
連したクラスローダを有するVMの表を読むことによってなされる。クラスローダ
を見つけたあと、命令56でクラスローダオブジェクトがマークされるかどうか
がチェックされる。クラスローダがマークされない場合、命令58で、クラスオ
ブジェクトは削除される。クラスローダがマークされる場合、クラスはメモリか
ら削除されず、プログラムは命令60で続けられる。
【0037】 命令60で、ヒープのすべてのオブジェクトが処理されたかどうかが、チェッ
クされる。これが本当ならば、プログラムは命令62で終了される。さもなけれ
ば、プログラムはヒープの次のオブジェクトを処理するために命令48を続ける
【図面の簡単な説明】
【図1】本発明が使用されるJava仮想マシンのアーキテクチャを示す。
【図2】関連するクラス及び例示されたオブジェクトをともなうクラスロー
ダを示す。
【図3】各クラスローダが例示されたオブジェクトをともなうクラスを有す
る2つのクラスローダを示す。
【図4】図1に従うメモリ管理システム14での使用のための本発明による
プログラムのフローチャートを示す。
【符号の説明】
6:クラス管理サブシステム、 8:実行エンジン、 12:スレッドシステム、 14:メモリ管理サブシステム、 18:クラスローダ、 22、32:第1クラス、 20、34:第2クラス、 24、30:オブジェクト、 26:第2クラスローダ、 36:第1クラスローダ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブーツ ヨハネス エー ジー オランダ国 5656 アーアー アインドー フェン プロフ ホルストラーン 6 Fターム(参考) 5B060 AA10

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 定義ローディング手段と関連する少なくとも2つの定義エンティ
    ティをメモリにロードするための当該定義ローディング手段を有し、前記定義エ
    ンティティに従ってオブジェクトを生成するためのオブジェクト生成手段を更に
    有する、プログラムコードを実行する装置において、関係するオブジェクトを持
    たない定義エンティティをメモリから除去するためのメモリ管理手段を有し、前
    記定義ローディング手段が関係するオブジェクトをまだ持つ定義エンティティと
    関連していることを特徴とする装置。
  2. 【請求項2】 前記装置は除去可能なものとして定義エンティティを指定する指
    定手段を有し、前記メモリ管理手段は、定義エンティティが除去可能なものとし
    て指定されるとき関係するオブジェクトを持たない当該定義エンティティをメモ
    リから除去し、関係するオブジェクトを持たない定義エンティティだけと関連し
    ている定義ローディング手段に対応する定義エンティティをメモリから除去する
    ことを特徴とする請求項1に記載の装置。
  3. 【請求項3】 除去可能なものとして指定される定義エンティティの識別を記憶
    する記憶手段を有することを特徴とする請求項2に記載の装置。
  4. 【請求項4】 定義ローディングエンティティと関連する少なくとも2つの定義
    エンティティを当該定義ローディングエンティティによりメモリにロードし、前
    記定義エンティティに従ってオブジェクトを生成する、プログラムコードを実行
    するための方法において、関係するオブジェクトを持たない定義エンティティを
    メモリから除去し、前記定義ローディングエンティティが、関係するオブジェク
    トをまだ持つ定義エンティティと関連していることを特徴とする方法。
  5. 【請求項5】 除去可能なものとして定義エンティティを指定し、定義エンティ
    ティが除去可能なものとして指定されるとき関係するオブジェクトを持たない当
    該定義エンティティをメモリから除去し、関係するオブジェクトを持たない定義
    エンティティだけと関連している定義エンティティをメモリから除去することを
    特徴とする請求項4に記載の方法。
  6. 【請求項6】 除去可能なものとして指定される定義エンティティの識別を記憶
    することを特徴とする請求項5に記載の方法。
  7. 【請求項7】 定義ローディングエンティティと関連する少なくとも2つの定義
    エンティティを当該定義ローディングエンティティによりメモリにロードし、前
    記定義エンティティに従ってオブジェクトを生成する、プログラムコードを実行
    するための方法を実施するためのコンピュータプログラムを持つ媒体において、
    関係するオブジェクトを持たない定義エンティティをメモリから除去し、定義ロ
    ーディング手段が、関係するオブジェクトをまだ持つ定義エンティティと関連し
    ていることを特徴とする媒体。
  8. 【請求項8】 除去可能なものとして定義エンティティを指定し、定義エンティ
    ティが除去可能なものとして指定されるとき関係するオブジェクトを持たない当
    該定義エンティティをメモリから除去し、関係するオブジェクトを持たない定義
    エンティティだけと関連している定義エンティティをメモリから除去することを
    有する方法を実施するためのコンピュータプログラムを持つことを特徴とする請
    求項7に記載の媒体。
  9. 【請求項9】 除去可能なものとして指定される定義エンティティの識別を記憶
    することを有する方法を実施するためのコンピュータプログラムを持つことを特
    徴とする請求項8に記載の媒体。
JP2000592737A 1999-01-06 1999-12-20 低減されたメモリ条件でプログラムコードを実行するための装置 Pending JP2002534737A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP99200015 1999-01-06
EP99200015.8 1999-01-06
PCT/EP1999/010301 WO2000041079A2 (en) 1999-01-06 1999-12-20 Arrangement for executing program code with reduced memory requirements

Publications (2)

Publication Number Publication Date
JP2002534737A true JP2002534737A (ja) 2002-10-15
JP2002534737A5 JP2002534737A5 (ja) 2007-03-01

Family

ID=8239783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000592737A Pending JP2002534737A (ja) 1999-01-06 1999-12-20 低減されたメモリ条件でプログラムコードを実行するための装置

Country Status (8)

Country Link
US (1) US6681381B1 (ja)
EP (1) EP1068572A2 (ja)
JP (1) JP2002534737A (ja)
KR (1) KR20010083781A (ja)
CN (1) CN1139032C (ja)
BR (1) BR9908574A (ja)
CA (1) CA2322950A1 (ja)
WO (1) WO2000041079A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100402A (ja) * 2003-09-23 2005-04-14 Microsoft Corp オブジェクト指向プログラムのための領域ベースのメモリ管理
JP2013205911A (ja) * 2012-03-27 2013-10-07 Nec Corp データ参照元特定システム及びその特定方法、並びにそのコンピュータ・プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2376191T3 (es) * 2000-05-25 2012-03-09 Oracle America, Inc. Método y aparato para crear métodos nativos eficaces que extienden un intérprete de códigos de byte.
US7082597B2 (en) 2001-06-20 2006-07-25 Sun Microsystems, Inc. Representation of objects in a Java programming environment
US7036120B2 (en) 2001-07-31 2006-04-25 Sun Microsystems, Inc. Two tier clusters for representation of objects in Java programming environments
US7114152B2 (en) * 2002-01-08 2006-09-26 International Business Machines Corporation Method, apparatus, and program to determine the mutability of an object at loading time
JP2005018425A (ja) * 2003-06-26 2005-01-20 Matsushita Electric Ind Co Ltd プログラム変換方法、プログラムおよび記憶媒体
KR100626368B1 (ko) * 2003-08-25 2006-09-20 삼성전자주식회사 가비지 콜렉션 벤치마킹 방법
DE10351622A1 (de) 2003-11-05 2005-06-23 Giesecke & Devrient Gmbh Beschleunigtes Referenzfinden für eine automatische Speicherbereinigung (Garbage Collection)
US7823137B2 (en) * 2004-10-21 2010-10-26 International Business Machines Corporation Process and implementation for using byte code insertion to modify a class definition to define and use probes for application components
WO2007076629A1 (en) * 2005-12-30 2007-07-12 Intel Corporation Type checking for object-oriented programming languages
US20090199171A1 (en) * 2006-03-01 2009-08-06 Nokia Corporation Code Size Reduction by Outlining Specific Functions in a Library
US8375373B2 (en) * 2010-04-19 2013-02-12 Microsoft Corporation Intermediate language support for change resilience

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3294326B2 (ja) * 1992-07-09 2002-06-24 株式会社日立製作所 データ処理方法および装置
US5729710A (en) * 1994-06-22 1998-03-17 International Business Machines Corporation Method and apparatus for management of mapped and unmapped regions of memory in a microkernel data processing system
US5925100A (en) * 1996-03-21 1999-07-20 Sybase, Inc. Client/server system with methods for prefetching and managing semantic objects based on object-based prefetch primitive present in client's executing application
US6134602A (en) * 1997-09-24 2000-10-17 Microsoft Corporation Application programming interface enabling application programs to group code and data to control allocation of physical memory in a virtual memory system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005100402A (ja) * 2003-09-23 2005-04-14 Microsoft Corp オブジェクト指向プログラムのための領域ベースのメモリ管理
JP2013205911A (ja) * 2012-03-27 2013-10-07 Nec Corp データ参照元特定システム及びその特定方法、並びにそのコンピュータ・プログラム

Also Published As

Publication number Publication date
US6681381B1 (en) 2004-01-20
CN1292119A (zh) 2001-04-18
EP1068572A2 (en) 2001-01-17
KR20010083781A (ko) 2001-09-01
CA2322950A1 (en) 2000-07-13
WO2000041079A2 (en) 2000-07-13
WO2000041079A3 (en) 2000-11-02
CN1139032C (zh) 2004-02-18
BR9908574A (pt) 2000-11-21

Similar Documents

Publication Publication Date Title
US6757890B1 (en) Methods and apparatus for enabling local Java object allocation and collection
KR100541174B1 (ko) 로컬화된 메모리 재이용을 가진 데이터 처리기
US6272674B1 (en) Method and apparatus for loading a Java application program
US6601235B1 (en) Method and apparatus for dynamically deoptimizing compiled activations
US6718538B1 (en) Method and apparatus for hybrid checkpointing
US6314436B1 (en) Space-limited marking structure for tracing garbage collectors
US6820101B2 (en) Methods and apparatus for optimizing garbage collection using separate heaps of memory for storing local objects and non-local objects
US7406684B2 (en) Compiler, dynamic compiler, and replay compiler
EP0996059A2 (en) Class loading model
EP3198452B1 (en) On-demand loading of dynamic scripting language code for reduced memory usage
US11249758B2 (en) Conditional branch frame barrier
EP1342159B1 (en) Method and apparatus for lazy instantiation of objects in a virtual machine
WO2001061472A2 (en) Incremental class unloading in a train-algorithm-based garbage collector
Atkinson et al. Algorithms for a persistent heap
JP2002534737A (ja) 低減されたメモリ条件でプログラムコードを実行するための装置
JP2005063449A (ja) オブジェクトからオブジェクトへのJavaネイティブインタフェースマッピングの方法及び装置
EP1058897A1 (en) Transparent garbage collection of resources
US20070203959A1 (en) Apparatus and method for managing resources using virtual ID in multiple Java application environment
US9477496B2 (en) Method and apparatus for loading classes and re-organizing class archives
EP1489518B1 (en) Embedded garbage collection
US6901591B1 (en) Frameworks for invoking methods in virtual machines
US6829686B2 (en) Method and apparatus for bag-to-set, buffering remembered set
Baker et al. An approach to buffer management in Java HPC messaging
US20020199176A1 (en) Storing and retrieving of field descriptors in Java computing environments
Thomas Garbage collection in shared-environment closure reducers: Space-efficient depth first copying using a tailored approach

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100624