JP2004259252A - Java(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム及び方法 - Google Patents

Java(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム及び方法 Download PDF

Info

Publication number
JP2004259252A
JP2004259252A JP2003359830A JP2003359830A JP2004259252A JP 2004259252 A JP2004259252 A JP 2004259252A JP 2003359830 A JP2003359830 A JP 2003359830A JP 2003359830 A JP2003359830 A JP 2003359830A JP 2004259252 A JP2004259252 A JP 2004259252A
Authority
JP
Japan
Prior art keywords
bytecode
native code
memory unit
unit
java
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
JP2003359830A
Other languages
English (en)
Inventor
Jung-Gyu Park
正圭 朴
Hyo-Jung Song
孝晶 宋
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2004259252A publication Critical patent/JP2004259252A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Abstract

【課題】ネイティブコードのコンパイル時間を短縮できるJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム及び方法を提供すること。
【解決手段】Java(登録商標)プログラムのバイトコードをローディングするクラスローダー部100と、前記ローディングされたバイトコード及びバイトコードをコンパイルして生成されたネイティブコードをアクセス可能な状態に保つ第1のメモリ部200と、前記ネイティブコードを格納する第2のメモリ部400と、第2のメモリ部400に格納されているネイティブコードを検索して第1のメモリ部200にローディングするネイティブコード管理部300と、前記ネイティブコードを実行させる実行部500とを備える。
【選択図】 図1

Description

本発明は、Java(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム及び方法に関し、より詳しくは、Java(登録商標)プログラムの実行時に頻繁に使用されるバイトコードをコンパイルして生成されたネイティブコードを格納しておき、 後でJava(登録商標)プログラムを実行するときに、該当のバイトコードに対するネイティブコードを読み込んで実行することにより、ネイティブコードのコンパイル時間を短縮できるJava (登録商標)プログラムでのバイトコードのコンパイル時間短縮システム及び方法に関する。
一般に、Java(登録商標)プログラムのソースコードをコンパイルして生成されたバイトコード(byte code)は、Java(登録商標)仮想マシン(Java(登録商標) Virtual Machine : JVM)によって実行され、前記Java(登録商標)仮想マシンの 実行速度の向上のために、この頃、バイトコードをCPUで直接実行可能な形式のネイティブコード(native code)に変換して実行する方法が広く使用されている。
この方法のうち、Dynamic Adaptive Compilation(以下、DACと称する)は、バイトコードの解析(interpretation)時に、前記バイトコードが頻繁に使用されるバイトコードである場合、それをネイティブコードにコンパイルして実行する。つまり、前記DAC方法は、全体のプログラムをネイティブコードにコンパイルせず、 頻繁に使用されるバイトコードのみをネイティブコードにコンパイルすることである。
しかし、バイトコードの実行時に生成されるネイティブコードは、メモリ不足の際に、ガベージコレクター(garbage collector)により回収され、かつ、Java(登録商標)プログラムの実行が終了すると、全て無くなり、次回の実行で再び使用することができないという問題点があった。
ところで、一度ネイティブコードに生成されたバイトコードのほとんどは、次回にも再びネイティブコードに生成される特性があることから、生成されたネイティブコードを無くしてしまうと、次回の実行でさらに同様なネイティブコードを生成しなければならないという問題がある。
従って、従来の方法によると、無線端末機のような低性能のCPUや小容量のバッテリーを有するシステムでは、応答時間(Response time)が増加し、バッテリーの消耗が大きくなるという問題点があった。
本発明は、上記問題点に鑑みなされたものであり、Java(登録商標)プログラムの実行時に頻繁に使用されるバイトコードをコンパイルして生成されたネイティブコードを格納しておき、後でJava(登録商標)プログラムを実行するときに、該当のバイトコードに対するネイティブコードを読み込んで実行することにより、Java(登録商標)プログラムでのバイトコードのコンパイル時間を短縮できるシステム及び方法を提供することを目的とする。
なお、本発明は、低性能のCPUや小容量のメモリを有する機器におけるコンパイル時間を短縮して、Java(登録商標)プログラムの実行時間を短縮させ、使用者に対する応答時間を減少し、バッテリーの消耗量を減らすことのできるJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム及び方法を提供することを他の目的とする。
上記の目的を達成するため、本発明に係るJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システムにおいては、Java (登録商標)プログラムソースコードをコンパイルして生成されたバイトコードをローディングするクラスローダー部と、前記クラスローダー部でローディングされたバイトコード及びバイトコードをコンパイルして生成されたネイティブコードをアクセス可能な状態に保つ第1のメモリ部と、前記第1のメモリ部にアクセス可能な状態にローディングされたネイティブコードを格納する第2のメモリ部と、前記クラスローダー部の要請により、第2のメモリ部に格納されているネイティブコードを検索して第1のメモリ部にローディングするネイティブコード管理部と、前記第1のメモリ部にアクセス可能な状態にローディングされたネイティブコードを実行する実行部とを備えていることを特徴とする。
なお、本発明に係るJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム方法においては、クラスローダー部がコンパイルされたバイトコードをローディングするステップと、前記ローディングされたバイトコードに該当するネイティブコードの検索をネイティブコード管理部に要請するステップと、前記要請されたネイティブコードを第2のメモリ部から検索するステップと、前記検索された該当ネイティブコードを第1のメモリ部に伝送するステップと、前記伝送されたネイティブコードをネイティブコード実行部で実行するステップとを含むことを特徴とする。
本発明によると、Java(登録商標)プログラムの実行時に頻繁に使用されるバイトコードをコンパイルして生成されたネイティブコードを格納しておき、後でJava(登録商標)プログラムを実行するときに、該当のバイトコードに対するネイティブコードを読み込んで実行することにより、バイトコードをコンパイルしてネイティブコードを生成する時間を省くことができる効果がある。
また、携帯電話のような低性能のCPUや小容量のメモリを有する機器におけるコンパイル時間を減らすことにより、Java(登録商標)プログラムの実行時間を短縮して、使用者に対する応答時間を減少させ、バッテリーの消耗量を減らすことができるという効果がある。
以下、本発明の好ましい実施の形態を、添付図面に基づいて詳しく説明する。
図1は、本発明に係るJava (登録商標)プログラムでのバイトコードのコンパイル時間短縮システムを示す概略ブロック図であり、図1を参照して、クラスローダー部(class loader)100と、第1のメモリ部200と、ネイティブコード管理部300と、第2のメモリ部400と、実行部500と、ガベージコレクター部600とから構成されている。
クラスローダー部100は、Java(登録商標)プログラムのソースコードをコンパイルして生成されたバイトコードをローディングする。ここで、前記ローディング過程とは、補助記憶装置に格納されているバイトコードをJava(登録商標)仮想マシンに読み込むことをいう。
第1のメモリ部200は、前記クラスローダー部100でローディングされたバイトコード及びバイトコードをコンパイルして生成されたネイティブコードをアクセス可能な状態に保つ。即ち、前記クラスローダー部100でローディングされたバイトコード及びバイトコードをコンパイルして生成されたネイティブコードを所定のメモリ領域に格納し、後述する実行部500により前記格納されているネイティブコードをアクセスできるようになっている。
第2のメモリ部400は、前記第1のメモリ部200にアクセス可能な状態にローディングされたネイティブコードを格納する。
ネイティブコード管理部300は、前記クラスローダー部100の要請により第2のメモリ部400に格納されているネイティブコードを検索して第1のメモリ部200にローディングし、さらに、第1のメモリ部200にローディングされたネイティブコードを第2のメモリ部400に格納する。ここで、前記ネイティブコード管理部300は、LRU(Least Recently Used)方式を用いて第2のメモリ部400に格納されているネイティブコードを管理する。前記LRU方式とは、格納されているネイティブコードのうち、頻繁に使用されないネイティブコードをチェックして使用頻度の低い順に該当データを捨てることで、ここで、前記使用頻度の低いネイティブコードを捨てる基準は、例えば、メモリ容量または格納された時間によって決定することができる。
実行部500は、前記第1のメモリ部200にアクセス可能な状態にローディングされたネイティブコード及びバイトコードを実行しており、バイトコードインタープリーター(byte code interpreter)510と、ランタイムプロファイラ(Runtime profiler)520と、ネイティブコードコンパイラ(native code compiler)530と、ネイティブコード実行部(native code execution)540とを備えている。
バイトコードインタープリーター510は、前記第1のメモリ部200にアクセス可能な状態にローディングされたバイトコードを解析して実行させる。
ランタイムプロファイラ520は、前記バイトコードインタープリーター510で解析されるバイトコードが頻繁に使用されるバイトコードであるかをチェックし、前記チェックの結果をネイティブコードコンパイラ530に知らせる。
前記ネイティブコードコンパイラ530は、前記ランタイムプロファイラ520でのチェックの結果、前記バイトコードインタープリーター510で解析中のバイトコードが頻繁に使用されるバイトコードである場合、前記解析中のバイトコードをコンパイルしてネイティブコードを生成する。さらに、前記ネイティブコードコンパイラ530は、前記コンパイルされたネイティブコードを第1のメモリ部200にローディングする。
ネイティブコード実行部540は、前記ネイティブコード管理部300により第1のメモリ部200にローディングされたネイティブコードを実行する。
ガベージコレクター部600は、前記第1のメモリ部200でそれ以上実行されないコードが占める空間を自動に回収しており、これにより、前記第1のメモリ部200の空間を確保する。また、それ以上実行されないコードによる占有空間を回収した後にも、第1のメモリ部200の空間が不足する場合には、ネイティブコード管理部300にネイティブコードを第2のメモリ部400に格納するように要請する。
図2は、本発明に係るJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮方法を概略的に示すフローチャートである。
先ず、クラスローダー部100でJava(登録商標)プログラムのソースコードをコンパイルして生成されたバイトコードをローディングし(S100)、その後、ネイティブコード管理部300に前記ローディングされたバイトコードに該当するネイティブコードの検索を要請すると(S110)、前記ネイティブコード管理部300は、要請されたネイティブコードを第2のメモリ部400から検索する(S120)。
前記第2のメモリ部400から該当のネイティブコードが検索されると(S130で「はい」)、前記検索されたネイティブコードを第1のメモリ部200に伝送し(S132)、ネイティブコード実行部540は、前記第1のメモリ部200に伝送されたネイティブコードを実行させる(S134)。ここで、前記第2のメモリ部400に格納されているネイティブコードは、Java(登録商標)プログラムの実行時に頻繁に使用されるバイトコードをコンパイルして生成されたネイティブコードである。
本発明では、第2のメモリ部400に格納されているネイティブコードを第1のメモリ部200にローディングして実行すればいいことから、頻繁に使用されるバイトコードを毎回解析して実行することなく、バイトコードの解析過程を省くことができる。
一方、前記ネイティブコード管理部300で第2のメモリ部400を検索した結果、該当のバイトコードに対するネイティブコードが存在しない場合(S130で「いいえ」)、 前記クラスローダー部100は、ローディングされたバイトコードを第1のメモリ部200に伝送する(S140)。
前記第1のメモリ部200にバイトコードがローディングされると、バイトコードインタープリーター510は、前記ローディングされたバイトコードが実行できるように解析する(S150)。
前記バイトコードインタープリーター510でのバイトコードの解析時に、 ランタイムプロファイラ520は、前記バイトコードインタープリーター510で解析されるバイトコードが頻繁に使用されるバイトコードであるかをチェックし(S160)、その結果をネイティブコードコンパイラ530に伝送する。
前記チェックの結果、頻繁に使用されるバイトコードである場合(S170で「はい」)、前記解析されたバイトコードは、ネイティブコードコンパイラ530に伝送されてコンパイルされることにより、ネイティブコードを生成する(S172)。ここで、前記ネイティブコードは、第1のメモリ部200に伝送され、後でネイティブコード管理部300により第2のメモリ部400に格納される(S174)。ここで、前記第2のメモリ部400に格納されているネイティブコードは、ネイティブコード管理部300によりLRU方式で管理される。即ち、第2のメモリ部400の格納領域が限定されているため、LUR方式を適用して格納されているネイティブコードを管理している。
一方、前記チェックの結果、頻繁に使用されないバイトコードであるか、最初に使用されるバイトコードの場合(S170で「いいえ」)、前記バイトコードインタープリーター510で解析されて実行される(S180)。
なお、ガベージコレクター部600は、前記第1のメモリ部200でそれ以上実行されないコードが占める空間を自動に回収することにより、前記第1のメモリ部200の空間を確保し、もし、それ以上実行されないコードを処理した後でも、第1のメモリ部200の空間が不足する場合、ネイティブコード管理部300に第1のメモリ部にローディングされているネイティブコードを第2のメモリ部400に格納するように要請することにより、第1のメモリ部200の空間を確保する。
以上のように、添付図面に基づいて本発明の実施の形態を説明してきたが、このような本発明の基本的な技術的思想を逸脱しない範囲内で、当業界の通常の知識を有する者にとっては、他の多くの変更が可能であろう。また、本発明は、添付の特許請求の範囲により解釈されるべきであることは言うまでもない。
本発明に係るJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システムを示す概略ブロック図である。 本発明に係るJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮方法を概略的に示すフローチャートである。
符号の説明
100 クラスローダー部
200 第1のメモリ部
300 ネイティブコード管理部
400 第2のメモリ部
500 実行部
600 ガベージコレクター部

Claims (13)

  1. Java(登録商標)プログラムのソースコードをコンパイルして生成されたバイトコードをローディングするクラスローダー部と、
    前記クラスローダー部でローディングされたバイトコード及びバイトコードをコンパイルして生成されたネイティブコードをアクセス可能な状態に保つ第1のメモリ部と、
    前記第1のメモリ部にアクセス可能な状態にローディングされたネイティブコードを格納する第2のメモリ部と、
    前記クラスローダー部の要請により、第2のメモリ部に格納されているネイティブコードを検索して第1のメモリ部にローディングするネイティブコード管理部と、
    前記第1のメモリ部にアクセス可能な状態にローディングされたネイティブコードを実行する実行部とを備えることを特徴とするJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム。
  2. 前記第1のメモリ部でそれ以上実行されないコードが占める空間を自動に回収するガベージコレクター部をさらに備えることを特徴とする請求項1に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム。
  3. 前記ガベージコレクター部は、第1のメモリ部の空間が不足する場合、ネイティブコード管理部に、第1のメモリ部にローディングされたネイティブコードを第2のメモリ部に格納するように要請することを特徴とする請求項2に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム。
  4. 前記ネイティブコード管理部は、前記第1のメモリ部にローディングされたネイティブコードを第2のメモリ部に格納することを特徴とする請求項1に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム。
  5. 前記ネイティブコード管理部は、LRU方式を用いて前記第2のメモリ部に格納されているネイティブコードを管理することを特徴とする請求項1または4に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム。
  6. 前記実行部は、前記第1のメモリ部にアクセス可能な状態にローディングされたバイトコードを解析して実行させるバイトコードインタープリーターと、
    前記バイトコードインタープリーターで解析されるバイトコードが頻繁に使用されるバイトコードであるかをチェックするランタイムプロファイラと、
    前記ランタイムプロファイラでチェックした結果、頻繁に使用されるバイトコードである場合、ネイティブコードに変更するネイティブコードコンパイラとをさらに備えることを特徴とする請求項1に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム。
  7. クラスローダー部がコンパイルされたバイトコードをローディングするステップと、
    前記ローディングされたバイトコードに該当するネイティブコードの検索をネイティブコード管理部に要請するステップと、
    前記要請されたネイティブコードを第2のメモリ部から検索するステップと、
    前記検索された該当ネイティブコードを第1のメモリ部に伝送するステップと、
    前記伝送されたネイティブコードをネイティブコード実行部で実行するステップとを含むことを特徴とするJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮方法。
  8. 前記第2のメモリ部に格納されているネイティブコードは、ネイティブコード管理部によりLRU方式で管理されることを特徴とする請求項7に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮方法。
  9. 前記第2のメモリ部からのネイティブコードの検索結果、該当のネイティブコードが存在しない場合には、
    クラスローダー部がローディングしたバイトコードを第1のメモリ部に伝送するステップと、
    前記第1のメモリ部に伝送されたバイトコードをバイトコードインタープリーターで解析して実行するステップとをさらに含むことを特徴とする請求項7に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮方法。
  10. 第1のメモリ部に伝送されたバイトコードをバイトコードインタープリーターで解析して実行するステップは、ランタイムプロファイラが前記バイトコードインタープリーターで解析されているバイトコードが頻繁に使用されるバイトコードであるかをチェックするステップをさらに含むことを特徴とする請求項9に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮方法。
  11. 前記チェックの結果、頻繁に使用されるバイトコードである場合、
    ネイティブコードコンパイラがバイトコードインタープリーターで解析されたバイトコードをコンパイルしてネイティブコードを生成するステップと、
    前記生成されたネイティブコードを第1のメモリ部にローディングするステップと、
    前記ローディングされたネイティブコードをネイティブコード管理部により第2のメモリ部に格納するステップとをさらに含むことを特徴とする請求項10に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮方法。
  12. 前記第1のメモリ部にローディングされるネイティブコードは、Java(登録商標)プログラムの実行終了時または第1のメモリ部の空間不足時に、第2のメモリ部に格納されることを特徴とする請求項9に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮方法。
  13. 前記第2のメモリ部に格納されているネイティブコードは、ネイティブコード管理部によりLRU方式で管理されることを特徴とする請求項9または12に記載のJava(登録商標)プログラムでのバイトコードのコンパイル時間短縮方法。

JP2003359830A 2003-02-24 2003-10-20 Java(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム及び方法 Pending JP2004259252A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0011366A KR100506522B1 (ko) 2003-02-24 2003-02-24 자바 프로그램에서 바이트 코드의 컴파일 시간 단축시스템 및 방법

Publications (1)

Publication Number Publication Date
JP2004259252A true JP2004259252A (ja) 2004-09-16

Family

ID=32866937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003359830A Pending JP2004259252A (ja) 2003-02-24 2003-10-20 Java(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム及び方法

Country Status (4)

Country Link
US (1) US20040168162A1 (ja)
JP (1) JP2004259252A (ja)
KR (1) KR100506522B1 (ja)
CN (1) CN1260651C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170830B2 (en) 2013-03-26 2015-10-27 Fujitsu Limited Method for controlling program execution
JP2015219637A (ja) * 2014-05-15 2015-12-07 富士通株式会社 処理実行プログラム、処理実行方法、及び情報処理装置

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7113980B2 (en) 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US7844958B2 (en) * 2005-03-11 2010-11-30 Aptana, Inc. System and method for creating target byte code
US7707547B2 (en) * 2005-03-11 2010-04-27 Aptana, Inc. System and method for creating target byte code
KR100763177B1 (ko) 2005-04-21 2007-10-04 삼성전자주식회사 자바 가상 머신의 명령어 수행 방법 및 그 장치
US7870265B2 (en) * 2005-06-30 2011-01-11 Oracle International Corporation System and method for managing communications sessions in a network
KR101140522B1 (ko) * 2005-07-14 2012-04-30 에스케이플래닛 주식회사 객체 관리 시스템 및 방법
KR100678912B1 (ko) 2005-10-18 2007-02-05 삼성전자주식회사 메소드 바이트코드 해석 방법 및 상기 방법에 의해동작하는 시스템
CN101346634B (zh) * 2005-11-04 2012-10-24 甲骨文国际公司 用于通信网络中的网守的系统和方法
US20070169012A1 (en) * 2005-11-14 2007-07-19 Microsoft Corporation Asynchronous just-in-time compilation
US7353504B2 (en) * 2005-12-09 2008-04-01 Bea Systems, Inc. System and method for efficiently generating native code calls from byte code in virtual machines
CN100339831C (zh) * 2005-12-14 2007-09-26 浙江大学 应用于Java操作系统中虚拟机的编译体系实现方法
US8171466B2 (en) 2006-05-16 2012-05-01 Oracle International Corporation Hitless application upgrade for SIP server architecture
US8112525B2 (en) * 2006-05-16 2012-02-07 Oracle International Corporation Engine near cache for reducing latency in a telecommunications environment
US8001250B2 (en) * 2006-05-16 2011-08-16 Oracle International Corporation SIP and HTTP convergence in network computing environments
US8219697B2 (en) 2006-05-17 2012-07-10 Oracle International Corporation Diameter protocol and SH interface support for SIP server architecture
US20080086567A1 (en) * 2006-10-10 2008-04-10 Bea Systems, Inc. SIP server architecture for improving latency in message processing
US7661027B2 (en) * 2006-10-10 2010-02-09 Bea Systems, Inc. SIP server architecture fault tolerance and failover
US8078737B2 (en) * 2006-12-13 2011-12-13 Oracle International Corporation System and method for efficient storage of long-lived session state in a SIP server
US20080147551A1 (en) * 2006-12-13 2008-06-19 Bea Systems, Inc. System and Method for a SIP Server with Online Charging
US9667430B2 (en) * 2006-12-13 2017-05-30 Oracle International Corporation System and method for a SIP server with offline charging
US8037460B2 (en) * 2007-01-26 2011-10-11 Oracle International Corporation Code persistence and dependency management for dynamic compilation in a database management system
US8413125B2 (en) * 2007-01-26 2013-04-02 Oracle International Corporation Asynchronous dynamic compilation based on multi-session profiling to produce shared native code
US8341609B2 (en) * 2007-01-26 2012-12-25 Oracle International Corporation Code generation in the presence of paged memory
US7895475B2 (en) * 2007-07-11 2011-02-22 Oracle International Corporation System and method for providing an instrumentation service using dye injection and filtering in a SIP application server environment
US8914774B1 (en) 2007-11-15 2014-12-16 Appcelerator, Inc. System and method for tagging code to determine where the code runs
US8954989B1 (en) 2007-11-19 2015-02-10 Appcelerator, Inc. Flexible, event-driven JavaScript server architecture
US8260845B1 (en) 2007-11-21 2012-09-04 Appcelerator, Inc. System and method for auto-generating JavaScript proxies and meta-proxies
US8566807B1 (en) 2007-11-23 2013-10-22 Appcelerator, Inc. System and method for accessibility of document object model and JavaScript by other platforms
US8719451B1 (en) 2007-11-23 2014-05-06 Appcelerator, Inc. System and method for on-the-fly, post-processing document object model manipulation
US8806431B1 (en) 2007-12-03 2014-08-12 Appecelerator, Inc. Aspect oriented programming
US8819539B1 (en) 2007-12-03 2014-08-26 Appcelerator, Inc. On-the-fly rewriting of uniform resource locators in a web-page
US8756579B1 (en) 2007-12-03 2014-06-17 Appcelerator, Inc. Client-side and server-side unified validation
US8938491B1 (en) 2007-12-04 2015-01-20 Appcelerator, Inc. System and method for secure binding of client calls and server functions
US8527860B1 (en) 2007-12-04 2013-09-03 Appcelerator, Inc. System and method for exposing the dynamic web server-side
US8285813B1 (en) 2007-12-05 2012-10-09 Appcelerator, Inc. System and method for emulating different user agents on a server
US8335982B1 (en) 2007-12-05 2012-12-18 Appcelerator, Inc. System and method for binding a document object model through JavaScript callbacks
US8639743B1 (en) 2007-12-05 2014-01-28 Appcelerator, Inc. System and method for on-the-fly rewriting of JavaScript
US8296745B2 (en) * 2007-12-31 2012-10-23 Oracle America, Inc. Method and apparatus for portable stub generation
US8291079B1 (en) 2008-06-04 2012-10-16 Appcelerator, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8880678B1 (en) 2008-06-05 2014-11-04 Appcelerator, Inc. System and method for managing and monitoring a web application using multiple cloud providers
US7596620B1 (en) 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
KR101116939B1 (ko) 2009-12-10 2012-03-14 주식회사 엘지유플러스 이동 단말기 및 상기 이동 단말기에서 웹 애플리케이션 실행 방법
CN102135877B (zh) * 2010-01-27 2014-05-28 金蝶软件(中国)有限公司 自动化构建方法及装置
KR101334938B1 (ko) * 2012-06-20 2013-12-02 주식회사 한국스마트카드 스크립트 파일 기반으로 카드 처리를 수행하는 rf 결재 단말기
US9355011B2 (en) * 2014-06-09 2016-05-31 International Business Machines Corporation Detecting potential class loader problems using the class search path sequence for each class loader
US9864649B2 (en) * 2015-03-27 2018-01-09 Intel Corporation Technologies for root cause identification of use-after-free memory corruption bugs
CN110704036B (zh) * 2018-07-10 2023-05-26 阿里巴巴集团控股有限公司 构建脚本的方法、装置和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997027544A1 (en) * 1996-01-24 1997-07-31 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
US6110226A (en) * 1998-02-19 2000-08-29 Cygnus Solutions Java development environment using optimizing ahead-of-time compiler
US6421689B1 (en) * 1998-06-30 2002-07-16 Oracle Corporation Moderately conservative, mostly copying 2 space garbage collector in the nursery of a generational memory manager
US6295638B1 (en) * 1998-07-30 2001-09-25 International Business Machines Corporation Method and apparatus for loading native object code in data processing system
US6295643B1 (en) * 1998-12-10 2001-09-25 International Business Machines Corporation Method and apparatus for improving java virtual machine performance using persistent execution information
JP2001056764A (ja) * 1999-08-18 2001-02-27 Access:Kk 仮想計算機の実行方法および装置
KR100319755B1 (ko) * 1999-12-02 2002-01-05 오길록 내장형 자바가상머신을 위한 바이트코드 압축 방법
US6484188B1 (en) * 1999-12-30 2002-11-19 Intel Corporation Optimization of garbage collection code in the context of raw native interface function calls in the java programming language
US6854115B1 (en) * 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6836884B1 (en) * 2001-06-04 2004-12-28 Microsoft Corporation Method and system for editing software programs
WO2004040445A1 (en) * 2002-10-29 2004-05-13 Freescale Semiconductor, Inc. Method and apparatus for selectively optimizing interpreted language code

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170830B2 (en) 2013-03-26 2015-10-27 Fujitsu Limited Method for controlling program execution
JP2015219637A (ja) * 2014-05-15 2015-12-07 富士通株式会社 処理実行プログラム、処理実行方法、及び情報処理装置

Also Published As

Publication number Publication date
KR100506522B1 (ko) 2005-08-03
KR20040076048A (ko) 2004-08-31
US20040168162A1 (en) 2004-08-26
CN1525321A (zh) 2004-09-01
CN1260651C (zh) 2006-06-21

Similar Documents

Publication Publication Date Title
JP2004259252A (ja) Java(登録商標)プログラムでのバイトコードのコンパイル時間短縮システム及び方法
US7543285B2 (en) Method and system of adaptive dynamic compiler resolution
US9251071B2 (en) Concurrent inline cache optimization in accessing dynamically typed objects
US7406684B2 (en) Compiler, dynamic compiler, and replay compiler
US8621443B2 (en) Processor emulation using speculative forward translation
US7246346B2 (en) System and method for persisting dynamically generated code in a directly addressable and executable storage medium
CN100365577C (zh) 永久高速缓存装置和方法
US10216497B2 (en) Selective compiling method, device, and corresponding computer program product
JP2000040007A (ja) バイトコ―ド・コンパイラのためのコ―ド生成
US8627316B2 (en) Mobile communications device application processing system
US8214812B2 (en) Method of interpreting method bytecode and system operated by the same
US6681234B2 (en) Method and apparatus for storing long-lived objects in a virtual machine
US6931638B2 (en) Method and apparatus to facilitate sharing optimized instruction code in a multitasking virtual machine
US6581077B2 (en) Method and apparatus for storing short-lived objects in a virtual machine
KR100493893B1 (ko) 자바 프로그램에서 클래스 로딩 과정을 단축시키는 시스템및 방법
Wagner et al. “Slimming” a Java virtual machine by way of cold code removal and optimistic partial program loading
JP2005011349A (ja) 電子システムおよびガーベジコレクション方法
WO2018125408A1 (en) Automatic identification and generation of non-temporal store and load operations in a dynamic optimization environment
JP2005507103A (ja) Javaヒープを実現するフレームワーク
US7036120B2 (en) Two tier clusters for representation of objects in Java programming environments
KR20120006664A (ko) 달빅(Dalvik) 가상머신(Virtual Machine: VM)이 탑재된 단말기에서 자바 클래스 로딩 방법
JP2000330792A (ja) バイトコードプログラム実行制御システム
US8181177B1 (en) Reducing the number of heap handles in a program
US7539822B1 (en) Method and apparatus for facilitating faster execution of code on a memory-constrained computing device
Hartikainen et al. On mobile java memory consumption

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060221