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

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

2
java.net.SocketException:Spring Restテンプレートで接続がリセットされる
ここで奇妙な問題があります。 以下のコードは、クライアント側でtomcatサーバーを再起動するまで正常に機能しています。同じコードの最新のwarファイルでTomcatサーバー(クライアントプログラムがwarファイルにある)を再起動すると、以下のエラーがスローされます。JDK 8を使用しています。 以下はサンプルコードです。ブラウザから、以下のプログラムで使用しているURLから応答を得ることができます。しかし、JavaプログラムまたはPostmanを使用してもデータを取得できません。 package com.example.demo; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; @Component public class TestService implements CommandLineRunner{ @Override public void run(String... args) throws Exception { download(); } private void download() { System.out.println("Started download"); try{ RestTemplate restTemplate = new RestTemplate(); String url = "https://www.nseindia.com/live_market/dynaContent/live_watch/stock_watch/niftyStockWatch.json"; byte[] forObject = restTemplate.getForObject(url, byte [].class); …

4
エラー:現在の文字を判別できません。これは、androidのreact-nativeの文字列、数値、配列、またはオブジェクトではありません
エミュレーターを実行したまま、react-native run-androidを実行すると、常にこのエラーが発生します。反応ネイティブのrun-iosは完全に正常に動作します。 Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081 :ReactNative:Failed to parse React Native CLI configuration: groovy.json.JsonException: Unable to determine the current character, it is not a string, number, array, or object The current character read is 'E' with an int value of 69 Unable to determine the current character, it …

3
Oracle JDBC最適化:SpringブートアプリケーションでPreparedStatementキャッシングを有効にする
Oracleデータベースに接続されているSpring Boot RESTアプリケーションがあります。JdbcTemplateを使用してJDBCを使用しています。Oracleデータベースのプロパティは、次の3つのapplication.properties設定を通じて取得されます。 spring.datasource.url spring.datasource.username spring.datasource.password このアプリはHikariCPを使用しています。HikariCPのWebサイトから、JDBCドライバーがそれを実行するのに最適な設定であるため、このプールはPreparedStatementsをキャッシュしないことがわかりました。 ここで、これらを確実にするためにどこで何を指定しますか? Oracle JDBCドライバー(ojdbc7.jar)がPreparedStatementsをキャッシュすること。キャッシュできるPreparedStatementsの数をカスタマイズする方法はありますか? https://howtodoinjava.com/java/jdbc/best-practices-to-improve-jdbc-performance/から、 データベースが最大パケットサイズに設定されていること、およびドライバーがそのパケットサイズと一致していることを確認してください。より大きな結果セットをフェッチする場合、これにより、ドライバーとサーバー間で送受信される合計パケット数が減少します。 上記に準拠して、に必要な手順は何ですか Oracle DBサーバーのパケットサイズを確認する Oracle DBサーバーが最大パケットサイズに設定されているかどうかを確認する Oracle JDBCドライバーの(ojdbc8.jar)パケットサイズを設定します。 その他の(Oracle)JDBCパフォーマンス最適化のヒントをいただければ幸いです。

6
POJOでパブリックプロパティのゲッター/セッターを複製する方法
〜60個のプロパティで自動生成されるPOJOがあります。これは、ゲッター/セッターを含まないavro 1.4で生成されます。 オブジェクト間の単純な変換を提供するために使用するライブラリは、適切に機能するためにゲッター/セッターのようなメソッドを必要とします。 POJOを手動でオーバーライドしてすべてのゲッター/セッターを手動で作成せずにゲッター/セッターを複製する方法はありますか? public class BigGeneratedPojo { public String firstField; public int secondField; ... public ComplexObject nthField; } public class OtherObject { private String reprOfFirstFieldFromOtherObject; private ComplexObject reprOfFirstFieldFromOtherObject; public String getReprOfFirstFieldFromOtherObject() { ... standard impl ... }; public void setReprOfFirstFieldFromOtherObject() { ... standard impl ... }; } 欲望は次のようなコードを書くことです: Mapper<BigGeneratedPojo, …

3
GRPC:Java / Scalaで高スループットクライアントを作成する
非常に高速でメッセージを転送するサービスがあります。 現在、それはakka-tcpによって提供され、1分あたり350万のメッセージを作成します。grpcを試してみることにしました。残念ながら、その結果、スループットははるかに小さくなりました。1分あたり約50万メッセージはさらに少なくなります。 それを最適化する方法をお勧めしていただけませんか? 私のセットアップ ハードウェア:32コア、24 Gbヒープ。 grpcバージョン:1.25.0 メッセージ形式とエンドポイント メッセージは基本的にバイナリBLOBです。クライアントは100K-1M以上のメッセージを同じリクエストに(非同期で)ストリーミングし、サーバーは何も応答せず、クライアントは何もしないオブザーバーを使用します service MyService { rpc send (stream MyMessage) returns (stream DummyResponse); } message MyMessage { int64 someField = 1; bytes payload = 2; //not huge } message DummyResponse { } 問題:akka実装と比較してメッセージレートが低い。CPU使用率が低いので、別の言い方をしても、grpc呼び出しが実際に内部的にブロックされているのではないかと思います。onNext()確かに呼び出しはすぐには戻りませんが、テーブルにGCもあります。 この問題を緩和するために、より多くの送信者を生成しようとしましたが、あまり改善されませんでした。 私の調査結果 Grpcは、メッセージをシリアル化するときに、実際に各メッセージに8KBバイトのバッファーを割り当てます。スタックトレースを見てください: java.lang.Thread.State:BLOCKED(オブジェクトモニター上)com.google.common.io.ByteStreams.createBuffer(ByteStreams.java:58)at com.google.common.io.ByteStreams.copy(ByteStreams.java: 105)io.grpc.internal.MessageFramer.writeUncompressed(MessageFramer.javaでio.grpc.internal.MessageFramer.writeKnownLengthUncompressed(MessageFramer.java:230)でio.grpc.internal.MessageFramer.writeToOutputStream(MessageFramer.java:274)に:168)io.grpc.internal.MessageFramer.writePayload(MessageFramer.java:141)at io.grpc.internal.AbstractStream.writeMessage(AbstractStream.java:53)at io.grpc.internal.ForwardingClientStream.writeMessage(ForwardingClientStream。 java:37)io.grpc.internal.DelayedStream.writeMessage(DelayedStream.java:252)at io.grpc.internal。ClientCallImpl.sendMessageInternal(ClientCallImpl.java:473)at io.grpc.internal.ClientCallImpl.sendMessage(ClientCallImpl.java:457)at …
9 java  scala  grpc 

1
jsonベースのプラグインの「Dockerプラグインのインストール」方法
私はまったく新しいボリュームプラグインに取り組んでおり、すべてのボリュームテストテストに合格する必要があります。そして、最初のテストであるを除くすべてのテストが(プラグインがインストールされた環境で)成功していますdocker plugin install。問題は、カスタムプラグインをインストールする方法が3つあることです。 .sockファイルはUNIXドメインソケットです。 .specファイルは、unix:///other.sockやtcp:// localhost:8080などのURLを含むテキストファイルです。 .jsonファイルは、プラグインの完全なjson仕様を含むテキストファイルです。 そして、JSONを使用します。これは、RESTサーバー実装のドッカーAPI(Java、Springで記述)です。インストールプロセスは簡単です/etc/docker/plugins。json ファイルをコピーするだけで、dockerdが自動的に検出します。 プラグインをdocker plugin installコマンドに統合しようとすると問題が発生します。ここで述べたように: Dockerは最初にDockerホスト上のプラグインを探します。プラグインがローカルに存在しない場合、プラグインはレジストリから取得されます。 インストールプロセスでは、プライベートまたはパブリックレジストリへの接続を想定していないdocker plugin createため、プラグインをローカルで作成するために最初のコマンドが必要です。そして、これは、jsonベースのプラグインでそれを行う方法に頭を抱えるのに苦労しているところです。このドキュメントに従って、プラグインへのパスを指定する必要があります。私がディレクトリ名を使用する場合、それはディレクトリ内に存在するものconfig.jsonと想定さrootfsれます。 BUT 1.- config.jsonこれは.sock形式であり、.json形式ではない形式の構成を説明する構成です(間違っている場合は修正してください) 2. rootfsを作成する方法と、プラグインがスタンドアロンRESTである場合になぜ必要なのかサービスとそれはコンテナにもありませんか? どんな助けにも感謝します。
9 java  spring  docker 

1
Javaのオブジェクト初期化“ Foo f = new Foo()”は、Cのポインターにmallocを使用することと本質的に同じですか?
Javaでのオブジェクト作成の背後にある実際のプロセスを理解しようとしています。他のプログラミング言語もあると思います。 Javaでのオブジェクトの初期化がCで構造体にmallocを使用する場合と同じであると想定するのは間違っているでしょうか? 例: Foo f = new Foo(10); typedef struct foo Foo; Foo *f = malloc(sizeof(Foo)); これが、オブジェクトがスタックではなくヒープ上にあると言われるのはなぜですか?それらは本質的にデータへの単なるポインタなので?

3
大きなデータファイルを1行ずつコピーする方法は?
35GBのCSVファイルがあります。各行を読み取り、条件に一致する場合はその行を新しいCSVに書き出します。 try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("source.csv"))) { try (BufferedReader br = Files.newBufferedReader(Paths.get("target.csv"))) { br.lines().parallel() .filter(line -> StringUtils.isNotBlank(line)) //bit more complex in real world .forEach(line -> { writer.write(line + "\n"); }); } } これには約かかります。7分。そのプロセスをさらにスピードアップすることは可能ですか?

3
変数を渡すbeetwen groovyファイル
Jenkinsの多くのジョブをDSLプラグインで管理しています。そのプラグインは.groovy定義を使用しているので、誰かがJenkinsを使用していなくても、groovyを使用すると役立つ場合があると思います。 一般的に、Groovyファイル、JSON、YAMLなど、追加のファイルを作成します。重要なのは、そのファイルを.groovyファイルに関連付ける可能性です。 そのファイルでは、たとえばアドレスIPなどの変数(文字列のみ)を定義しています。 ip_gitlab: 1.2.3.4 default_user: admin 私のgroovyファイルでは、これらの変数を使用できるようにしたいと考えています。 そのアプローチはグルービーで可能ですか?
9 java  jenkins  groovy  dsl 

3
Java 8 Streamsを使用してリストが空の場合、デフォルトのリストを返しますか?
以下がストリーム操作の1つのセットとして実行できるようにする方法はありますか?recommendedProductsが空であるかどうかを明示的にチェックせずにデフォルトのリストを返すか、またはフィルターされたリストを返しますか? public List<Product> getRecommendedProducts() { List<Product> recommendedProducts = this.newProducts .stream() .filter(isAvailable) .collect(Collectors.toList()); if (recommendedProducts.isEmpty()) { return DEFAULT_PRODUCTS; } return recommededProducts; }

1
クラスアクセス修飾子より制限の少ないメンバーアクセス修飾子の使用はどうですか?
たとえば、いくつかのメンバーを持つクラスがあり、メンバーにはクラス自体よりも制限の少ないアクセス修飾子があるとします。 具体的な例は次のとおりです。 package apples; class A { // package private public int foo() { // public (=> less restrictive than *package private*) return 42; } } メンバーアクセス修飾子よりも制限の厳しいクラスアクセス修飾子を理解すると、制限の少ないメンバーアクセス修飾子が上書きされます。したがって、制限の少ないメンバーアクセス修飾子はまったく効果がありません。 私の理解は正しいですか? そうでない場合、結果はどうなりますか? 制限の少ないメンバーアクセス修飾子を使用する正当な理由は何ですか? 最後に、従うべきベストプラクティスは何ですか? 関数の参照を渡し始めると結果に影響が出る可能性があると考えたため、いくつかの実験も行いましたが、それでもアクセス修飾子は重要ではないようです。 私が構築した状況は次のとおりです: apples.Bbla()への参照を返すパブリックメソッドを提供しますapples.A.foo。 次に、をpizzas.C呼び出しapples.B.blaて参照を取得しA.foo、呼び出します。 したがって、にA.foo()は直接表示されませんがC、を介して間接的にのみアクセスできますB.bla() 私はそれをテストしましたが、foo() パッケージのアクセス修飾子をプライベートにするかどうかに関係なく、違いはありません。 package apples; import java.util.function.IntSupplier; public class B { public IntSupplier getReferenceToAFoo() { …

2
Javaでは、いつインターフェイスでプライベートインスタンスメソッドを使用する必要がありますか?
Java 9以降、インターフェースのメソッドはプライベートにすることができます。プライベートメソッドは、静的メソッドまたはインスタンスメソッドです。プライベートメソッドは、インターフェイス自体のメソッドでのみ使用できるため、その使用は、インターフェイスの他のメソッドのヘルパーメソッドに限定されます。 Cay S. Horstmann、コアJavaボリュームI-基礎 共通の機能をプライベートメソッドに配置して、パブリックにアクセスできないようにすることができます。ただし、ここでは2種類のプライベートメソッドを使用できます。 private private static private staticメソッドの使用は理解できますが、いつprivateメソッドを使用する必要がありますか?これはインターフェースであるため、ここではインスタンスを扱っていませんが、privateメソッドの作成が許可されているのはなぜですか?private staticメソッドだけが必要ではないですか?
9 java  oop 

2
FactoryFinderのパフォーマンス/悪いキャッシュ
多くのxml処理を実行する巨大なクラスパスを備えた、かなり大きなjava eeアプリケーションを持っています。現在、一部の機能を高速化し、サンプリングプロファイラーを介して遅いコードパスを見つけようとしています。 私が気づいたことの1つは、特に呼び出しのあるコードの一部TransformerFactory.newInstance(...)が必死に遅いことです。私はこれを常に新しいインスタンスを作成するFactoryFinderメソッドまで追跡しfindServiceProviderましたServiceLoader。でServiceLoader javadocの私は、キャッシングについては、以下の注記が見つかりました: プロバイダーは、遅延して、つまりオンデマンドで配置およびインスタンス化されます。サービスローダーは、これまでにロードされたプロバイダーのキャッシュを維持します。イテレータメソッドを呼び出すたびに、インスタンス化の順序で最初にキャッシュのすべての要素を生成するイテレータが返されます。次に、残りのプロバイダを遅延検索してインスタンス化し、それぞれを順番にキャッシュに追加します。キャッシュはreloadメソッドでクリアできます。 ここまでは順調ですね。これはOpenJDKs FactoryFinder#findServiceProviderメソッドの一部です: private static <T> T findServiceProvider(final Class<T> type) throws TransformerFactoryConfigurationError { try { return AccessController.doPrivileged(new PrivilegedAction<T>() { public T run() { final ServiceLoader<T> serviceLoader = ServiceLoader.load(type); final Iterator<T> iterator = serviceLoader.iterator(); if (iterator.hasNext()) { return iterator.next(); } else { return null; } } }); …

2
エラーのため、Java 14でnetbeans 11.3をインストールできませんでした:「サポートされていないJVMバージョン」
Java 14でnetbeansをインストールしようとしています。 エラーが発生しています- > sudo ./Apache-NetBeans-11.3-bin-linux-x64.sh --javahome /home/raj/.sdkman/candidates/java/current Configuring the installer... Searching for JVM on the system... Unsupported JVM version at /home/raj/.sdkman/candidates/java/current. Try to specify another JVM location using parameter --javahome 以下は私のJavaの詳細です- > which java /home/raj/.sdkman/candidates/java/current/bin/java > java --version openjdk 14 2020-03-17 OpenJDK Runtime Environment (build 14+36-1461) OpenJDK 64-Bit Server …

3
なぜ私はレポ春からHTTP 403を持っていますか?
数ヶ月以来、heroku wih gitlabにデプロイするjhipsterプロジェクトがあります 昨日から、このエラーがあるので新しいバージョンをデプロイできません FAILURE: Build failed with an exception. 32 * What went wrong: 33 A problem occurred configuring root project 'yvidya'. 34 > Could not resolve all artifacts for configuration ':classpath'. 35 > Could not resolve io.spring.gradle:propdeps-plugin:0.0.10.RELEASE. 36 Required by: 37 project : 38 > Could not resolve …

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