Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

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

  • レジスタマシン - Wikipedia

    レジスタマシンは、1つ以上の「レジスタ」を持つところからそのように呼ばれる。チューリングマシンでテープとヘッドが果たす役割を「複数の一意にアドレスが振られたレジスタ群」で代替する。各レジスタには1つの正の整数が格納される。 レジスタマシンは非常に基的なものから実際のコンピュータに近いものまで、次のように4階層に分類できる。 カウンタマシン 最も基的なモデル。間接アドレシングができない。命令列は有限状態機械で構成される。 ポインタマシン カウンタマシンとランダムアクセスマシンの中間。それらより一般的ではないが、より抽象的である。命令列は有限状態機械で構成される。 ランダムアクセスマシン(RAM) カウンタマシンに間接アドレシングを付加し、一般に命令セットが強化されている。命令列は有限状態機械で構成される。 ランダムアクセス・プログラム内蔵機械モデル(RASP) RAM で、レジスタ内に命

  • スタックマシン - 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