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

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

2
JSONのクエリ言語
非常に大きなJSONメッセージを返すサーバーがあり、クライアントアプリケーションはこの応答の一部にのみ依存しています。クライアントアプリケーションは、JSONメッセージに「xyz」プロパティが存在するかどうかを確認する必要があり、結果に応じて特定のユースケースを実行します。 この要件については、JSONメッセージ全体をオブジェクトに変換するのは少し費用がかかるため、この質問があります。 XMLのような標準のJSONクエリ言語はありますか?「はい」の場合、Javaでのこのクエリ言語の実装が最もよく知られています。 参考:サーバー側で新しいサービスを変更または追加することはオプションではありません。
11 java  json 

3
モバイルプラットフォームが世代別ガベージコレクションをサポートしないのはなぜですか?
Windows Phone / XboxとAndroidの両方で、世代別ガベージコレクションがサポートされていません。これは多くのプログラマにとってイライラさせられます。それには正当なエンジニアリング上の理由があるように見えますが、私はそれを理解できません。 現在の携帯電話は、2001年に世代別GCを備えた.NET 1.1を実行しているデスクトップ/ラップトップよりも多くのメモリとおそらく優れたCPUを備えています。また、電話やコンソールでのマルチタスクの必要性が少なくなるため、比較的多くの空きヒープスペースがあります。 それで何が得られますか? 編集:明確にするためのいくつかのポイント: これらのプラットフォームはアプリ専用のガベージコレクションを使用するため、私の質問はGCがサポートされない理由ではありません。私の質問は、世代別ガベージコレクションがそうではない理由についてです。 世代別GCの欠如に人々が不満を抱いている理由は、非世代別GCが非常に非効率的だからです。(つまり、バッテリーの寿命が理由ではないことを意味します。) 世代別GCのサポートがないことには、正直な技術的理由があると思います。これは修辞的な質問ではありません。

3
Blackboard Patternの最新のJava実装?
「The Pragmatic Programmer」で詳述されているBlackboard Patternの Javaの実用的な最新アプリケーションの余地はありますか?この概念の実装を支援しようとする特定のライブラリはありますか?現在のソフトウェアコミュニティ(特にJava)におけるこのパターンに関する一般的なコンセンサスは何ですか? このアイデアは興味をそそるものですが、本のこの部分は時代遅れかもしれないと感じています。 この概念に慣れていない場合:http : //flylib.com/books/en/1.315.1.55/1/
11 java 

3
大量のRAMを必要とするアプリケーションにC ++またはJavaを選択しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 私は、主にプロセッサに依存し、ヒープ使用量が重い(少なくとも数ギガバイト)科学アプリケーションを考えています。1年のどの時期でもC ++を喜んで使用しますが、この場合、C ++メモリマネージャーにとって自然な断片化がJavaの圧縮コレクターの利点と比較して重大な問題になるのではないかと思います。 誰もこれに関連する実世界の例を指すことができますか?
11 java  c++  memory  big-data 

3
存在タイプはインターフェイスとどのように異なりますか?
存在タイプを考える T = ∃X.{op₁:X, op₂:X→boolean} この汎用Javaインターフェース: interface T<X> { X op₁(); boolean op₂(X something); } 存在タイプとJavaインターフェースの基本的な違いは何ですか? 明らかに、構文上の違いとJavaのオブジェクト指向(隠されたthisパラメーターなどの詳細も含まれます)があります。概念的および意味的な違いほどこれらに興味はありませんが、誰かがより細かい点(Tvs. 間の表記上の違いなどT<X>)を明らかにしたい場合は、それも高く評価されます。

