タグ

VMに関するigaiga07のブックマーク (6)

  • レジスタマシン - Wikipedia

    レジスタマシン(英: Register machine)とは、数理論理学や理論計算機科学で使われる汎用計算模型の一種であり、チューリングマシンと似たような使われ方をされる。レジスタマシンのモデルは全てチューリング等価である。 また、スタックマシンの対として、オペランドがレジスタである機械を指してもレジスタマシンと言う。現代の通常の計算機ではほとんどにあてはまるのでわざわざ言わないが、仮想機械では、たとえばLua 5の仮想機械を指して使われる。 概要[編集] レジスタマシンは、1つ以上の「レジスタ」を持つところからそのように呼ばれる。チューリングマシンでテープとヘッドが果たす役割を「複数の一意にアドレスが振られたレジスタ群」で代替する。各レジスタには1つの正の整数が格納される。 レジスタマシンは非常に基的なものから実際のコンピュータに近いものまで、次のように4階層に分類できる。 カウンタマ

  • スタックマシン - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "スタックマシン" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2018年10月) スタックマシン (stack machine) とは、メモリがスタックの形式になっている計算モデルを意味する。 スタックマシンを実装あるいはシミュレートしている実在のコンピュータもスタックマシンと呼ぶ。 加えて、スタックマシンは「0オペランド」(zero-address instruction と表現する文献[1]もある)命令セットのマシンも意味する。0オペランドマシンでは、命令は暗黙のうちにスタックのトップおよびトップ近傍にある値を使って演算を行い、結果

  • OutOfMemoryErrorが発生したときにきちんとJavaプロセスを殺す - nekop's blog

    OutOfMemoryErrorが発生してもスレッドを異空間に葬るだけでJava VMはそのまま動き続ける場合があるけど、当然ながら状態に一貫性のない状態で動いている可能性があるわけで基的にはとっとと死んで欲しいわけである。一般的に言うところの「不定」状態。OOMEはErrorであってふつうの例外ではなく、致命的なJava VMエラーを示すものである。OOME発生後にプロセス再起動しないでそのままどうこうしようというのは絶対に避けた方が良い。 例えばJDBCのコネクションオープンしてDBからデータを読み込んでるときにOOMEが起きた場合、JDBCコネクションは大抵オープンしっぱなしで回収はされなかったりする。OOMEではfinallyブロックが呼ばれる保証はない。JDBCコネクションリークくらいならまだ良い方だが、これは全てに当てはまる。A-B-Cといったセットになっている処理は例外など

    OutOfMemoryErrorが発生したときにきちんとJavaプロセスを殺す - nekop's blog
  • JavaVMのメモリ管理をマスターする

    Webシステムの安定動作には、メモリ使用量の適切な見積もりが不可欠。だがJavaVMでメモリがどのように管理されるかを理解しているだろうか? メモリに関する問題が発生すると、知識や技術資料の不足によって問題が長期化しがち。JavaVMでどのようにメモリが管理されているかを理解し、正確なメモリサイジングやメモリ関係のトラブルの早期解決へとつなげよう。 JavaVMのメモリ構造を理解しよう まず、JavaVMがどのようにメモリを使っているかを理解しておこう。JavaVMがプログラムを実行すると、Javaのプロセスによってメモリが使用される。Javaのプロセスでは、Javaヒープ、Permヒープ、Cヒープ、およびスレッドスタックという4つのメモリ領域を使用する。 Javaヒープはアプリケーションプログラムの各種オブジェクトを格納する領域であり、Classのnewで確保される。JavaヒープはNe

    JavaVMのメモリ管理をマスターする
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • 1