タグ付けされた質問 「java」

Javaは、元はSun Microsystemsによって開発された、プラットフォームに依存しない高レベルのオブジェクト指向プログラミング言語です。Javaは現在、2010年にSunを購入したOracleが所有しています。

4
ロギングに適した設計パターンはどれですか?
プログラム内のいくつかのイベントをログに記録する必要がありますが、プログラムの実際の機能に関するものではないため、ログコードをプログラムの外部に置いた方がよいでしょう。それで、コードから完全に除外し、オブザーバーとリスナーのみを使用してイベントをログに記録する必要があるかどうかを教えてもらえますか?または、何かをログに記録する必要がある場合はいつでも、次のようなコード行を追加できます。 MyGloriousLogger.getXXXLogger().Log(LogPlace, new LogObject(z1, z2, z3, z4, ..., z99)); Observer設計パターンを使用するのは間違いですか?別のデザインパターンが必要ですか?または私はデザインパターンについて考えるのをやめるべきですか? PS1。リスナーとオブザーバーのみを使用してログを記録したい場合は、プログラムのオブザーバーとリスナーを追加して改善する必要があります。 PS2。Javaにログインするためのさまざまなライブラリがあり、java.utils.loggingを使用していることは確かですが、特別なオブジェクトをログに記録するためのラッパーが必要です。

4
Javaでの複数の汎用インターフェースの実装
特定の署名を含む特定のメソッドが利用可能であることを保証するインターフェイスが必要です。これまでのところ、彼は私が持っているものです: public interface Mappable<M> { M mapTo(M mappableEntity); } この問題は、クラスを他の複数のエンティティにマップできる場合に発生します。理想的なケースはこれです(javaではありません): public class Something implements Mappable<A>, Mappable<B> { public A mapTo(A someObject) {...} public B mapTo(B someOtherObject) {...} } これを可能な限り「一般的な」ものにするための最良の方法は何でしょうか?
10 java  generics 

3
ゲーム開発のためにネットワークを介してクロックを同期する方法は?
時間ベースの要素が多いゲームを書いています。私は時間を使用して、ネットワークが停止し、パケットが通過していないときのプレーヤーの位置(およびパケットが受信されるまでの時間と受信されない時間)を推定します。それは、プレイヤーが方向を選択して動きを止めることができないという意味でパックマンタイプのゲームです。そのため、システムは理にかなっています(または少なくとも私はそう思います)。 だから私は2つの質問があります:1)ネットワークに遅延があるので、最初にゲームのクロックをどうやって同期させるのですか?2)それらを同期せず、それらが同じであると想定しても大丈夫ですか(私のコードはタイムゾーンに依存しません)。これは、人々が時計を変えてチートするような非常に競争の激しいゲームではありません。 ゲームはJavaとPythonでプログラミングされています(プロジェクトとして並行開発)

4
Javaの主な焦点は何ですか?新機能を入手するのになぜこんなに時間がかかるのですか?
私は、ラムダ式、拡張メソッド、新しいストリームAPIなど、JDK8の新機能を調査しています。 明らかに、これらの機能のどれもプログラミングの世界で新しいものではないので、なぜ今までこれらすべての機能がJavaで利用されているのか不思議に思いました。 Lisp(1958)、SML(1973)、Haskell(1990)、Python(1991)、JavaScript(1994)、Ruby(1995)、Scala(2003)、C#(2007)、およびLispの55年後にラムダ式があり、 Java(2013)では実質的に他のすべての人。 そして、私はSIC(1996)のストリームについて読みました。 なんで今なんだろう?証拠は、他の言語との競争が動機ではないことを示唆しています。 このリリースのJavaの優れた新機能はすべて、並列処理の実装の副産物にすぎないようです。ラムダは、並列アルゴリズムの記述を簡単にするためにあり、ラムダ式が必要とする変更などをサポートするためにそれらを必要とするため、拡張メソッドがあります。 したがって、私の質問は、このJavaの次のリリースのメイントピックが実際に並列処理であることを安全に確認できるでしょうか。それとも、今までJavaで本の中で最も古いトリックが登場した他の理由を正当化できるでしょうか。

3
JavaアプリでのMVCの使用
クロスプラットフォームのGUIアプリケーションを記述して(複数のスレッドで)処理し、かなり大量のデータを視覚化する必要があります。理想的には、アプリケーションは比較的高速で見栄えがよいはずです。 アプリのインターフェイスは、テーブルウィジェット、ツリーウィジェット、およびカスタムの図形描画ウィジェットで構成されます。ユーザーはこれらのウィジェットのいずれかからデータを変更でき、変更は他のウィジェットにすぐに反映されます。 当然、MVCを使用する予定です。ただし、私は通常、すべてのGUIプログラミングをC ++ / Qtで行っており、Javaへの露出は非常に限られています。そのため、このようなアプリをJavaで整理する方法についてのアドバイスをいただければ幸いです。特に、SwingまたはJavaFXを使用する必要がありますか?仕事にどのウィジェットを選びますか?Javaプラットフォームのこれらの側面をカバーする本/オンラインチュートリアルをお勧めしますか? フィードバックをいただければ幸いです。ありがとう! (この質問は元々Stack Overflowに投稿されていましたが、このサイトはより適切な場所として提案されました)
10 java  mvc  swing  javafx 

