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

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

3
Java空間でのエンタープライズポータル戦略の代替手段は何ですか?
ポータルスペースでの幻滅 エンタープライズポータルの経験、特にWebSphere Portal Server(WPS)の領域に幻滅するようになった、大規模なエンタープライズクライアントの多くが気がかりです。何百万もの投資が行われていますが、集約および統合された共同作業ツールを使用したパーソナライズされたコンテンツの実現は決して実現していません。WPS 7.xへの移行は、大規模なリッピングと置き換えの動きであり、クライアントは完全に別の場所に移動すべきかどうか疑問に思っています。 ポータルソフトウェア:恐ろしいオプションですが、代替手段は何ですか ポータルには多くの嫌悪感があり、ポータルソリューションは実際には過剰すぎる場合がありますが、大規模な多国籍企業について話している場合、ポータルサーバーなしでグローバルソリューションを構築することをどのように推奨しますか? ポータルは、TomcatやJBoss ASほど楽しいとは限りませんが、複数のアプリケーションの統合、コンテンツの管理、個々のwarファイルとしてデプロイされる個々のアプリケーションの更新、ポートレットレベルまでのセキュリティ管理、特定のユーザーへのパーソナライゼーションの量、および大規模企業が社内および社外のWebサイトの一部として持っている数千のページを管理するという圧倒的なタスクを支援するために、より良い技術がありますか? コミュニティの洞察とフィードバックを集める 私はできるだけ多くの洞察を獲得しようとしています。この問題について、TSSに関する小さな記事を書きました。 ポータルには、他にどのような選択肢がありますか? また、CodeRanchでスレッドを復活させて、そのハンサムな乗組員から洞察を得られるかどうかを確認しています。 ポータルソフトウェアの戦略に代わるものを求める更新されたスレッド。2012年頃 twitterati(@potemcam)からの洞察も探しています。 コミュニティからの鋭い洞察を本当に集めようとする試みであるので、クロスポストではありません。確かな反応と経験を得ることができたら、TSSのアドバイス記事にまとめたいと思います。 Javaスペースでのエンタープライズポータルの正しい代替手段は何ですか? ちなみに、他のサイトからもこの質問にクロスリンクして、同じ質問をしている人が行き来して、このトピックに関してコミュニティが何を言っているかを確認できるようにします。

6
PHPとパフォーマンス
PHPは中規模および小規模のWebサイト用であるのに対し、.NETおよびJavaはエンタープライズアプリケーション用であるといつも聞きます。私の質問はPHPについてです。PHPがエンタープライズWebアプリケーションに適したオプションではないのはなぜですか?Webアプリケーションが大きくなると、インタープリター言語であるPHPが遅くなるからでしょうか? 企業の世界は、製品との統合やバックエンドサービスなどのために.NETまたはJ2EEを選択することを知っています。ただし、サイトやWebアプリケーションを構築するためのPHPがある場合、それを使用してどのように実行できますか大きなサイト? 要するに、PHPのパフォーマンスとWebサイトのサイズの間に関係はありますか?PHPが大規模サイトに適したオプションではない要因は何ですか?

7
Linqに相当する最高のJavaは何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 Linqの機能を提供することに近いJavaのライブラリはありますか?
17 java  linq 

2
JavaおよびJVMライセンス
Javaライセンスにより、他社は独自のバージョンのJava言語を作成したり、正確に実装したりできますか JVMについての同じ質問。 SunはMicrosoftがJava実装の.NETバージョンとGoogle AndroidのJavaを変更したとして訴えていると聞いたが、全体の概念を全体として把握することはできない。
17 java  licensing  jvm 

9
JavaはC#に追いつきますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 今日、私はどの言語C#またはJavaを勉強する方が良いかを尋ねる質問を投稿しました。素晴らしい答えがいくつかありました。登場したことの1つは、おそらくJavaが新しい機能を備えたC#の背後にあるということです。私はいくつかのWebリンクを見て、ほとんどがC#に何があり、javaに何がなかったかを指摘しました。 皆さんへの私の質問は、Javaが再びC#に追いつくことでしょうか?そして、あなたが5年後にどこに立つかを推測することになった場合。おそらく今欠けているものがすべてあるでしょうか?Java 7はどうですか?
17 java  c# 

