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

Javaは人気のある高水準プログラミング言語です。言語自体の使用または理解に問題がある場合は、このタグを使用してください。このタグが単独で使用されることはめったになく、[spring]、[spring-boot]、[jakarta-ee]、[android]、[javafx]、[gradle]、および[maven]と組み合わせて使用​​されることがほとんどです。


1
ループは、printステートメントのない他のスレッドによって変更された値を認識しません
私のコードには、別のスレッドから状態が変更されるのを待つループがあります。他のスレッドは機能しますが、私のループは変更された値を認識しません。永遠に待ちます。しかし、System.out.printlnステートメントをループに入れると、突然動作します!どうして? 以下は私のコードの例です: class MyHouse { boolean pizzaArrived = false; void eatPizza() { while (pizzaArrived == false) { //System.out.println("waiting"); } System.out.println("That was delicious!"); } void deliverPizza() { pizzaArrived = true; } } whileループの実行中にdeliverPizza()、別のスレッドから呼び出してpizzaArrived変数を設定します。しかし、ループは、System.out.println("waiting");ステートメントのコメントを外したときにのみ機能します。どうしたの?

11
同じスレッドでstartメソッドを2回呼び出すことは合法ですか?
次のコードは、プログラムで2回目にメソッドjava.lang.IllegalThreadStateException: Thread already startedを呼び出したときに表示されます。start() updateUI.join(); if (!updateUI.isAlive()) updateUI.start(); これは2回目にupdateUI.start()呼び出されたときに発生します。私はそれを何度も実行しましたが、スレッドが呼び出され、ヒットする前に完全に実行されupdateUI.start()ます。 呼び出しupdateUI.run()はエラーを回避しますが、スレッドをUIスレッド(SOの他の投稿で述べた呼び出しスレッド)で実行させますが、これは私が望むものではありません。 スレッドは一度だけ開始できますか?もしそうなら、もう一度スレッドを実行したい場合はどうすればよいですか?この特定のスレッドは、UIスレッドで実行されるよりもスレッドで実行されず、ユーザーが不当に長い待機をしている場合、バックグラウンドでいくつかの計算を実行しています。

7
onPause、onStop、onDestroyメソッドでスーパークラスメソッドを呼び出す正しい順序は何ですか?なぜ?
私はAndroidデベロッパーサイトを閲覧して、アクティビティライフサイクルを更新していました。各コード例では、スーパークラスメソッドの横に「常に最初にスーパークラスメソッドを呼び出す」というコメントがあります。 これは、作成の半サイクル(onCreate、onStart、onResume)では理にかなっていますが、破壊の半サイクルでの正しい手順について少し混乱しています:onPause、onStop、onDestroy。 インスタンス固有のリソースを破棄する前に、インスタンス固有のリソースを破棄する前に、インスタンス固有のリソースが依存する可能性のあるスーパークラスのリソースを破棄するのは理にかなっていますが、コメントはそうではありません。何が欠けていますか? 編集:質問の意図について人々が混乱しているように見えるので、私が知りたいのは次のうちどれが正しいのですか?なぜ ? 1.Googleが提案する @Override protected void onStop() { super.onStop(); // Always call the superclass method first //my implementation here } 2.その他の方法 @Override protected void onStop() { //my implementation here super.onStop(); }

9
PhantomReferenceをプロジェクトで使用したことがありますか?
私が知ってPhantomReferenceいる唯一のことは、 このget()メソッドを使用するnullと、オブジェクトではなく常に返されます。それの用途は何ですか? を使用PhantomReferenceすることにより、オブジェクトがfinalizeメソッドから復活できないことを確認します。 しかし、このコンセプト/クラスの用途は何ですか? これをプロジェクトで使用したことはありますか、またはこれを使用する必要がある例はありますか?
89 java  reference 


5
Androidボタンオブジェクト内のテキスト周囲の内部パディングを減らすにはどうすればよいですか?
したがって、現時点では、上の最初の画像のようなボタンがあります。ボタン自体内のテキストの周囲のパディングを減らすにはどうすればよいですか(2番目の画像のように見えるようにするため)? レイアウトの幅と高さは次のように設定されています。 android:layout_width="match_parent" android:layout_height="wrap_content" カスタムスタイルシェイプにはパラメータがあります <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> 残りは色の属性と半径の値です。 わかりやすくするために、ボタンのフレームに「ログイン」テキストを近づけるようにしたいと思います。 すべてのヘルプとフィードバックは大歓迎です。ありがとう。

12
「VMの初期化中にエラーが発生しました。-Xmx3Gを使用して、オブジェクトヒープ用の十分なスペースを予約できませんでした」
まず、私は8GBのRAMが入った箱を持っているので、合計メモリが問題だとは思いません。このアプリケーションは、6GB以下のマシンで正常に動作しています。 Eclipseの実行構成の「VM引数」で-Xmx3Gを使用して3GBのスペースを予約しようとしています。 1500mb以上を予約しようとするたびに、次のエラーが表示されます。「VMの初期化中にエラーが発生しました。-Xmx3Gを使用して、オブジェクトヒープ用の十分なスペースを予約できませんでした」 ここで何が起こっているのですか?

11
AndroidでJSON配列(Jsonオブジェクトではない)を解析する方法
JSONArrayを解析する方法を見つけるのに苦労します。次のようになります。 [{"name":"name1","url":"url1"},{"name":"name2","url":"url2"},...] JSONが別の方法で記述されている場合(つまり、オブジェクトの配列の代わりにjsonオブジェクトが返された場合)の解析方法を知っています。しかし、それは私が持っているすべてのことであり、それと一緒に行かなければなりません。 *編集:これは有効なjsonです。このjsonを使用してiPhoneアプリを作成しましたが、今はAndroid用に実行する必要があり、理解できません。そこには多くの例がありますが、それらはすべてJSONObjectに関連しています。JSONArrayに何か必要です。 誰かが私にいくつかのヒント、またはチュートリアルや例を教えてもらえますか? とても有難い !
89 java  android  json  gson  arrays 

9
コンパレータを使用してカスタムの並べ替え順序を定義するにはどうすればよいですか?
車リストの並べ替えデモを開発したい。データテーブルを使用して車のリストを表示しています。リストを車の色で並べ替えたいのですが。ここでは、アルファベット順ではありません。赤い車が最初に来て、次に青い車のように、カスタムの並べ替え順序を使用したいと思います。 そのためにJavaを使用しようComparatorとしましたComparableが、アルファベット順でのみ並べ替えることができます。 だから、ソートをより速くするために使用する手法を実装する方法を誰でも私に案内できますか? class Car implements Comparable<Car> { private String name; private String color; public Car(String name, String color){ this.name = name; this.color = color; } //Implement the natural order for this class public int compareTo(Car c) { return name.compareTo(c.name); } static class ColorComparator implements Comparator<Car> { public int compare(Car …
89 java  sorting  enums 

3
Apache HttpClientを使用してJSONリクエストをPOSTする方法
私は次のようなものを持っています: final String url = "http://example.com"; final HttpClient httpClient = new HttpClient(); final PostMethod postMethod = new PostMethod(url); postMethod.addRequestHeader("Content-Type", "application/json"); postMethod.addParameters(new NameValuePair[]{ new NameValuePair("name", "value) }); httpClient.executeMethod(httpMethod); postMethod.getResponseBodyAsStream(); postMethod.releaseConnection(); 500で戻ってきます。サービスプロバイダーは、JSONを送信する必要があると言っています。Apache HttpClient 3.1以降ではどのように行われますか?


5
DriverManagerの代わりにDataSourceを使用するのはなぜですか?
Java JDBC仕様(vr。4)を読んでいて、次のステートメントに遭遇しました。 データソース—このインターフェースはJDBC2.0オプションパッケージAPIで導入されました。基になるデータソースに関する詳細をアプリケーションに対して透過的にすることができるため、DriverManagerよりも優先されます 私が理解しようとしているのは、aConnectionとaの違いDataSourceと、それが存在する理由です。つまり、上記のブロックは、データソースに関する詳細がアプリケーションに対して透過的であることを示していますが、ユーザー名、パスワード、URLなどのデータベースプロパティをプロパティファイルで外部化してから、DriverManagerを使用しても同じように機能しませんか? そして、DataSourceインターフェースは、プールなどできる接続を返す一般的な方法を持つためだけに作成されていますか?Java EEでは、アプリケーションサーバーはこのインターフェイスを実装し、アプリケーションは接続ではなくデータソースへの参照を持つようにデプロイされていますか?
89 java  jdbc  datasource 

7
最終オブジェクトを変更できるのはなぜですか?
私が取り組んでいるコードベースで次のコードに出くわしました: public final class ConfigurationService { private static final ConfigurationService INSTANCE = new ConfigurationService(); private List providers; private ConfigurationService() { providers = new ArrayList(); } public static void addProvider(ConfigurationProvider provider) { INSTANCE.providers.add(provider); } ... INSTANCEとして宣言されfinalます。なぜオブジェクトを追加できるのINSTANCEですか?それはfinalの使用を無効にするべきではありません。(そうではありません)。 答えはポインタとメモリで何かをしなければならないと思いますが、確かに知りたいです。
89 java  final 

8
ArrayListでアイテムのインデックスを見つけるためのより良い方法は?
Androidアプリの場合、次の機能があります private ArrayList<String> _categories; // eg ["horses","camels"[,etc]] private int getCategoryPos(String category) { for(int i = 0; i < this._categories.size(); ++i) { if(this._categories.get(i) == category) return i; } return -1; } これは、要素の位置を取得するための関数を作成するための「最良の」方法ですか?それとも、私が活用すべきJavaの派手なshmancyネイティブ関数はありますか?

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