問題タブ [internals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
5891 参照

javascript - Javascript エンジンの内部に関する情報はどこにありますか?

JVM 内部、CLR 内部などに関する多くの参考文献に沿って、Javascript エンジンの内部に関する書籍、記事、論文を探しています。 、しかし、そこに本や他の「ガイド付きツアー」ドキュメントがある場合は、それらを最初に読みたいと思います. ありがとう。

0 投票する
5 に答える
1907 参照

c++ - 興味深いC++抽象関数

なぜこれが起こるのですか?

uがc++で抽象クラスを作成する場合例:クラスBがクラスAから継承された後、クラスA(純粋仮想関数を持つ)

そして、クラスAにA() というコンストラクターがある場合、クラスBのオブジェクト を 作成したとすると、コンパイラーは最初に基本クラス、つまりクラスAを初期化し、次にクラスBを初期化します。

まず、オブジェクトがないとクラスのコンストラクターにアクセスできません。次に、抽象クラスのオブジェクトを作成できない場合に、抽象クラスのコンストラクターを初期化する方法を説明します。

0 投票する
2 に答える
178 参照

c# - 内部メソッドとデータ構造。

保護されたメソッドがある場合、データ型が内部で宣言されているパラメーターを渡すことはできますか?

0 投票する
4 に答える
1322 参照

python - CPython の内部構造

GAE にはさまざまな制限があり、そのうちの 1 つはメモリの割り当て可能な最大ブロックのサイズが 1Mb に達することです (現在は 10 倍ですが、問題は変わりません)。この制限は、CPython が要素ポインターに連続したメモリ ブロックを割り当てようとするため、list() にいくつかの項目を超える数を配置できないことを意味します。巨大な list() を持つことはプログラミングの悪い習慣と見なされる可能性がありますが、プログラム自体に巨大な構造が作成されていなくても、CPython は舞台裏でいくつかを維持しています。

CPython は、オブジェクトの単一のグローバル リストまたは何かを維持しているようです。つまり、多くの小さなオブジェクトを持つアプリケーションは、ますます大きな単一のメモリ ブロックを割り当てる傾向があります。

最初のアイデアは gc で、それを無効にするとアプリケーションの動作が少し変わりますが、それでもいくつかの構造は維持されます。

問題が発生する最も単純な短いアプリケーションは次のとおりです。

アプリケーションに多くのオブジェクトがある場合、CPython が巨大な内部構造を割り当てないようにする方法を教えてもらえますか?

0 投票する
4 に答える
21374 参照

windows - csrss.exe プロセスは何をしますか?

Windows での csrss.exe (クライアント/サーバー ランタイム サーバー サブシステム) の目的は何ですか?

多分誰かが良い説明やドキュメントへのポインタを与えることができますか? 残念ながら、Windows のコア プロセスを検索すると、Google の結果はかなりノイズが多くなります。

私が尋ねている理由は、csrss.exe プロセスに関連していると思われるサービス アプリケーションから BSOD を取得したためです。少なくともこれは、メモリ ダンプの分析が示すものです。

編集:すでに良い回答をありがとうございますが、実際には私のサービスに関する助けは必要ありません。このサービスの目的が何であるかについての基本的な理解を得たいだけです.

0 投票する
2 に答える
622 参照

c# - WPF内部:UserControlがAdjustBranchSourceをオーバーライドしているのはなぜですか?

リフレクターを使用すると、WPF UserControl が AdjustBranchSource をオーバーライドしていることがわかります。

私自身の問題は、その問題によって引き起こされる矛盾に関するものです。要素がユーザー コントロールの内部または外部に基づいている場合。Source パラメーターの動作は異なります。ソースは常に RoutedEvent のターゲットの要素でなければならないことに驚きました。

問題は、なぜそのように実装されたのですか?

0 投票する
4 に答える
552 参照

unix - プロセスのスケジューリングに関する質問

たとえば、ディスク I/O の完了を待機しているプロセスは、転送中のデータに対応するバッファ ヘッダーのアドレスでスリープします。ディスク ドライバーの割り込みルーチンは、転送が完了したことを通知すると、バッファー ヘッダーでウェイクアップを呼び出します。割り込みは、その時点で実行されていたプロセスのカーネル スタックを使用し、ウェイクアップはそのシステム プロセスから行われます。

私が強調した段落の最後の行について説明していただけますか。これは、何らかのイベントが発生するのを待っていてスリープ状態になっているプロセスを目覚めさせることです。このパラはGalvinのものです。ところで、UNIX オペレーティング システムを学習するための良い本やリンクを教えてください。

ありがとう。

0 投票する
9 に答える
11121 参照

database - データベースの内部 - どこから始めるべきか?

では、データベースの内部について学びたいとしましょう。見るのに最適なソース コードは何ですか? 購入するのに最適な本は?

先日友人とこのことについて話していて、彼は次のことを勧めました:
Art of Computer Programming, Volume 3: Sorting and Searching

ファイル IO とメモリの問題、ページ、ロックなどについて学ぶのに役立つ本は他にありますか?

0 投票する
5 に答える
3955 参照

java - 弱参照はどのように実装されていますか?

.NET や Java などで、弱参照が内部でどのように機能するのだろうか。私の2つの一般的なアイデアは次のとおりです。

  1. 「侵入的」 - 最上位クラス (オブジェクト クラス) への弱い参照のリストを追加します。次に、オブジェクトが破棄されると、すべての弱い参照を反復して null に設定できます。
  2. 「非侵入的」 - 弱い参照のリストへのオブジェクトのポインターのハッシュテーブルを維持するため。オブジェクト B への弱い参照 A が作成されると、変更または作成されたハッシュテーブル内のエントリが存在し、そのキーは B へのポインタになります。
  3. 「ダーティ」 - オブジェクトが破棄されるとゼロになる、各オブジェクトに特別なハッシュ値を格納します。弱参照はそのハッシュ値をコピーし、それをオブジェクトの値と比較して、オブジェクトが生きているかどうかを確認します。ただし、これを直接使用するとアクセス違反エラーが発生するため、そのハッシュ値を持つ追加のオブジェクトが必要になると思います。

これらのソリューションはどちらもクリーンでも効率的でもないようです。実際にどのように行われるか知っている人はいますか?