10
セキュリティ制限により、サービスがnullを返すか、例外をスローする必要がありますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私はこの問題に関して、より経験豊富な開発者と少し意見の相違があり、他の人がそれについてどう思うか疑問に思っています。私たちの環境は、Java、EJB 3、サービスなどです。 私が書いたコードは、物を取得して物を作成するサービスを呼び出します。私が遭遇した問題は、意味をなさないヌルポインタ例外を受け取ったことです。たとえば、サービスにオブジェクトの作成を依頼すると、nullが返されます。既知の有効なIDを持つオブジェクトを検索しようとすると、nullが返されます。私は自分のコードで何が間違っていたのかを理解しようといくつかの時間を費やしました。私は経験が少ないので、私は通常、何か間違ったことをしたと思いますが、nullリターンの理由はセキュリティであることがわかります。私のサービスを使用しているユーザープリンシパルがターゲットサービスに対する適切なアクセス許可を持っていなかった場合、単にnullを返します。ここにある他のほとんどのサービスもあまり文書化されていないので、明らかにこれはあなたが知っておくべきことです。 これは、サービスと対話するコードを作成する開発者としてはかなり混乱します。サービスに例外があり、ユーザーにこの物をロードしたり、物を作成したりするための適切なアクセス許可がないことを教えてくれるなら、それは私にとってはるかに理にかなっています。そうすると、サービスが期待どおりに機能しなかった理由がすぐにわかります。 サービスを書いた経験豊富な開発者は、データの要求はエラー状態ではなく、例外はエラー状態でのみスローされるべきであり、ユーザーがデータにアクセスできないときではないと主張しました。このデータは多くの場合GUIで検索され、適切な権限のないユーザーの場合、これらは単に「存在しません」。要するに、質問は間違っていないため、例外ではありません。これらのユーザーには「存在しない」ものがあるため、getメソッドはnullを返します。ユーザーがそのモノを作成することを許可されなかった場合、Createメソッドはnullを返します。 これは正常なものですか?何が起こっているのかを知るのがずっと簡単だと思うので、例外を使うことを好みます。そのため、たとえば、nullを返すのではなく、無効なIDを持つオブジェクトを要求した場合にNotFoundExceptionをスローすることも好みます。

4
Javaの代わりにscalaが良い選択でしょうか?
Java(frameworks / ECOシステムなど)のすべての.net開発者をトレーニングする新しいプロジェクトを開始します。C#で記述された多くのコードがあり、すべてJavaで書き直す必要があるため、これらはすべて無駄になるようです。私が見る問題は、最初の1年かそこら(おそらく2年)は以前のものが今はJavaであったものを再現するためにほとんどの時間を費やすため、何も提供できないことです。 私たちのチームは世界中のさまざまなオフィスに分散しており、多数のJava開発者(20から30)と10人の開発者が.netを使用しているため、すべての開発者が同じ言語/プラットフォームを使用して、コンポーネント/モジュールを再利用します。だから私は経営者の視点を理解できます。 昨日、Scalaに出会い、現在の製品(C#で記述されている)でこれを使用する方が良いかどうか疑問に思っていました。少なくとも1年で機能する製品ができます。また、製品の他の部分を移行しながら、1年でJavaの世界で使用できるモジュールがあります。 私たちが達成しようとしていることを考えると、ScalaはJavaよりも良い選択でしょうか?
11 java  c#  scala 


6
Javaでは複数の値がどのように返されますか?
関数から複数の値を返したい場合があります。 これは通常 Javaでどのように行われますか? 1つのオプションは、リストまたはタプルを返すこのPythonスニペットのような配列を使用することです。 value, success = read_unreliably() if success: print value 別のオプションは、次のJavaScriptの例のように、ハッシュ/辞書を返すことです。 var result = readUnreliably() if (result.success) { alert(value); } もう1つは、このJavaの例のように、この目的のためだけにカスタムオブジェクトを作成することです。 ReadUnreliablyResult result = readUnreliably() if (result.getSuccess()) { System.out.println(result.getValue()); } もちろん、物事をやり取りする代わりに、いくつかのグローバル変数を使用して必要なものを保存することもできますが、それはオプションではないと言ってみましょう。

