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

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

2
このタイプのリスト/マップのデータ構造はありますか?
おそらく私が欲しいものには名前がありますが、私はそれを知りません。LinkedHashMapJavaのa に似たものが必要ですが、指定されたキーに値がない場合に「前の」値を返します。 つまり、整数キー(私の場合は時間単位)によって格納されたオブジェクトのリストがあります。 ; key->value 10->A 15->B 20->C したがって、キー0〜9の値を照会すると、が返されnullます。特別な部分は、何か10 <= i <= 14を照会した場合、Aを返します。または、i> = 20の場合、Cを返します。 これにデータ構造はありますか?

6
関数パラメーター名の前にp *を付ける利点は何ですか?
関数パラメーターの前にを付けたプロジェクト(Eclipseを使用するJavaプロジェクトおよびチーム)をよく見ますp。 例えば public void filter (Result pResult) ... 私は個人的にはこれには何の利点も見ていませんが、その理由は何か知りたいです。私が聞いた中で最も良い説明は、同じ名前のフィールドの名前を区別することだということです。その説明には問題がありますが、ポイントは理解できます。

7
ワークフローツールの価値は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 私はワークフロー開発に不慣れであり、「全体像」を実際に得ているとは思わない。あるいは、別の言い方をすれば、これらのツールは現在私の頭の中で「クリック」していません。 そのため、企業はプロセスを説明するビジネス図面を作成するのが好きで、ある時点で誰かがプログラムのようなステートマシンを使用して、図のような線やボックスからプロセスを実際に制御できると決めたようです。10年後、これらのツールは巨大で非常に複雑になりました(私の会社は現在WebSphereで遊んでいます。私はトレーニングに参加しました。巨大で複雑ですが、WebSphereである獣ほど複雑ではありません)。 この方法で行うことの大きな利点は何ですか?単純な線図とボックス図が有用であることはある程度理解できますが、これらのことは、私が知る限り、この時点では条件とループを備えた視覚的なプログラミング言語です。ここのプログラマーは、ラインとボックスのレイヤーでかなりの量の作業を行っているように見えますが、私にとっては、本当にくだらない、本当に基本的な視覚プログラミング言語のように見えます。 そこまで行くなら、なんらかのスクリプト言語を使用してみませんか?人々はこれでお風呂の水で赤ちゃんを投げ出しましたか?線と箱のことはばかげたレベルになっていますか、それとも私はこのすべての価値を理解していないのですか? この技術を使って働いた人々がこれを擁護する議論を見て、なぜそれが役に立つのかを理解したいと思います。私はそれに価値を見ませんが、私もこれに慣れていないことを認識しており、まだ十分に理解できないかもしれません。
22 java  workflows  soa  bpm 

11
APIドキュメントなしでプログラミングするのに本当に必要なスキルですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 今日、私はJavaプログラミング試験にほとんど合格しませんでした。スレッド化に関するいくつかの一般的な質問によく答えたので、それよりも少しだけスレッド化されたプログラムを書く必要がありました。私はラップトップをプロジェクターのスクリーンに接続し、すぐにプログラムを書く必要がありました。私の最初の試みは匿名クラスを使用することでしたが、正確な構文を忘れていました。たぶん、いくつかの興奮のためか、最後の2週間はほとんどphpでコーディングしていたためかもしれません。次に、APIドキュメントの使用を許可するかどうかを尋ねました。答えは「いいえ」でした。それで、私は別の方法を試すことにし、Runnableを実装しました。プログラムは、最後に要求されたことを実行していました。もちろん、試験官は私の最初の失敗に気付き、それが私のスコアに大きな影響を与えました。APIドキュメントの使用が許可されていないことに驚きました。 だから、私の質問は次のとおりです。APIドキュメントなしで完璧にコーディングできることは本当に重要ですか?このスキルを開発する必要がありますか?それは現実の世界と作業環境で本当に重要ですか?プログラミングコースでは、学習パターン、優れたデザインアプリケーションを作成するスキル、APIを使用して必要な情報をすばやく見つけるスキルの開発に焦点を当てました。APIドキュメントなしでプログラミングする方法を学ぼうとしていませんでした。就職の面接(API文書なしのコーディング)中に必須アイテムですか?

10
「開発者の不適切な最適化の直感」を回避するにはどうすればよいですか?
この声明を発表した記事を見ました: 開発者は、適切な理由でコードを最適化することを好みます。それはとても満足で楽しいです。ただし、最適化のタイミングを知ることははるかに重要です。残念ながら、開発者は一般に、アプリケーションのパフォーマンスの問題が実際にどこにあるのかについて恐ろしい直感を持っています。 開発者はこの悪い直感をどのように回避できますか?コードのどの部分が本当に最適化が必要かを見つけるための優れたツールはありますか(Javaの場合)?このテーマに関する記事、ヒント、または良い読み物を知っていますか?
22 java  performance 