6
この時点で、Javaのパブリックフィールドは悲劇的な歴史的な設計上の欠陥にすぎませんか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 この時点では、オブジェクトの状態にパブリックフィールドを使用することは基本的に決してすべきではないというのは、Javaの正統性のようです。(必ずしも同意するわけではありませんが、それは私の質問とは関係ありません。)それを考えると、今日からJavaのパブリックフィールドが言語設計の誤り/欠陥であったことは明らかです。それとも、今日でも言語の有用かつ重要な部分であるという合理的な議論がありますか? ありがとう! 更新: C#、Python、Groovyなどのよりエレガントなアプローチについて知っています。これらの例を直接探しているわけではありません。バンカーの奥深くにまだ誰かがいるのではないかと思っているだけで、公共の場がどれほど素晴らしいのか、大衆はただの羊なのかなどについてつぶやいています。 更新2:明らかに静的な最終公開フィールドは、公開定数を作成する標準的な方法です。オブジェクトの状態(不変の状態でさえ)にパブリックフィールドを使用することについてもっと言及していました。パブリックフィールドを定数ではなく、状態ではなく使用する必要があるという設計上の欠陥のように思えます。言語のルールは、ガイドラインではなく構文によって自然に実施されるべきです。

4
Java-完全に静的なクラスを持つことは悪い考えですか?
私は現在、より大きなソロプロジェクトに取り組んでおり、インスタンスを作成する理由がわからないクラスがいくつかあります。 たとえば、現在のダイスクラスはすべてのデータを静的に格納し、そのメソッドもすべて静的です。サイコロを転がして新しい値を取得したいときは、を使用するだけなので、初期化する必要はありませんDice.roll()。 私はこのような主な機能を1つだけ持っているいくつかの類似したクラスを持ち、すべてのイベントを担当する一種の「コントローラー」クラスで作業を開始しようとしています(プレイヤーが移動したとき、そうです)、このクラスでも同じ考えに従うことができることがわかりました。これらの特定のクラスに対して複数のオブジェクトを作成する予定はないので、それらを完全に静的にすることは悪い考えでしょうか? Javaに関しては、これが「悪い習慣」と見なされるのかと思っていました。私が見たものから、コミュニティはこのトピックに関して一種の分裂のように思われますか?とにかく、私はこれに関するいくつかの議論が大好きだし、リソースへのリンクも素晴らしいでしょう!

