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

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

9
JavaにOAuth2.0プロバイダーの実装はありますか?(oauthクライアントではありません)[クローズ]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、StackOverflowのトピックになります。 4年前に閉鎖されました。 この質問を改善する したがって、基本的には、APIをOAuth 2.0で保護し、OAuthプロバイダーを実装してaccessTokenなどの取得を可能にします。 箱から出してJOAuthで実行できますか? 誰かがすでにオープンソースライブラリ(Java)でこのようなものを実装していますか?

5
初心者向けのAndroidNDKチュートリアル/ガイド。[閉まっている]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、StackOverflowのトピックになります。 6年前に閉鎖されました。 この質問を改善する 私はAndroidNDKから始めています。私を案内するのに良い場所/電子ブックはありますか?ありがとう

7
Java文字列からすべての印刷不可能な文字を取り除く最速の方法
StringJavaで印刷できない文字をすべて削除する最速の方法は何ですか? これまでのところ、138バイト、131文字の文字列で試して測定しました。 文字列replaceAll()-最も遅いメソッド 517009結果/秒 パターンをプリコンパイルしてから、Matcherを使用します replaceAll() 637836結果/秒 StringBufferを使用し、codepointAt()1つずつ使用してコードポイントを取得し、StringBufferに追加します 711946結果/秒 StringBufferを使用し、charAt()1つずつ使用して文字を取得し、StringBufferに追加します 1052964結果/秒 char[]バッファを事前に割り当て、charAt()1つずつ使用して文字を取得し、このバッファを埋めてから、文字列に変換し直します 2022653結果/秒 char[]古いバッファと新しいバッファの2つのバッファを事前に割り当て、を使用して既存の文字列のすべての文字を一度に取得しgetChars()、古いバッファを1つずつ繰り返し、新しいバッファを埋めてから、新しいバッファを文字列に変換します-私自身の最速バージョン 2502502結果/秒 2つのバッファを持つ同じもの-のみを使用しbyte[]、getBytes()エンコーディングを「utf-8」として指定します 857485結果/秒 2つのbyte[]バッファを持つ同じものですが、定数としてエンコーディングを指定しますCharset.forName("utf-8") 791076結果/秒 2つのbyte[]バッファを持つ同じものですが、エンコーディングを1バイトのローカルエンコーディングとして指定します(ほとんど正気ではありません) 370164結果/秒 私の最善の試みは次のとおりでした: char[] oldChars = new char[s.length()]; s.getChars(0, s.length(), oldChars, 0); char[] newChars = new char[s.length()]; int newLen = 0; for (int j = 0; j < s.length(); j++) { …

2
Android AudioRecordは、MICオーディオソースに別のストリームを強制します
更新3:私は別の開発者と提携しましたが、多額のお金でこれを実行できる人を見つけたようです。彼らは私たちにテストapkを送ってくれました、そしてそれはうまくいくようです。先に進んでソースを購入します。詐欺に遭わないことを願っています。わかったら更新します アップデート2:まだ作業中です。もっと辛い日々を過ごした後、私は今、何も派手なことは起こっていないと思いますが、彼らは単にネイティブ側でAudioFlinger(リンクを参照)を使用してAudioFlinger :: setParametersを呼び出しています 私は今、audio_io_handle_t ioHandle、const String8&keyValuePairsを使用してAudioFlinger :: setParametersを呼び出す簡単なJNIを作成する方法を探しています。 keyValuePairsが何であるかは知っていますが、audio_io_handle_tについての手がかりはありません 更新:他のアプリがCAFでQCOMオーディオを使用している可能性があると思います。同じものについては、リンクのaudio_extn_utils_send_audio_calibrationを参照してください と同じリンクのvoice_get_incall_rec_snd_device 私はC / ++の知識がありません。これらのメソッドをネイティブ側から呼び出すことができるかどうかを確認するにはどうすればよいですか?他のアプリでもできるので、方法が必要です。 私はこれに40日以上、少なくとも1日5〜6時間苦労してきました。SOで許可されているかどうかはわかりませんが、正解も喜んで寄付させていただきます。 VOICE_CALLオーディオソースを使用する通話録音アプリがあります。ASOPはそれを実装/義務付けていませんが、ほとんどのメーカーはVOICE_CALLを実装しており、VOICE_CALLオーディオソースを使用するアプリは多くのデバイスで正常に機能しました。それはAndroid6までです。 GoogleはAndroid6でこの動作を変更しました。VOICE_CALLオーディオソースを開くには、システムアプリケーションにのみ付与されるandroid.permission.CAPTURE_AUDIO_OUTPUTが必要になりました。 これは基本的に通話の録音を停止します。まあ、それはこの制限を回避する方法を見つけた3人を除いて私のものと200以上の他の通話録音アプリのためにあります。 私はAndroid6を搭載したさまざまな携帯電話でこれらのアプリを試してきましたが、記録方法に特定の特徴があることがわかりました。 それらはすべてAndroidAudioRecordクラスを使用し、MICオーディオソースを開きます。私も; しかし、私のアプリでは、MICからのみ音声を取得し、相手からは取得しません。私が見つけたのは、彼らが録音を開始した直後または開始する前に、ある種のシステムコールを発行しているということです。 MICを使用して録音しているにもかかわらず、VOICE_CALLを正常に録音したアプリの1つから、次のログを確認してください。アプリは、VOICE_CALLオーディオソースをMICにミックス/ルーティング/ストリーム/マージする方法のようです。 - D/audio_hw_primary: in_set_parameters: enter: kvpairs=input_source=1;routing=-2147483644 - D/PermissionCache: checking android.permission.MODIFY_AUDIO_SETTINGS for uid=10286 => granted (432 us) - D/audio_hw_primary: in_set_parameters: enter: kvpairs=input_source=4;routing=-2147483584;format=1 - D/audio_hw_primary: select_devices: out_snd_device(0: ) in_snd_device(283: voice-dmic-ef) …



5
Mavens依存関係宣言分類子プロパティの目的は何ですか?
私はpom.xmlファイルを持っていますが、同じように参照されている3つの依存関係<artifactId>がタグにあることがわかります。 <classifier>sources</classifier> <classifier>javadoc</classifier> を持っていた依存関係を削除し、SOURCES/JAVADOC1つの依存関係のみを保持しました。私は自分のアプリケーションをテストしましたが、すべてが正常に機能します。 この分類タグを使用する目的は何ですか?と<classifier>タグを追加するために依存関係を2回複製する必要がある理由SOURCES/JAVADOC。 <dependency> <groupId>oauth.signpost</groupId> <artifactId>signpost-commonshttp4</artifactId> <version>1.2.1.2</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>oauth.signpost</groupId> <artifactId>signpost-commonshttp4</artifactId> <version>1.2.1.2</version> <type>jar</type> ***<classifier>javadoc</classifier>*** <scope>compile</scope> </dependency> <dependency> <groupId>oauth.signpost</groupId> <artifactId>signpost-commonshttp4</artifactId> <version>1.2.1.2</version> <type>jar</type> ***<classifier>sources</classifier>*** <scope>compile</scope> </dependency>

9
IntelliJ IdeaIDEでシンボルjavafx.applicationを解決できません
IntelliJ Idea IDEでJavaFXアプリケーションを作成しようとしましたが、次のようなコンパイルエラーが発生しました。 java:パッケージjavafx.applicationが存在しません。 プロジェクトSDKとプロジェクト言語レベルをJava8に変更しましたが、プロジェクトをリロードしましたが、役に立ちませんでした。次に、設定でJavaFXプラグインが有効になっているかどうかを確認しました。 GoogleとStackOverflowで検索しても、何が問題なのかについてのアイデアは得られませんでした。よろしくお願いします。 PS私はarchlinuxOSでjava8.1.0_25とともにIntelliJIdea14.0を使用しています。

7
Javaでブロックされないように、オブジェクトがロック(同期)されているかどうかをどのように判断しますか?
レコードのセット(recordA、recordBなど)を含むテーブルをメモリ内に含むプロセスAがあります。 現在、このプロセスはレコードに影響を与える多くのスレッドを起動でき、同じレコードにアクセスしようとする2つのスレッドが存在する場合があります。この状況は拒否する必要があります。具体的には、レコードが一方のスレッドによってロックされている場合、もう一方のスレッドを中止します(ブロックまたは待機したくない)。 現在、私は次のようなことをしています。 synchronized(record) { performOperation(record); } しかし、これは私に問題を引き起こしています... Process1が操作を実行している間、Process2が入ってくると、同期されたステートメントをブロック/待機し、Process1が終了すると操作を実行します。代わりに私はこのようなものが欲しいです: if (record is locked) return; synchronized(record) { performOperation(record); } これをどのように達成できるかについての手がかりはありますか?どんな助けでも大歓迎です。ありがとう、

9
Javaで自動ボックス化とボックス化解除を使用するのはなぜですか?
オートボクシングは、Javaコンパイラがプリミティブ型とそれに対応するオブジェクトラッパークラスの間で行う自動変換です。たとえば、intを整数に、doubleをDoubleに変換するなどです。変換が逆の場合、これはボックス化解除と呼ばれます。 では、なぜそれが必要なのか、そしてなぜJavaで自動ボックス化とボックス化解除を使用するのでしょうか。
81 java  autoboxing 

5
Java / Android colorintのアルファバイトを操作します
Androidカラー(Canvasでの描画用)として使用しているJavaのintがある場合、そのintのアルファコンポーネントのみを操作するにはどうすればよいですか?たとえば、これを行うために操作を使用するにはどうすればよいですか? int myOpaqueColor = 0xFFFFFF; float factor = 0; int myTransparentColor = operationThatChangesAlphaBytes(myOpaqueColor, factor); //myTransparentColor should now = 0x00FFFFFF; 理想的にfactorは、バイトを静的な値に設定するのではなく、最初のバイトに何でも乗算するとよいでしょう。

8
Javaで多次元配列を初期化する
多次元配列を宣言してそれに値を割り当てる正しい方法は何ですか? これは私が持っているものです: int x = 5; int y = 5; String[][] myStringArray = new String [x][y]; myStringArray[0][x] = "a string"; myStringArray[0][y] = "another string";

10
2つのArrayListの差を計算するにはどうすればよいですか?
2つのArrayListがあります。 ArrayListAには次のものが含まれます。 ['2009-05-18','2009-05-19','2009-05-21'] ArrayListBには次のものが含まれます。 ['2009-05-18','2009-05-18','2009-05-19','2009-05-19','2009-05-20','2009-05-21','2009-05-21','2009-05-22'] ArrayListAとArrayListBを比較する必要があります。結果のArrayListには、ArrayListAに存在しないリストが含まれている必要があります。 ArrayListの結果は次のようになります。 ['2009-05-20','2009-05-22'] 比較する方法は?
81 java  arraylist 

3
Java Webアプリケーションを国際化する方法は?
私はGoogleから、国際化はWebアプリケーションですべての言語を使用できるようにするプロセスであることを学びました。国際化の過程でUnicodeを理解したいので、あちこちでUnicodeについて学びました。 私はUnicodeについて、文字セットがどのようにバイトにエンコードされ、バイトが文字セットにデコードされるかを理解できます。しかし、私はさらに前進する方法がわかりません。文字列を比較する方法を学びたいので、Webアプリケーションに国際化を実装する方法を知る必要があります。何か提案がありますか?案内してください。 私の目的: 私の主な目的は、翻訳用のWebアプリケーション(英語からアラビア語、またはその逆)を開発することです。国際化を追いかけたいです。FF、Chrome、IEの3つのブラウザーすべてで、翻訳用のWebアプリケーションを実行したいと思います。どうすればこれを達成できますか?

28
なぜJavaの人々は頻繁に例外を黙って消費するのですか?
これまで本格的なJavaコーディングを行ったことはありませんでしたが、既存のスキル(DelphiとC#)に基づいて構文、ライブラリ、概念を学びました。私がほとんど理解していないことの1つは、次のprintStackTraceようにした後、例外を黙って消費するコードをたくさん見たことです。 public void process() { try { System.out.println("test"); } catch(Exception e) { e.printStackTrace(); } } 私が遭遇したほとんどすべてのJavaの記事とプロジェクトには、このようなコードがあります。私の知識に基づくと、これは非常に悪いことです。ほとんどの場合、例外は次のように外部コンテキストに転送されます。 public void process() { try { System.out.println("test"); } catch(Exception e) { e.printStackTrace(); throw new AssertionError(e); } } ほとんどの場合、例外は、基盤となるフレームワーク(Java Swingなど)に属する最も外側のループで処理されるはずです。Javaの世界でこのようにコーディングするのが標準のように見えるのはなぜですか?困惑しています。 私の経歴に基づいて、printStackTraceを完全に削除したいと思います。私は単に未処理の別名RuntimeException(または、さらに良いAssertionError)として再スローし、それを最も適切な場所であるフレームワークの最も外側のループでキャッチしてログに記録します。 public void process() { try { System.out.println("test"); } catch(Exception e) { throw new AssertionError(e); …

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