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

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

3
ほとんどのユーザーにリーチするには、デスクトップアプリケーションにどのバージョンのJavaを使用すればよいですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 ほとんどのエンドユーザーがJava 8よりも古いバージョンを使用していると想定するのは正しいですか?私のアプリケーションを使用するために人々に強制的にアップグレードさせたくないので、たとえそれが新しいバージョンの利点を自分に適用できない場合であっても、最初からJava 7または6を使用するように計画する必要があります開発者として?

2
JavaにはJVMがありますが、Cには何がありますか?
Cにはコンパイラーがあることは知っていますが、実行パフォーマンスを決定するものは何ですか? たとえば、if elseブロックで、if elseの代わりにすべてのifがコードに含まれている場合、すべてのifが実行されると判断するものは何ですか?JavaではJVMになりますが、Cでは実行コンパイラのことは何ですか?
15 java  c 

2
「ユーティリティ関数」クラスを使いこなす
Javaコードベースでは、次のパターンを見続けています。 /** This is a stateless utility class that groups useful foo-related operations, often with side effects. */ public class FooUtil { public int foo(...) {...} public void bar(...) {...} } /** This class does applied foo-related things. */ class FooSomething { int DoBusinessWithFoo(FooUtil fooUtil, ...) { if (fooUtil.foo(...)) fooUtil.bar(...); …

4
読みやすくするためだけに、単純なクラスでコレクションをラップするのはやり過ぎですか?
次のマップがあります。 Map<Double, List<SoundEvent>> soundEventCells = new HashMap<Double, List<SoundEvent>>(); これHashMapは、double値(ある時点)を対応するSoundEvent「セル」にマップします。各「セル」には、多数のSoundEventsを含めることができます。それがaとして実装されているList<SoundEvent>理由です。それがまさにそれだからです。 コードを読みやすくするために、次のような非常に単純な静的内部クラスを実装することを考えました。 private static class SoundEventCell { private List<SoundEvent> soundEvents = new ArrayList<SoundEvent>(); public void addEvent(SoundEvent event){ soundEvents.add(event); } public int getSize(){ return soundEvents.size(); } public SoundEvent getEvent(int index){ return soundEvents.get(index); } // .. remove() method unneeded } また、マップ宣言(および他の多くのコード)の方が見栄えがよくなります。たとえば、次のようになります。 Map<Double, SoundEventCell> soundEventCells …

1
Javaアプリケーション構造:水平分割と垂直分割
大きなJavaアプリケーションのプロジェクト構造(Maven / Eclipseを使用)の開始について少し議論します。 オプション1: entities (i.e. the whole database using Hibernate classes-first) services (i.e. sets of read/write operations on the entities) app (perhaps split up more further down the line) オプション2: area1-entities area1-services area1-app area2-entities area2-services area2-app ... (where area1, area2 etc. are functional areas of the system) オプション2を使用すると、明らかにMavenプロジェクト/モジュールが大幅に増え、データベースを生成するクラスが複数のプロジェクトに分散されます。誰もが各アプローチの長所/短所をアドバイスできますか?

2
エンティティからDTOへの使用
基本的な階層型Webアプリケーションのフローを考え出そうとしており、競合する情報をオンラインで読んでいます。私が理解しようとしているのは、何らかのマッパーを使用して、DAOからサービスレイヤーへのDTOオブジェクトを引き続き使用する利点があるかどうかです。 私が予見する基本的な流れは次のとおりです。 UIモデル/フォーム->コントローラー コントローラーはモデルをドメインオブジェクト(エンティティ)に変換します ドメインオブジェクト->サービスレイヤー ドメインオブジェクト-> DAO DAO->ドメインオブジェクト サービス-> UI UIはドメインをUIモデルに変換します DTOに従った場合、DAOはエンティティではなくDTOを返します。(少なくともJavaでは)エンティティがアノテーション付きのPOJOになったため、DTOがわずかに機能しなくなったようです。つまり、メモリフットプリントが非常に小さくなっています。 これは事実ですか、それともDTOを使用してドメインオブジェクトをDAOレイヤー内に完全にカプセル化する必要がありますか?また、この場合、サービスレイヤーはDAOに何を渡しますか? 本当にありがとう!
15 java  entity  jpa 

5
Java(Android)での多重継承の適切な回避策
複数の継承を必要とするコードの適切な実装に概念的な問題がありますが、これは多くのオブジェクト指向言語では問題になりませんが、プロジェクトはAndroid用であるため、multipleのようなものはありませんextends。 私はそのような単純な異なる基底クラスから派生し、活動の束を持ってActivity、TabActivity、ListActivity、ExpandableListActivity、などまた、私は私がに配置する必要があり、いくつかのコードの断片を持っているonStart、onStop、onSaveInstanceState、onRestoreInstanceStateおよびすべての活動で他の標準のイベントハンドラ。 すべてのアクティビティの単一の基本クラスがある場合、特別な中間派生クラスにコードを配置し、それを拡張するすべてのアクティビティを作成します。残念ながら、複数の基本クラスがあるため、これは当てはまりません。しかし、コードの同じ部分をいくつかの中間クラスに配置することは、進むべき道ではありません。 別のアプローチは、ヘルパーオブジェクトを作成し、上記のイベントのすべての呼び出しをヘルパーに委任することです。ただし、これにはヘルパーオブジェクトを含める必要があり、すべてのハンドラーをすべての中間クラスで再定義する必要があります。したがって、ここでの最初のアプローチに大きな違いはありません-まだ多くのコードの重複。 Windowsで同様の状況が発生した場合、基本クラス(ActivityAndroid のクラスに「対応する」)をサブクラス化し、適切なメッセージを(1か所で)トラップします。 このためにJava / Androidで何ができますか?Javaインストルメンテーション(実際の例もあります)などの興味深いツールがあることは知っていますが、私はJavaの第一人者ではありません。 他の適切な解決策を見逃した場合は、それらに言及してください。 更新: Androidで同じ問題を解決することに興味がある人のために、簡単な回避策を見つけました。Applicationクラスが存在します。これは、とりわけインターフェイスActivityLifecycleCallbacksを提供します。すべてのアクティビティの重要なイベントをインターセプトし、重要なイベントに値を追加できるようにするために必要なことを正確に行います。このメソッドの唯一の欠点は、APIレベル14から使用できることです。多くの場合、これは十分ではありません(今日ではAPIレベル10のサポートが一般的な要件です)。

5
メソッドから複数の戻り値を返す方法:戻り値を表すクラス内にメソッドを配置します。それは良いデザインですか?
メソッドから2つの値を返す必要があります。私のアプローチは次のとおりです。 これらの2つの値を保持するために使用される2つのフィールドを持つ内部クラスを作成します そのクラス内にメソッドを配置します クラスをインスタンス化し、メソッドを呼び出します。 メソッドで変更される唯一のことは、最終的にインスタンスのフィールドにこれらの2つの値を割り当てることです。次に、そのオブジェクトのフィールドを参照することで、これらの値に対処できます。 それは良いデザインですか?それはなぜですか?

1
Java暗号化拡張機能
Javaアプリ内でAES256暗号化をサポートするには、JCEとUnlimited Strength Jurisdiction Policy Filesが必要だと言われました。 これをOracleからダウンロードして解凍すると、2つのJARしか表示されません。 local_policy.jar; そして US_export_polic.jar ここで何も見逃していないことを確認したいだけです!私の理解(読んだ後README.txt)は、これら2つを<JAVA_HOME>/lib/security/ディレクトリにドロップするだけで、インストールする必要があるということです。 これらのJARの名前からすると、AES256を処理できないJava Crypto APIではないと仮定する必要がありますが、実際には法的な問題です。そして、これら2つのJARは基本的にJREに「はい、このレベルの暗号(AES256)を実行することは法的に受け入れられます。」と言います。

3
Javaで高度にスケーラブルなWebサービスを設計する方法は?
2000人の同時ユーザーを持つWebサービスを作成しています。このサービスは無料で提供されるため、大規模なユーザーベースを獲得することが期待されています。将来的には、最大50,000ユーザーまで拡張することが必要になる場合があります。 /programming/2567254/building-highly-scalable-web-servicesのような問題に対処する他の質問が既にいくつかあり ます。 ただし、私の要件は上記の質問とは異なります。 たとえば、私のアプリケーションにはユーザーインターフェイスがないため、画像、CSS、javascriptは問題になりません。Javaであるため、HipHopを使用してPHPをネイティブコードに変換するなどの提案は役に立ちません。 したがって、私は個別に質問をすることにしました。 これは私のプロジェクトのセットアップです- Apache CXFを使用したRESTベースのWebサービス Hibernate 3.0(遅延ロードやチューニングのためのカスタムHQLなどの関連する最適化を使用) Tomcat 6.0 MySql 5.5 Javaベースのアプリケーションをスケーラブルにするために従うべきベストプラクティスは何ですか?

4
Java / JVM内部へのアプローチ[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 私は約8年間Javaでプログラミングしており、開発者としてこの言語をよく知っていますが、私の目標は内部の知識を深めることです。PL設計の学部課程を受講しましたが、非常に幅広い学問的概要(Scheme、IIRC)でした。 誰かが詳細な調査を開始するためのルートを提案できますか?具体的には、特定のトピック(ガベージコレクションなど)がありますか?JVMの内部とJavaプログラミング言語の設計に関するまともな高レベルの本はありますか?私の現在のアプローチは、JVM仕様から開始し、必要に応じて調査することです。
15 java  books  jvm 

2
相互に参照する2つのオブジェクトをシリアライズおよびデシリアライズするとどうなりますか?
より明確にするために、これは簡単な例です。 class A implements Serializable { public B b; } class B implements Serializable { public A a; } A a = new A(); B b = new B(); a.b = b; b.a = a; では、aオブジェクトとbオブジェクトをファイルにシリアル化し、そのファイルから逆シリアル化するとどうなりますか? 4つのオブジェクト、それぞれ2つを取得すると思った。同一のオブジェクトですが、異なるインスタンス。 しかし、他に何かあるのか、それとも正しいのか間違っているのかはわかりません。 答える必要のある技術がある場合は、Javaに基づいて考えてください。 ありがとうございました。

2
プログラムの実行中にJavaコードをデバッグ/変更する方法は?
ノッチ(Minecraftの名声)が実行中にMinecraftをデバッグおよび変更する様子を示すビデオを見ました。彼はゲームを一時停止し、コード内の何かを変更してから、プログラムの再起動を必要とせずに変更が即座に有効になるゲームの一時停止を解除します。 これはどのように作動しますか?これを達成するためにどのような手法が使用されていますか?
15 java  debugging 

6
最初にAndroidにジャンプするか、Javaの基本を学びますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 私はCにかなり精通しており、C ++をある程度知っていますが、Javaに触れたことはありません。最近、私は可能性があると思うアプリのアイデアを得て、それを開発したいと思っています。 最初にAndroidに移行する予定です。Mac/ iPhoneを必要としないためです。 だから私の質問は次のとおりです:私はAndroid開発の学習に直行し、Java構文を習得してそれを必要とします(結局はC / C ++と大きく異なるとは思わない)、またはいくつかを取る必要があります最初にJavaの基礎を学び、次にAndroid開発を開始するのに数週間かかりますか?
15 java  android 

2
Scalaを試す前にJavaを知る必要がありますか
Scalaの学習に興味があります。私はそれについて多くのことを読んでいますが、多くの人々はそれを高く評価しています 私の質問は、Scalaで物事がどのように機能するかを理解/評価するためにJavaを知る必要があるということですか?最初にJavaでスタブを実行してからScalaを試す方が良いでしょうか、それともJavaのバックラウンドをまったく使用せずにScalaを起動できますか?
15 java  scala 

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