5
自身または他の2つのことを表すデータ型を作成する方法
バックグラウンド 私が取り組んでいる実際の問題は次のとおりです。カードゲームMagic:The Gatheringでカードを表現する方法が必要です。ゲーム内のほとんどのカードは見た目が普通のカードですが、一部は2つの部分に分かれており、それぞれに名前が付いています。これらの2部構成のカードの各半分は、カード自体として扱われます。そのため、明確にするためにCard、通常のカード、または2部構成のカードの半分(つまり、名前が1つだけのカード)を参照するためにのみ使用します。 したがって、基本タイプのCardがあります。これらのオブジェクトの目的は、実際には単にカードのプロパティを保持することです。彼らは本当に自分で何もしません。 interface Card { String name(); String text(); // etc } には2つのサブクラスがありCard、私はこれを呼び出していますPartialCard(2部構成のカードの半分)とWholeCard(通常のカード)。 PartialCardには2つの追加メソッドがあります:PartialCard otherPart()とboolean isFirstPart()。 代表者 私がデッキを持っている場合、それはWholeCardsではなくCardsで構成されている必要Cardがあり、a はである可能性がありPartialCard、それは意味がありません。そのため、「物理カード」を表すオブジェクト、つまり1つWholeCardまたは2つPartialCardのsを表すことができるオブジェクトが必要です。私は暫定的にこのタイプを呼んでいるRepresentative、とCard方法を持っているでしょうgetRepresentative()。Aは、Representativeカード(複数可)にほとんど直接的な情報を提供するだろう、それはそれ/それらへの唯一のポイントだろう、を表します。今、私の素晴らしい/クレイジー/愚かなアイデア(あなたが決める)は、WholeCardがとの両方 Cardを継承するということですRepresentative。結局のところ、彼らは自分自身を表すカードです!WholeCardsはgetRepresentativeとして実装できますreturn this;。 に関してはPartialCards、それらは自分自身を表しRepresentativeてはいませんが、a Cardではなく、2つPartialCardのにアクセスするためのメソッドを提供する外部を持っています。 このタイプの階層は理にかなっていると思いますが、複雑です。Cardsを「概念的なカード」と考え、Representativesを「物理的なカード」と考えると、ほとんどのカードは両方です。物理的なカードには実際には概念的なカードが含まれており、それらは同じものではないと主張することができると思いますが、私はそれらが同じだと主張します。 型キャストの必要性 のでPartialCard、SとWholeCardsともにCard、S、及びそれらを分離するためには良い理由は、通常はありません、私は通常、ちょうどと仕事ができると思いますCollection<Card>。そのPartialCardため、追加のメソッドにアクセスするためにs をキャストする必要がある場合があります。今は、明示的なキャストが本当に好きではないので、ここで説明するシステムを使用しています。そしてのようにCard、それらが表す実際のにアクセスするにはRepresentative、WholeCardまたはのいずれかにキャストする必要があります。CompositeCard 要約のために: ベースタイプ Representative ベースタイプ Card タイプWholeCard extends Card, Representative(アクセスは不要、それ自体を表す) タイプPartialCard extends Card(他の部分へのアクセスを許可) タイプComposite extends Representative(両方の部分にアクセスできます) これは非常識ですか?実際にはかなり理にかなっていると思うが、正直なところわからない。

4
多くのパラメーターを持つ単一のメソッドと、順番に呼び出す必要のある多くのメソッド
私は多くのこと(シフト、回転、特定の軸に沿ったスケーリング、最終位置への回転)を行う必要がある生データをいくつか持っていますが、コードの可読性を維持するためにこれを行う最善の方法はわかりません。一方では、必要なことを行うために多くのパラメーター(10以上)を備えた単一のメソッドを作成できますが、これは悪夢のようなコードです。一方、それぞれ1〜3個のパラメーターを持つ複数のメソッドを作成することもできますが、正しい結果を得るには、これらのメソッドを非常に特定の順序で呼び出す必要があります。メソッドが1つのことを行い、それをうまく行うことが最善であると読んでいますが、順番に呼び出す必要のある多くのメソッドがあると、見つけにくいバグのコードが開かれるようです。 バグを最小限に抑え、コードを読みやすくするために使用できるプログラミングパラダイムはありますか?
16 java  readability 

7
C#、Javaなどの数学指向コードの読みやすさを改善するにはどうすればよいですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 CプログラマとC#プログラマの両方として、私がC#で気に入らないことの1つは、数学関数の冗長性です。たとえば、サイン関数、コサイン関数、またはべき関数を使用する必要があるたびに、Math静的クラスを追加する必要があります。方程式自体が非常に単純な場合、これは非常に長いコードにつながります。データ型を型キャストする必要がある場合、問題はさらに悪化します。その結果、私の意見では、読みやすさが低下します。例えば: double x = -Math.Cos(X) * Math.Sin(Z) + Math.Sin(X) * Math.Sin(Y) * Math.Cos(Z); 単純に反対 double x = -cos(X) * sin(Z) + sin(X) * sin(Y) * cos(Z); これは、Javaのような他の言語にも当てはまります。 この質問に実際に解決策があるかどうかはわかりませんが、C#またはJavaプログラマーがMathコードの可読性を向上させるために使用するトリックがあるかどうかを知りたいと思います。ただし、C#/ Java / etc。MATLABなどの数学指向の言語ではないため、理にかなっています。ただし、場合によっては数学コードを記述する必要があり、読みやすくすることができれば素晴らしいことです。
16 java  c#  math  readability 

4
Javaに「サブクラスのみ」のアクセス修飾子がないのはなぜですか?
Javaには、メソッドに使用可能な4つのアクセス修飾子があります。 public -すべてのクラスがこのメソッドを使用できます。 protected -同じパッケージ内のクラスおよび任意のパッケージ内のサブクラスは、このメソッドを使用できます。 private -このクラスのみがこのメソッドを使用できます。 no modifier ( "package private")-同じパッケージ内のクラスのみがこのメソッドを使用できます。 よく起こるのは、すべてのサブクラスが使用できる便利なメソッドをスーパークラスに入れたいということです。しかし、他のクラスがこのメソッドにアクセスすることは意味がなく、ある意味ではカプセル化を破ります。 したがって、これらの便利なメソッドをスーパークラスpublicまたはで宣言するprotected必要があります。これにより、少なくともパッケージ内の他のすべてのクラスに公開されます。それらはサブクラスによってのみ使用されることを意図していますが。 subclasses-onlyJavaにアクセス修飾子がない理由はありますか?私にはとても奇妙に思えます。何か不足していますか? また、subclasses-onlyアクセス修飾子は、サブクラスにのみ変数を公開する場合にも役立ちます。私にはこれがよく起こります。

2
ユニバーサル構造をより効率的にするにはどうすればよいですか?
「ユニバーサルコンストラクション」は、シーケンシャルオブジェクトの線形化を可能にするラッパークラスです(同時オブジェクトの強力な整合性条件)。たとえば、Javaでの[1]からの適応された待機なしの構築は次のとおりです。WFQこれは、インターフェイスを満たす(スレッド間の1回限りのコンセンサスを必要とする)待機なしキューの存在を前提とし、Sequentialインターフェイスを想定しています: public interface WFQ<T> // "FIFO" iteration { int enqueue(T t); // returns the sequence number of t Iterable<T> iterateUntil(int max); // iterates until sequence max } public interface Sequential { // Apply an invocation (method + arguments) // and get a response (return value + state) Response apply(Invocation i); …

6
リフレクションを(過剰に)使用するのは悪い習慣ですか?
定型コードの量を大幅に減らす場合は、リフレクションを使用することをお勧めしますか? 基本的に、一方の側でパフォーマンスとおそらく読みやすさと、他方の側で定型コードの抽象化/自動化/削減との間にトレードオフがあります。 編集:推奨されるリフレクションの使用例を次に示します。 例として、Base10個のフィールドと3個のサブクラスSubclassAをSubclassB持ち、SubclassCそれぞれが10個の異なるフィールドを持つ抽象クラスがあるとします。それらはすべて単純なBeanです。問題は、2つのBase型参照を取得し、対応するオブジェクトが同じ(サブ)型であり、等しいかどうかを確認することです。 ソリューションとしては、最初にタイプが等しいかどうかをチェックしてからすべてのフィールドをチェックするか、リフレクションを使用して同じタイプであるかを動的に確認し、「get」(convention構成上)、両方のオブジェクトでそれらを呼び出し、結果で等しいを呼び出します。 boolean compare(Base base1, Base, base2) { if (base1 instanceof SubclassA && base2 instanceof SubclassA) { SubclassA subclassA1 = (SubclassA) base1; SubclassA subclassA2 = (SubclassA) base2; compare(subclassA1, subclassA2); } else if (base1 instanceof SubclassB && base2 instanceof SubclassB) { //the same } //boilerplate } boolean compare(SubclassA …

1
型消去を実行する必要がなくなるようにJavaを改善するにはどうすればよいですか?
ジェネリック医薬品の公式のJavaチュートリアルでは、型消去を説明し、なぜそれがコンパイラに追加されました。 ジェネリック型がインスタンス化されると、コンパイラーは型消去と呼ばれる手法でこれらの型を変換します。コンパイラーは、クラスまたはメソッド内の型パラメーターと型引数に関連するすべての情報を削除するプロセスです。型消去により、ジェネリックを使用するJavaアプリケーションは、ジェネリックの前に作成されたJavaライブラリおよびアプリケーションとのバイナリ互換性を維持できます。 これはおそらく実用的なアプローチであるか、おそらく最も痛みの少ないアプローチでした。しかし、ジェネリックは業界全体で広くサポートされているので、型消去を必要としないために何ができるでしょうか?後方互換性を壊す必要なく実行可能ですか?それが実行可能であれば、実用的ですか? 上記の引用の最後の文は自己参照になりましたか?つまり、「型消去により、ジェネリックを使用するJavaアプリケーションは、型消去を実行するJavaバージョンで作成されたJavaライブラリおよびアプリケーションとのバイナリ互換性を維持できます。」
16 java  jvm 

9
コンストラクターまたはセッターメソッドを使用しますか?
私はActionクラスを持っているUIコードで作業しています、このようなもの- public class MyAction extends Action { public MyAction() { setText("My Action Text"); setToolTip("My Action Tool tip"); setImage("Some Image"); } } このActionクラスが作成されたとき、Actionクラスはカスタマイズできないと想定されていました(ある意味で、そのテキスト、ツールチップ、またはイメージはコードのどこでも変更されません)。現在、コード内の特定の場所でアクションテキストを変更する必要があります。そのため、ハードコーディングされたアクションテキストをコンストラクターから削除し、引数として受け入れるように同僚に提案しました。以下のこのコードのようなもの- public class MyAction extends Action { public MyAction(String actionText) { setText(actionText); setTooltip("My Action tool tip"); setImage("My Image"); } } ただし、setText()メソッドは基本クラスに属しているため、アクションインスタンスが作成された場所にアクションテキストを渡すために柔軟に使用できると考えています。そうすれば、既存のMyActionクラスを変更する必要はありません。したがって、彼のコードは次のようになります。 MyAction action = new MyAction(); //this creates action …

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