問題タブ [instance]
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.
java - 共有使用のための静的メソッドとインスタンス メソッド
これが私が決定しようとしているものです...
テキスト ファイルに行を追加するユーティリティ クラスがあります。これは、共通のログ ファイルなど、他の多くのクラスで使用する必要があります。
私の最初の実装では、それを使用したいすべてのクラスに参照のないインスタンスを作成させました。
new Logger(logline,logname);
コンストラクターは を作成しPrintWriter
、行を追加してファイルを閉じます。
追加されたすべての行に対して新しいインスタンスが作成されるため、これは無駄に思えました。
別の方法は、この共通クラスで「writeln」と呼ばれる静的メソッドを使用することでした。これは、静的メソッドとデータが同じメモリを何度も再利用することを理解していたためです...しかし
この静的メソッドは、PrintWriter
ジョブを実行するためにのインスタンスを作成します。つまり、 PrintWriter
#1 のように、行ごとに の新しいインスタンスが作成されるということではないでしょうか。
とにかく、(私はJavaに比較的慣れていません)これを行うためのよく知られた承認された方法はありますか?
ありがとう
actionscript-3 - MovieClip Actionscript 3 の塗りつぶしの色を変更する
ステージ上のインスタンスの塗りつぶしの色だけを変更する方法をお聞きしたいです - ColorTransform オブジェクトを使用してそれを行うことができますが、塗りつぶしだけでなくインスタンス全体の色を変更します。線の色ではなく、塗りの色だけを変更したい。誰でも私を助けることができますか?
これは私のコードです:
c++ - JNIとC++オブジェクトインスタンス
私はちょうど新しい仕事を始めました。ここでは、JNI(C ++ / Javaのブリッジング用)を初めて使用します。私はJNIを初めて使用するので、私の許しを許してください:)
(win32)Javaアプリでは、C++DLLをロードしています。Java側には、「SomeJClass」のインスタンスがいくつかあります。これらの各インスタンスは、DLL側の「SomeCClass」の対応するインスタンスにアクセスする必要があります。DLLは、GlobalDoSomethingInC()などのエントリポイントを公開します。ここでは、Doer :: DoSomethingInC()のインスタンスメソッドを呼び出す必要があります。したがって、それぞれのthis-pointersをマップするためのスムーズな方法が必要です。また、DLLスレッドが、対応するJavaインスタンスに通知する必要がある興味深いものを検出したときにも同じマッピングを行う必要があります。
私はいくつかの解決策を考えることができますが、私はそれらをあまり好きではありません。私の質問は、これよりも良い方法はありますか?
1 JavaはC:GetNewInstance()を呼び出します。これは、実際には新しいCインスタンスへのポインタであるintを返します。Javaはそれをm_myCInstanceに格納します。次に、JavaはGlobalDoSomethingInC()を呼び出し、1a
1bまたは:
2 CからJavaに呼び出す場合、状況はおそらく良く見えます
悪くないと思います。しかし、jobject参照を保存することは本当に安全です。 つまり、GCがオブジェクトを移動するとどうなりますか?
3現在のソリューションは「機能」します。しかし、それはむしろhttp://www.codinghorror.com/blog/に属しています:)
ありがとう
c# - 関数名を文字列として渡すことで任意の関数を動的に呼び出す
インスタンスを作成し、その関数を動的に実行するプロセスを自動化するにはどうすればよいですか?
ありがとう
編集:パラメーターを渡すオプションも必要です。ありがとう
c++ - SQL 2005 Express インスタンスを一覧表示する方法
ローカルまたはリモート マシンにインストールされている SQL 2005 Server (Express Editon) のインスタンスを一覧表示したいと思います (私のアプリはネイティブ C++ です)。SQLDMO で作成できることがわかりましたが、SQLDMO は SQL 2005 Express Edition を認識せず、ListAvailableSqlServers を呼び出すと空のリストが返されるようです。
どうすれば作れますか?システム レジストリで遊ぶことは極端な解決策であり、ローカル マシンにのみ適用されます。
windows - Windows プラットフォーム上の 2 つのアプリ間で、1 つがクラッシュして再度開いた場合でも、永続的な参照を維持するにはどうすればよいですか?
1 つがクラッシュした場合でも 2 つのアプリケーションへの永続的な参照を保持し、最初のアプリケーションを再度開いたときに、2 つ目のアプリケーションへの参照を取得してメソッドを呼び出すことができるオプションは何ですか。
状況は次のとおりです。
App1 (Web ブラウザ プラグイン) は、HTML ページ内のオブジェクト参照を介して App2 をインスタンス化し、それへの参照を取得して、App2 への API 呼び出しを実行できるようにします。
App1 はクラッシュしますが、App2 は開いたままです。
App1 が再び開いたら、API 呼び出しを続行できるように、App2 (まだ実行中) への参照を取得する必要があります。
これはすべて、マシン上で管理者として実行されます。App1 がクラッシュ後に再度開いたときに、まだ実行中の App2 への参照を取得するための最良の方法は何ですか?
java - Javaでは、スーパークラスメソッドがサブクラスインスタンスから保護されたメソッド/変数にアクセスできないのはなぜですか?
別の動作から始めましょう。メソッド/変数をプライベートとして宣言した場合でも、同じクラスの別のインスタンスがそれにアクセスできます。それは私がそれと一緒に暮らすことができるのは大丈夫です。私はこれらをインスタンスプライベートではなくクラスプライベートと呼んでいます。
ここで質問の部分です。たとえば、実行時に、this
クラス内のすべてのString変数がnullでないことを確認できるようにしたいので、nullの場合は、文字列「NULL」に変更する必要があります。
リフレクションを使用して変数を実行し、それらの値を取得できます。しかし、クラスを拡張してプライベート変数または保護された変数を追加すると、基本クラスはそれらにアクセスできなくなります。変数をsetAccessible
使用する前に、変数を使用する必要があります。
それで、基本クラス(スーパークラス)がそのサブクラスからプライベート/保護された変数にアクセスできない理由を私に説明してください。それはそのサブクラスなので、私はそれを取得しません。この背後にある考え方は何ですか?
スーパークラスはそのサブクラスについて知らないはずですが、私の例ではそれは理にかなっていますね。
このようにサブクラスを制限できない、または制限すべきではないからですか?
更新: 回答に基づいて、私も知りたいです:同じクラスから別のインスタンスのプライベート変数にアクセスしないのはなぜカプセル化の違反と見なされないのですか?
c# - C#: 方法 - 新しいパラメーターを受け入れる単一インスタンス アプリケーション?
NZB ファイルを使用してバイナリをダウンロードする (C#) プログラムを作成しています。アプリケーションのインスタンスは常に 1 つしか実行されていない可能性があります。
そのため、ユーザーが .nzb ファイルをダブルクリックしたときにプログラムが実行されていない場合、プログラムが起動して処理する必要があります (簡単なファイル登録)。プログラムが既に実行されている場合、2 番目のインスタンスを起動したくありません。既に実行されているインスタンスが指定されたファイルを取得するようにします。
.IsSingleInstance トリックを使用して Visual Basic DLL を使用すると、アプリを単一インスタンスにすることができますが、そこには行きたくありません。
ミューテックスを使用してアプリが単一インスタンスであることを確認するのが正しい方法のようですが、指定されたパラメーター (.nzb ファイル) を既に実行中のインスタンスに渡す方法に行き詰まっています。
助けていただければ幸いです!:-)
flash - SWF のインスタンスを 1 つだけ開いていることを確認しますか?
2 つのブラウザー ウィンドウで開いている場合でも、2 つの異なるブラウザーで開いている場合でも、SWF のインスタンスが 1 つのコンピューターで一度に 1 つだけ開いていることを確認する必要があります。
どうすればそれを行うことができますか?
これまでのところ、2 つの潜在的な解決策を考えてきました。
1) Flash 共有オブジェクトの使用 - ただし、有効期限が切れないため、ユーザーが終了関数を呼び出さずにブラウザー ウィンドウを閉じて削除すると、残りのオブジェクトが他の新しいセッションに干渉します。(インスタンスを識別するための乱数とタイムスタンプでしょうか?)
2) localconnection の使用 - 少しハックですが、これは Localconnection オブジェクトが使用されているかどうかを検出する swf に依存し、使用されている場合はロードしません。しかし、localconnections は少しの刺激でクラッシュするように見えるので、使用には少し注意が必要です。
class - この SpeechAPI インターフェイスをインスタンス化しているようです。そんなことがあるものか?
プロジェクトで Microsoft Text-to-Text Speech 機能を使用しています。しかし、それについて質問があります。実際には、それについて直接ではありません。そう :
通常、プログラマーはインターフェイスを作成するときに、IReadable、IEnumerator などのインターフェイス名のプレフィックスとして I を付けます。しかし、実際に私に衝撃を与えたものに出くわしました。
Microsoft Text Speech DLL には、次のようなものがあります。インターフェイスである SpVoice (何らかの理由でプレフィックスとして I を付けなかったので、理由がわかりません) と SpVoiceClass です。それで、あなたが尋ねるかもしれない問題は何ですか、ここに:
と
私が得られないことは、どのようにですか?最初のものは、実装されていないメソッドなどがたくさんあるインターフェースだと言っていますが、どのように機能しますか.
どなたか説明してください。
私は今本当に混乱しています.Microsoftの開発者はその理由でプレフィックスを付けなかったのかもしれません.インスタンス化することができます.
前もって感謝します。私の問題を明確に説明してください。
これが私があなたに見てほしい画像です:
(出典: pixelshack.us )