1
概念的には、各スレッドが独自のスタックを取得すると言われているのはどういう意味ですか?
私が読んでてきたブライアン・ゲッツにより、実際にJavaの並行処理を し、セクション内のスタック閉じ込め、各スレッドは独自のスタックを取得し、そのローカル変数は、本質的に実行中のスレッドに限られていることを述べています。これらは実行中のスレッドスタックに存在し、他のスレッドからはアクセスできません。各スレッドが独自の実行スタックを持っているとはどういう意味ですか?

3
現在、JavaアプレットはWeb上に配置されていますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 多くのブラウザでは、デフォルトでJavaアプレットが無効になっているため、ページごとに有効にする必要があります。アプレットはここ数年あまり変わっていないようです。実際、クライアント側のJava(アプレット、デスクトップアプリケーションなど)は完全に衰退しており、Javaは主にサーバー側の言語になりつつあるようです。 互換性を除いて、今日のWebでアプレットがまだ役立つ場所はありますか?JavaとJavaScriptに精通しているWeb開発者として、JavaScriptの代わりにアプレットを使用することを選択するのはなぜですか?
10 java  html5 

3
メソッドのオーバーロードはいつ適切ですか?
既存のかなり大きなシステムで作業しているとしましょう。myObjectクラスのオブジェクトがありますMyClass(例として、Javaで作業しているとします)。myObjectはCollection、たとえばa Listと、(私が思うに)無関係な他のオブジェクトを含むコンポジションです。これには、Listそれが構成されているメソッドを呼び出す役割を果たしているデリゲートメソッドが含まれていますList。 これListがaであるとしましょう。List<String>何らかの理由で、メインのアクセスメソッドはclassのマスクメソッドですSomeOtherClass。新しい値のペアをmyに挿入しListたい場合は、SomeOtherClass呼び出されたオブジェクトがありますsomeObject。私が呼び出すmyObject.insert(someObject)と、insertメソッド内にを取得してStringに入れる魔法がいくつかありますList<String>。 今、String値しか持っておらずSomeOtherClass、挿入するオブジェクトがないとします。insertこのシステムのすべてを破壊するため、メソッドを変更できないと仮定します。次に、insertメソッドをオーバーロードする必要がありますか?またはSomeOtherClass呼び出すたびに新しいオブジェクトを作成する必要がありますinsertか? オーバーロードするとこんな感じになりますね… public void insert(String s) { ... } public void insert(SomeOtherObject obj) { this.insert(obj.magicStringMethod()); } (この例は、昨日発生したオーバーロードに関する同様の(やや複雑な)状況に基づいた不自然なパズルです。不明な点がある場合は展開します) これはメソッドをオーバーロードするのに適切な場所でしょうか?そうでない場合、いつメソッドをオーバーロードする必要がありますか?

5
Javaは、C ++のように、クラス定義と実装の分離を促進しますか?
私は宿題をしていて、GRASPの「保護されたバリエーション」に従って、どちらのアプローチがより良いかを評価する必要があります。Stack Overflowで、C ++でのヘッダーファイルとコードファイルの分離に関する質問を見つけました。 ただし、Javaがクラス定義とクラス実装の分離を促進する際にC ++に従わない理由を知りたいのですが。C ++メソッドに比べて、Javaメソッドには利点がありますか?

5
プログラミング言語の分析
でSICP、著者の状態(セクション1.1プログラミング言語の三つの基本的な「仕組み」があるということ): 言語が関係する最も単純なエンティティを表すプリミティブ式 組み合わせの手段。これにより、複合要素はより単純な要素から構築されます 抽象化の手段。これにより、複合要素に名前を付けて、ユニットとして操作できます。 これらの要素やメカニズムの観点から主流のプログラミング言語(Javaなど)を分析するにはどうすればよいですか?