5
コードでランタイム例外を処理することは良い習慣ではありませんか?
私はJavaアプリケーションで作業していますが、実行時例外は多くの場所で処理されることがわかります。例えば、 try { // do something } catch(NullPointerException e) { return null; } 私の質問は、いつランタイム例外を処理するのが良い習慣ですか?例外を未処理のままにする必要があるのはいつですか?
11 java  exceptions 

4
J2EE、特にJPAの学習を開始する方法[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 私はのJ2EE一部を学び始めようとしていJavaます。しかし、どこから始めればいいのかわかりません。私はfamilierだCore Javaと主に、私が学びたいJPAとの基本HibernateとSpring Framework。この主な理由は、これらすべてを使用するプロジェクトに取り組んでいるからです。また、ほとんどのコードは一部の上級者によって開発されており、その中にいくつかの修正を加える必要があります。だから基本的に私は彼らのコードを理解する必要があります。 事前に知っておく必要のあることや、どの順序で行かなければならないかなど、誰かが私に一種のロードマップをくれますか?リンク、書籍などの参考資料はありますか?

3
確立されたエンタープライズ環境に新しいJVMプログラミング言語を導入する
現在の職場がJavaショップだと想像してください。Java言語については多くの知識が蓄積されており、すべてをスムーズでアジャイルな方法で処理するための包括的なビルドおよび展開プロセスが用意されています。 ある日、たとえばRubyで書かれようと叫ぶプロジェクトが始まります。上級開発者のみがRubyについての手がかりを持っていますが、JVMにはJRubyが存在するため、既存のインフラストラクチャを引き続き使用およびサポートできるという一般的な考え方があります。また、JRubyは、より少ないコードで現在のアプリケーションを実装するより良い方法への道を示すことができるため、これは継続的な移行を表すことができます。 JRubyは単なる例であり、Clojure、Groovy、またはJVM上で実行される他のすべてのものであることを忘れないでください。 問題は、このような変更をどのように導入するかです。

4
JavaのクロージャはJavaコミュニティにどのような影響を与えますか?
これは、Javaで計画されている機能について最も話題の1つであるClosuresです。私たちの多くは彼らを切望しています。私たちの中には(Iを含む)少し我慢できず、スクリプティング言語を利用してその空白を埋めています。 しかし、クロージャがついにJavaに到達すると、Javaコミュニティにどのように影響しますか?VMをターゲットとするスクリプト言語の進歩は、クロールの速度を落とすのか、そのままにするのか、それとも容認するのか?人々は新しいクロージャー構文に群がり、Javaコードベースをより機能的に構造化された実装に変えますか?Java全体にクロージャが散在するのを見るだけでしょうか ツール/ IDEサポートにどのような影響がありますか?パフォーマンスはどうですか?そして最後に、人気が高まっている他の言語と比較して、Javaが言語として継続的に採用されることはどういう意味ですか? 提案されている最新のJava Closure構文仕様の1つの例を提供するには: public interface StringOperation { String invoke(String s); } // ... (new StringOperation() { public invoke(String s) { new StringBuilder(s).reverse().toString(); } }).invoke("abcd"); になるだろう... String reversed = { String s => new StringBuilder(s).reverse().toString() }.invoke("abcd"); [ソース:http://tronicek.blogspot.com/2007/12/closures-closure-is-form-of-anonymous_28.html]
11 java  closures 

3
Javaで非推奨にするタイミングと削除するタイミング
リファクタリングの努力または継続的な開発の一環として、特定のメソッドまたはクラス全体が何らかの意味で廃止される可能性があります。Javaは@Deprecated注釈をサポートして、問題の機能を処理するより良い方法があることを示します。これは、APIの一部を削除した場合の影響がわからないかもしれないパブリックAPIで特に役立つと思います。非パブリックAPIおよびリビジョン管理システムを使用するプロジェクトの場合(削除は何らかの意味で元に戻すことができます)、廃止された要素を削除するのではなく、廃止するのが適切なのはいつですか?

7
構造化プログラミングとオブジェクト指向プログラミング
私は構造プログラミングとオブジェクト指向プログラミングの違いを示すプレゼンテーションを行っていますが、OOPの概念を適用することでコーディングが非常に簡単になり、OOPが本当に必要であると視聴者に感じられる例を挙げて、人々がOOPを必要とする理由を説明したいと思います。 何か案は ??

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