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

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

3
Java -Dコマンドラインパラメータの適切な使用法
Javaで-Dパラメーターを渡す場合、コマンドラインを記述してコードからアクセスする適切な方法は何ですか? たとえば、私はこのようなものを書いてみました... if (System.getProperty("test").equalsIgnoreCase("true")) { //Do something } そして、次のように呼び出します... java -jar myApplication.jar -Dtest="true" しかし、NullPointerExceptionを受け取ります。何が悪いのですか?

8
タイムアウトでInputStreamから読み取ることは可能ですか?
具体的には、問題は次のようなメソッドを記述することです。 int maybeRead(InputStream in, long timeout) ここで、戻り値は、「タイムアウト」ミリ秒以内にデータが利用できる場合はin.read()と同じであり、そうでない場合は-2です。メソッドが戻る前に、生成されたスレッドは終了する必要があります。 引数を回避するために、Sun(すべてのJavaバージョン)によって文書化されているように、ここではjava.io.InputStreamの件名を使用しています。これは見た目ほど単純ではないことに注意してください。以下は、Sunのドキュメントで直接サポートされているいくつかの事実です。 in.read()メソッドは、中断できない場合があります。 InputStreamをReaderまたはInterruptibleChannelでラップしても効果はありません。これらのクラスで実行できるのは、InputStreamのメソッドを呼び出すことだけだからです。これらのクラスを使用できた場合、同じロジックをInputStreamで直接実行するだけのソリューションを作成することができます。 in.available()が0を返すことは常に許容されます。 in.close()メソッドは、ブロックするか、何もしません。 別のスレッドを強制終了する一般的な方法はありません。

5
Hamcrestでリストが空でないことを確認する
誰もがリストを使用して空であるかどうかを確認する方法を知っていた場合、私は思っていたassertThat()とMatchers? 私がJUnitを使用するのを見ることができる最良の方法: assertFalse(list.isEmpty()); しかし、私はこれをハムクレストで行う方法があることを望んでいました。

11
コンピューターのJava SDKフォルダーはどこにありますか?Ubuntu 12.04
次のように入力すると、インストールされていることがわかります。 $java -version 私は得ます: OpenJDK Runtime Environment (IcedTea6 1.12.5) (6b27-1.12.5-0ubuntu0.12.04.1) OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) そして私がタイプすると: $locate jdk 私は得ます: /home/arturo/Documents/2012a/sys/java/jre/glnxa64/jre/lib/servicetag/jdk_header.png /usr/share/app-install/desktop/openjdk-6-jre:openjdk-6-java.desktop /usr/share/app-install/desktop/openjdk-7-jre:openjdk-7-java.desktop /usr/share/app-install/icons/openjdk-6.png /usr/share/app-install/icons/openjdk-7.png リストの最初のアイテムで気になるのは、2012aフォルダーがMATLABフォルダーであり、標準の 'usr / lib'フォルダーではないことです。フォルダーを指す$ JAVA_HOMEパスを設定する必要があるので、JDKとJREがインストールされた場所について本当に混乱しています。どこに行方不明ですか?
147 java  java-home 

13
実行時に、基本クラスを拡張するJavaアプリケーション内のすべてのクラスを検索します
私はこのようなことをしたいです: List<Animal> animals = new ArrayList<Animal>(); for( Class c: list_of_all_classes_available_to_my_app() ) if (c is Animal) animals.add( new c() ); そのため、アプリケーションのユニバース内のすべてのクラスを確認し、Animalから派生したクラスを見つけたら、そのタイプの新しいオブジェクトを作成してリストに追加します。これにより、リストを更新しなくても機能を追加できます。以下を回避できます。 List<Animal> animals = new ArrayList<Animal>(); animals.add( new Dog() ); animals.add( new Cat() ); animals.add( new Donkey() ); ... 上記のアプローチでは、Animalを拡張する新しいクラスを作成するだけで、自動的に取得されます。 更新:2008/10/16太平洋標準時午前9:00: この質問により多くの素晴らしい回答が得られました。ありがとうございました。 回答と私の調査から、私が本当にやりたいことは、Javaでは不可能であることがわかりました。ddimitrovのServiceLoaderメカニズムなど、機能するアプローチはいくつかありますが、私が望むものには非常に重く、問題をJavaコードから外部構成ファイルに移すだけだと思います。 19年5月10日更新(11年後!)@IvanNikの回答に よると、これに役立つライブラリがいくつかありますorg.reflectionsは良さそうです。またClassGraph @Lukeハチソンさんからの答えは面白そうですね。答えにはさらにいくつかの可能性があります。 私が望むものを述べる別の方法:私のAnimalクラスの静的関数は、追加の構成/コーディングなしで、Animalから継承するすべてのクラスを見つけてインスタンス化します。構成する必要がある場合は、いずれにしても、Animalクラスでインスタンス化するだけで済みます。Javaプログラムは.classファイルの緩やかな連合なので、それがそのままの方法であることは理解しています。 興味深いことに、これはC#ではかなり簡単なようです。