4
Web開発者向けのラーニングパス.NETまたはJava [終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前休業。 Windowsでホストされている実際のWebアプリケーションサーバーの数を知りたいですか? C#とASP.NETについて学び、自分を組み込み開発者からWebアプリ開発者に変えたいと思っています。 私の友人は、WindowsサーバーよりもLinuxベースのサーバーの方がはるかに多いことを教えてくれました。また、Javaスキルスタックは、Webアプリケーションの世界では.NETよりもはるかに有用であると述べました。 JavaとC#の私の経験は大体同じです。私は経験豊富なC ++開発者です。 誰か私にそれについていくつかの提案をすることはできますか? どうもありがとう
10 c#  java  .net 

2
多くのボタンにOnClickListenerインターフェイスを実装する適切な方法は何ですか
私のAndroidアクティビティには、すべてOnClickListenerを必要とする複数のボタンが含まれています。私はこれを行う多くの異なる方法を見てきました: アクティビティクラスでのインターフェースの実装 インターフェースを実装する別のクラスを作成する 各ボタンの匿名内部クラスを定義します。 私はそれぞれのアプローチの多くの例を見てきました。ただし、なぜ1つのアプローチが別のアプローチの代わりに使用されるのかは、はっきりしません。これらのアプローチの違いは文体的ですか、それとも1つのアプローチを改善する理由がありますか?

2
Javaクラスバージョン固有の命名規則
2つのソフトウェア(機械シミュレーション、非cs)の間にアダプターを作成する必要があります。という名前のクラスがあるとしThatThingます。さまざまなベンダー固有の実装を処理する必要があります。これらのバージョンには意味のある名前がありません(日食ヘリオ、インディゴなどとは異なります)。 1.バージョン番号を表すクラスに名前を付けるにはどうすればよいですか? 私のようなクラスを見つけThatThing_3_6_Impl、ThatThing_3_7_Implかなりぎこちないです。
10 java  naming 

5
C ++アプリケーションの監視
新しい集中監視ソリューション(Zenoss)を実装しています。サーバー、ネットワーキング、およびJavaプログラムの組み込みは、SNMPとJMXを使用すると簡単です。 ただし、問題は、大規模な異種(Solaris x86、RHEL Linux、Windows)環境でカスタムC ++アプリケーションを監視および管理するためのベストプラクティスは何ですか? 私が見る可能性は次のとおりです。 ネットSNMP メリット 各サーバーに単一の中央デーモン よく知られた規格 監視ソリューションへの簡単な統合 サーバーでNet SNMPデーモンをすでに実行しています 短所: 複雑な実装(MIB、Net SNMPライブラリ) C ++開発者向けに導入する新しいテクノロジー rsyslog メリット 各サーバーに単一の中央デーモン よく知られた規格 監視ソリューションへの不明な統合(テキストに基づいてアラートを実行できることはわかっていますが、メモリ使用量、キューの深さ、スレッド容量などのテレメトリの送信にはどの程度うまく機能しますか) 簡単な実装 短所: 考えられる統合の問題 C ++開発者向けのやや新しいテクノロジー 監視ベンダーを切り替えた場合に起こりうる移植の問題 おそらく、アドホック通信プロトコルを思い付く必要があります(またはRFC5424構造化データを使用しています。ZenossがカスタムZenpackコーディングなしでそれをサポートしているかどうかはわかりません) 組み込みJMX(JVMを組み込み、JNIを使​​用) メリット JavaとC ++の両方の一貫した管理インターフェース よく知られた規格 監視ソリューションへの簡単な統合 やや単純な実装(他の目的のために、今日すでにこれを行っています) 短所: 複雑さ(JNI、ネイティブC ++とJavaの間のサンクレイヤー、基本的に管理コードを2回記述する) 起こりうる安定性の問題 かなり多くのメモリを使用して、各プロセスにJVMが必要 JMXはC ++開発者向けの新しいテクノロジーです 各プロセスには独自のJMXポートがあります(各マシンで多くのプロセスを実行します) ローカルJMXデーモン、プロセスはそれに接続します メリット 各サーバーに単一の中央デーモン JavaとC ++の両方の一貫した管理インターフェース …
10 java  c++ 

2
Java Swingでモデルをビュー/コントローラーから完全に分離する方法
Java Swingアプリで、ModelクラスをView / Controllerクラスから分離するための、よく合意された設計ガイドラインのコレクションはありますか?ビュー/コントローラーがモデルについて何も知らないことをそれほど心配しているわけではありません。逆に、モデルを設計して、javax.swingで何も認識しないようにしたいと考えています。理想的には、CLIのようなプリミティブによって駆動できるようにする単純なAPIが必要です。大まかに言えば「エンジン」である必要があります。 モデルへのGUIイベントの伝達はそれほど難しくありません。アクション実行者はモデルのAPIを呼び出すことができます。しかし、モデルがGUIに反映する必要がある独自の状態変更を行う場合はどうでしょうか?それが「聞く」ことの目的ですが、「聞く」ことさえ完全に受動的ではありません。モデルがリスナーの追加について知っている必要があります。 考えさせられた特定の問題は、ファイルのキューに関係しています。GUI側にはのDefaultListModel後ろにありJList、ファイルシステムからファイルを選択してJListに追加するためのGUIがいくつかあります。モデル側では、この「キュー」の最下部からファイルをプルし(JListからファイルを非表示にします)、何らかの方法でそれらを処理します。実際、Modelコードは既に作成されています-現在、を維持しArrayList<File>、パブリックadd(File)メソッドを公​​開しています。しかし、モデルにSwing固有の大きな変更を加えずに、ビュー/コントローラーでモデルを機能させる方法について、私は途方に暮れています。 私はJavaとGUIプログラミングの両方に非常に慣れていないため、これまで「バッチ」プログラミングと「バックエンド」プログラミングを常に行ってきました。したがって、可能であれば、モデルとUIの間の厳密な分割を維持することに関心があります。教わります。
10 java  mvc  swing 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.