5
自明ではない条件文をループの初期化セクションに移動する必要がありますか?
stackoverflow.comのこの質問からこのアイデアを得ました 一般的なパターンは次のとおりです。 final x = 10;//whatever constant value for(int i = 0; i < Math.floor(Math.sqrt(x)) + 1; i++) { //...do something } 私がやろうとしているのは、条件付きステートメントが複雑なものであり、変わらないということです。 ループの初期化セクションで宣言する方がいいですか? final x = 10;//whatever constant value for(int i = 0, j = Math.floor(Math.sqrt(x)) + 1; i < j; i++) { //...do something } これはもっと明確ですか? 条件式が次のように単純な場合 final …

6
渡された引数を使用してメソッドを許可する必要がありますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 foo(String bar)特定の条件を満たす文字列に対してのみ動作するメソッドがあるとします。たとえば、小文字である必要があり、空または空白のみでなく、パターンに一致する必要があります[a-z0-9-_./@]+。メソッドのドキュメントには、これらの基準が記載されています。 メソッドはこの基準からのすべての逸脱を拒否する必要がありますか、それともメソッドはいくつかの基準についてより寛容である必要がありますか?たとえば、初期メソッドが public void foo(String bar) { if (bar == null) { throw new IllegalArgumentException("bar must not be null"); } if (!bar.matches(BAR_PATTERN_STRING)) { throw new IllegalArgumentException("bar must match pattern: " + BAR_PATTERN_STRING); } this.bar = bar; } そして2番目の寛容な方法は public void foo(String bar) { if (bar == …
21 java  parameters 

3
「プラス」と「マイナス」は適切なメソッド名ですか?
Java SE 8には、時刻、インスタントLocalDate、LocalTimeおよびLocalDateTimeクラスを紹介するクラスを導入するための新しいメカニズムが付属しています。そのようなインスタントを操作するために、一連のメソッドが提供されます:LocalDate.plusDays(...)などLocalDate.minusDays(...)。 メソッドは、実際には実行される操作であり、アクションを実行するものであるため、良いプラクティスは、メソッドの目的を説明する動詞にちなんでメソッドに名前を付けることだと常に考えてきました。あなたのようなクラスを検討している場合だけに言及し、StringBuilder例えば、メソッドの名前はappend、insert、delete... これが、私にとって、の代わりにメソッドplusDaysを命名するように聞こえない理由です。非常に迷惑なのは私だけですか?どう思いますか?sumDaysminusDayssubtractDays 私が考えることができる唯一の理由は、日付が不変オブジェクトであるためplusDays、元のオブジェクトに日を追加するのではなく、新しいプロパティで新しい日を作成することですが、それは非常に微妙です。

2
静的mainメソッドを持つJavaクラスの命名規則?
コンストラクターではなく、なぜJavaおよびC#の静的メインメソッドに対するgnatの答えを読んだ後ですか?彼の答えは、静的なmainメソッドを持つJavaクラスの目的は、define a program entry pointそれ自体がプログラムそのものではないことを意味すると考えています。 これを行うためのより良い方法があるかもしれませんが、私は通常、次のような単純なことを行う静的なmainメソッドを持つクラスを持っています: public class MenuLauncher { public static void main(String[] args) { Menu menu = new Menu(); menu.run(); } } 上記のコードは、静的メインを持つクラスが、独立した非静的オブジェクト内に含まれるプログラムロジックを起動または起動する以上のことをしないOOPのベストプラクティスでしょうか。結局、mainは静的なので、MenuLauncherクラス自体は非常に制限されませんか?mainは開始点であるため、エントリポイントになること以外のクラスの目的はありません。 mainメソッドを含み、プログラムのエントリポイントになる目的を果たすクラスに一般的に使用されるJava命名規則はありますか?

4
「オブジェクト指向すぎる」
私は強力なオブジェクト指向のバックグラウンドから来ており、コードはJavaで書かれていますが、以前よりも優れたオブジェクト指向設計にあまり重点を置いていない組織で働き始めました。私は「あまりにも多くの抽象化」を導入し、代わりに常に行われている方法をコーディングする必要があると言われました。これはJavaの手続き型です。 TDDもここではあまり実践されていませんが、テスト可能なコードが必要です。大きな「神クラス」の静的プライベートメソッドにビジネスロジックを埋め込むことは(このチームの標準と思われます)、あまりテストできません。 私は自分の動機を同僚に明確に伝えることに苦労しています。OOとTDDを使用するとコードのメンテナンスが容易になることを同僚に納得させる方法について、誰かアドバイスがありますか? 技術的負債に関するこの質問は私の質問に関連しています。ただし、他の問題がカバーする事実の後に返済するのではなく、そもそも借金の発生を回避しようとしています。

1
オブジェクト変換の設計パターン(Java)
ときどきファクトリーとMVC以外にデザインパターンを使用することはあまりないので、もっと使い始めたいです。 このケースでのデザインパターンの使用について、あなたの意見が欲しいという具体的なケースがあります。 私のアプリケーションでは、さまざまな状況でかなり頻繁にオブジェクトを変換する必要があります。GWTを使用しており、Hibernate POJOはシリアル化できず、回線経由で送信できないため、Hibernate POJOをDTOに変換する必要がある場合があります。 別の状況では、Solrによるインデックス作成のためにJavaオブジェクトをSolrInputDocumentに変換する必要があるかもしれません。 このためにデザインパターンを使用する必要があるかどうかを知りたいです。「オブジェクトの変換」は、パターンによって柔軟/抽象的な方法で処理できる一般的なタスクのようですが、実際にはどうなるかわかりません。 パターンがなければ、CourseToSolrInputDocument(CourseはアプリケーションのHibernateエンティティです)など、変換のタイプごとに個別のクラスを作成するだけです。またはCourseToCourseDTO。これらの各変換クラスにconvert()は、ソースオブジェクトを入力として受け取り、出力オブジェクトを返す単一の静的メソッドが呼び出される場合があります。 しかし、それは実際にはパターンではありませんか?そこで、ジェネリックを使って何かから始めて、Converterインターフェイスを実装するこのクラスを作成しました。しかし、どういうわけか、愚かなtgoがジェネリックインターフェイスを作成していると感じています。 public class CourseToSolrInputDocument implements Converter<Course, SolrInputDocument> { @Override public void convert(Course source, SolrInputDocument destination) { //To change body of implemented methods use File | Settings | File Templates. } } したがって、ここでの本当の質問は、汎用オブジェクト変換に適用されるパターンがありますか?また、あなたのアプローチは何ですか?また、変換ごとのクラス型アプローチを使用するよりも利点は何ですか?

6
ネストされたパブリッククラスを使用して定数を整理する
私は多くの定数を持つアプリケーションに取り組んでいます。前回のコードレビューで、定数が分散しすぎているため、すべてを単一の「マスター」定数ファイルに整理する必要があることがわかりました。意見の相違は、それらを整理する方法についてです。大多数は、定数名を使用することで十分であると感じていますが、これは次のようなコードにつながります。 public static final String CREDITCARD_ACTION_SUBMITDATA = "6767"; public static final String CREDITCARD_UIFIELDID_CARDHOLDER_NAME = "3959854"; public static final String CREDITCARD_UIFIELDID_EXPIRY_MONTH = "3524"; public static final String CREDITCARD_UIFIELDID_ACCOUNT_ID = "3524"; ... public static final String BANKPAYMENT_UIFIELDID_ACCOUNT_ID = "9987"; このタイプの命名規則は扱いにくいと思います。ネストされたパブリッククラスを使用する方が簡単だと思い、次のようなものがあります。 public class IntegrationSystemConstants { public class CreditCard { public static final String …

11
低遅延コードは時々「ugい」必要がありますか?
(これは主に、低遅延システムに関する特定の知識を持っている人を対象とし、根拠のない意見で答えるだけの人を避けるためです)。 「いい」オブジェクト指向のコードを書くことと、非常に高速で低レイテンシーのコードを書くことの間にトレードオフがあると思いますか?たとえば、C ++の仮想関数/多態性などのオーバーヘッドを回避する-見た目は悪いが非常に高速なコードを書き換えるなど それは理にかなっています-maintainいように見える人は誰でも気にしません(メンテナンス可能であれば)-速度が必要な場合、速度が必要ですか? 私はそのような分野で働いた人々から話を聞きたいと思います。
21 java  c++  c  performance  latency 

4
REST vs RESTful vs「通常の」Webサービス-同じかどうか
RESTやRESTfulアプリケーションに関する定義と議論をいくつか読みましたが、それが本当の意味をまだ理解していません。 私は通常、GETを介してデータを取得するか、POSTを介してデータベースからデータを取得するかデータベースに書き込むWebサービス(通常はPHPスクリプト)にデータを送信するアプリを使用します。 さて、これはRESTfulアプリですか?そうでない場合、RESTfulアプリはどうなりますか?RESTfulコンセプトとこれまでに取り組んだコンセプトの違いは何ですか?例で説明してください。 また、誰かがRESTについて話し、誰かがRESTfulアプリについて話します。RESTという用語は理論的な概念を指すのに対して、特定のアプリについて話すときにはRESTfulが使用されることがわかりました。これは正しいのですか、それともRESTアプリとRESTfulアプリの間に本当の違いがありますか?

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