6
JVMとHotSpotの違いは?
HotSpotとは具体的には何であり、JVMおよびOpenJDKとどのように関連していますか?ライブラリですか?正確には何をしますか? また、OpenJDKとHotSpotの違いは何ですか?
147 java  jvm-hotspot 

9
<の違いは何ですか?スーパーE>と<?E>?
違いは何である&lt;? super E&gt;とは&lt;? extends E&gt;? たとえば、クラスを見るjava.util.concurrent.LinkedBlockingQueueと、コンストラクタに次のシグネチャがあります。 public LinkedBlockingQueue(Collection&lt;? extends E&gt; c) そしてメソッドのために: public int drainTo(Collection&lt;? super E&gt; c)
147 java  generics 

4
Spring RestTemplateでフォームデータをPOSTする方法
次の(機能する)curlスニペットをRestTemplate呼び出しに変換したい: curl -i -X POST -d "email=first.last@example.com" https://app.example.com/hr/email emailパラメータを正しく渡すにはどうすればよいですか?次のコードでは、404 Not Foundレスポンスが返されます。 String url = "https://app.example.com/hr/email"; Map&lt;String, String&gt; params = new HashMap&lt;String, String&gt;(); params.put("email", "first.last@example.com"); RestTemplate restTemplate = new RestTemplate(); ResponseEntity&lt;String&gt; response = restTemplate.postForEntity( url, params, String.class ); PostManで正しい呼び出しを定式化しようとしましたが、本文で「form-data」パラメーターとしてemailパラメーターを指定することで、正しく機能するようにできます。RestTemplateでこの機能を実現する正しい方法は何ですか?

8
TomcatでSpring Bootを開始するときのユーザー名とパスワードは何ですか?
Spring Bootを介してSpringアプリケーションをデプロイし、アクセスするlocalhost:8080には認証が必要ですが、ユーザー名とパスワードは何ですか、またはどのように設定できますか?これをtomcat-usersファイルに追加しようとしましたが、うまくいきませんでした: &lt;role rolename="manager-gui"/&gt; &lt;user username="admin" password="admin" roles="manager-gui"/&gt; これがアプリケーションの開始点です。 @SpringBootApplication public class Application extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } } そして、これはTomcatの依存関係です: &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-tomcat&lt;/artifactId&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; どのように認証しlocalhost:8080ますか?


10
java.util.logging.Loggerを使用するときにテキストファイルにログを書き込む方法
私が作成したすべてのログをテキストファイルに書き込みたい場合があります。 ログの生成にはjava.util.logging.Logger APIを使用しています。 私は試した: private static Logger logger = Logger.getLogger(className.class.getName()); FileHandler fh; fh = new FileHandler("C:/className.log"); logger.addHandler(fh); しかし、コンソールでのみログを取得しています...
147 java  logging 




20
Androidルームの永続性:AppDatabase_Implは存在しません
私のアプリデータベースクラス @Database(entities = {Detail.class}, version = Constant.DATABASE_VERSION) public abstract class AppDatabase extends RoomDatabase { private static AppDatabase INSTANCE; public abstract FavoritesDao favoritesDao(); public static AppDatabase getAppDatabase(Context context) { if (INSTANCE == null) { INSTANCE = Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, Constant.DATABASE).allowMainThreadQueries().build(); //Room.inMemoryDatabaseBuilder(context.getApplicationContext(),AppDatabase.class).allowMainThreadQueries().build(); } return INSTANCE; } public static void destroyInstance() { INSTANCE = …

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