問題タブ [java]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - アプリケーション構成ファイル
ここで聖戦を始めたくはありませんが、アプリケーション構成ファイルの処理方法を統合しようとしており、最善のアプローチを決定するのに苦労しています. . 現時点では、配布するすべてのアプリケーションは、プロパティ ファイル (ini スタイル)、XML、JSON (現時点では内部使用のみ!) のいずれであっても、独自のアドホック構成ファイルを使用しています。
現時点ではコードのほとんどが Java であるため、Apache Commons Configを見てきましたが、非常に冗長であることがわかりました。XMLBeansについても調べましたが、多くのことをいじっているようです。また、フォーマットとして XML を推し進められているようにも感じますが、クライアントや同僚は他のフォーマットを試すことに不安を感じています。クライアントの観点からは理解できますが、誰もが XML について聞いたことがあると思いますが、結局のところ、仕事に適したツールを使用するべきではないのでしょうか?
最近、実稼働システムで人々が使用しているフォーマットとライブラリは何ですか? 他の誰かが山括弧税を回避しようとしていますか?
編集: Linux、Windows、Solarisなど、クロスプラットフォームソリューションである必要があり、構成ファイルとのインターフェースに使用されるライブラリの選択は、フォーマットの選択と同じくらい重要です。
java - Java における配列の配列
これは私にとって厄介なことです...私はJSPプロジェクトでJavaで作業しているPHPの男です。あまりにも多くのコードとフィネスの完全な欠如を介して、私が試みていることを行う方法を知っています。
私はそれを正しく行うことを好みます。状況は次のとおりです。
私は、散水グループ (ABCDE) に基づいて芝生に水をまくことができる日と、それがいつであるかを顧客に示す小さなディスプレイを作成しています。夏 (5-1 から 8-31) 春 (3-1 から 4-30) 秋 (9-1 から 10-31) 冬 (11-1 から 2-28)
例は次のとおりです。
私がグループ A の場合、許可される時間は次のとおりです: 冬: 月曜日のみ 春: 火、木、土 夏: いつでも 秋: 火、木、土
これを PHP で書いていたら、次のような配列を使用します。
日の配列 (array("Tuesday","Thursday","Saturday")) などを作成できますが、実際に達成しようとしていることには必要ありません。
また、現在の季節を判断するために配列をセットアップする必要があります。
誰かがこれを行うための本当にクールな方法を提案できますか? 今日の日付とグループレターを持ってきます。私は、1 日 (M) または一連の日数 (tTS) (任意) で、自分の機能を終了する必要があります。
java - 表を表示しようとしたときにOracleSQLDeveloperが応答しない(またはOracle Macクライアントを提案した)
私は一日中ビーチボールを手に入れます(何時間も何もしていません)。CPUを使用せず、ディスクからの読み取りも、ネットワークの使用もしていません。
Mac OSX10.5.4でJava1.6を使用しています。かつては機能していましたが、今ではコンピュータを再起動しても効果がありません。Activity Monitorは、「(応答なし)」と表示します。私にできることは、その吸盤を-9殺すことだけです。
プロセスをサンプリングすると、次のように表示されます。
これを修正しない許容可能な答えには、Mac用のまともな無料のOracleクライアントのURLが含まれます。
編集:@Mark Harrison悲しいことに、これは私が起動するたびに発生します。古い接続ではありません。ラップトップでWindowsを実行することは避けたいと思います。IDE用のプラグインをいくつか提供していますが、それでも解決策はありません。@Matthew Schinckel Navicatには非商用のOracle製品しかないようです...商用に適した製品が必要です(お金がかかる場合でも)。
java - 何もしていないときにCPUを消費しているJavaアプリケーションがある場合、それが何をしているかをどのように判断しますか?
ベンダーのJavaAPIを呼び出していますが、一部のサーバーでは、JVMがAPIにログインした後に優先度の低いポーリングループに入っているようです(CPU使用率100%)。他のサーバー上の同じアプリは、この動作を示しません。これは、WebSphereとTomcatで発生します。環境の設定は難しいため、Eclipse内でプロファイリングのようなことを試みるのは困難です。
Tomcatで実行されている既存のJavaアプリをプロファイリング(または他の検査方法)して、このスピンウェイトのような状態で実行されているメソッドを見つける方法はありますか?この状態になると、アプリは1つのメソッド(ベンダーのメソッド)のみを実行します。ベンダーはその動作を再現できません(もちろん)。
アップデート:
JConsoleを使用して、誰が実行していて、何をしているかを判断することができました。それがなぜそれをしているのかを理解するのに数時間かかりました。問題は、使用されていたベンダーのAPIjarが使用されていたデータベース構成と正確に一致しなかったことです。デフォルトでは、構成がわずかに一致していないサーバーでトレースとパフォーマンスの監視が有効になっています。私は別の瓶を使用しました、そしてすべては順調です。
ジョシュア、あなたの答えに感謝します。JConsoleは、セットアップと既存のアプリケーションの監視に非常に簡単に使用できました。
@Cringe-私はあなたが提案したオプションのいくつかでいくつかの実験をしました。JProfilerのセットアップで問題が発生しましたが、見た目は良さそうです(ただし高価です)。今後、Eclipse Profilerプラグインを追加し、さまざまなオープンソースプロファイラーを調べて機能を比較します。
java - プロパティファイルからHTMLマークアップをリファクタリングするにはどうすればよいですか?
私は最近、国際化されたテキストを多用するStruts1.1Webアプリケーションを継承しました。JSPファイルの多くは次のようになります。
プロパティファイルは次のようになります。
他のN言語(messages_fr.propertiesなど)で適切に翻訳されています。
問題:
- DRY違反-1つではなくN個のStrutsアクションURLへの参照があるため、リファクタリングアクションURLでエラーが発生しやすくなります。
- さまざまな懸念事項-私のアプリケーションのマークアップは現在、JSPファイルだけではなく、Webスペシャリストがマークアップを微調整することを困難にしています(CSSなどを使用)。
- 翻訳後マークアップ-新しく翻訳されたテキストを受け取ったときはいつでも、マークアップで囲むものを決定する必要があります
<a>...</a>
。英語では簡単ですが、なじみのない言語ではそれほど簡単ではありません。
メッセージファイルに次のようなプレースホルダーを追加することを検討しました。
しかし、「住所」と「連絡先情報」という単語は、どういうわけかローカライズし、マークアップでラップして、メッセージタグに渡す必要があります。これを行う簡単な方法がわかりません。
これを改善するために何ができますか?
java - Java での検索クエリの解析
検索クエリを解析し、DB の SQL クエリに変換する簡単な方法を見つけようとしています。
私は2つの解決策を見つけました:
- Lucene : 強力な Java ベースの検索エンジンで、クエリ パーサーが含まれていますが、構成があまり難しくなく、SQL クエリを作成するために簡単にハッキング/適応させる方法を見つけることができました。
- ANTLR : ベテランのテキスト レクサー パーサー。コンパイラからスカイスクレーパーまで、あらゆるものを構築するために使用されます。ANTLR は高度な設定が可能ですが、これからコードに触れるすべての人は新しい言語を学ぶ必要があります...
他のアイデアはありますか?
java - マルチモジュールプロジェクトを個別のリポジトリツリーに分割する必要があるのはいつですか?
現在、次の標準のSubversionリポジトリレイアウトを持つプロジェクトがあります。
./trunk
./branches
./tags
ただし、OSGiとモジュラープロジェクトの道を進んでいると、次のようになります。
./trunk/bundle/main
./trunk/bundle/modulea
./trunk/bundle/moduleb ./tags/bundle/main-1.0.0
./tags/bundle/main-1.0.1
./tags/bundle/modulea -1.0.0
'build'は、すべてのモジュールを順番にビルドするという点でまだかなりモノリシックですが、ビルド/リポジトリを次のようなものにリファクタリングする必要があるかどうか疑問に思い始めています。
./bundle/main/trunk
./bundle/main/tags/main-1.0.0
./bundle/main/tags/main-1.0.1
./bundle/modulea/trunk
./bundle/modulea/tags/modulea- 1.0.0
このパターンでは、各モジュールがそれ自体を構築し、そのバイナリをリポジトリ(maven、ivy、またはSubversionリポジトリ自体の別のパス)に格納することを想像します。
モジュール化された後のプロジェクトレイアウトに関するガイドラインまたは「ベストプラクティス」はありますか?
java - SFTP経由でサーバーからファイルを取得するにはどうすればよいですか?
Javaを使用して(FTPSではなく)SFTPを使用してサーバーからファイルを取得しようとしています。これどうやってするの?
java - 一般的な引数を使用して EJB 3 セッション Bean メソッドをオーバーライドするにはどうすればよいですか?
次の EJB 3 インターフェイス/クラスがあるとします。
そして、Bean にアクセスする別のFooRepository
Bean :
ただし、FooRepository
Bean の delete メソッドが呼び出されたときにオーバーライド メソッドが実行されることはありません。代わりに、で定義されている削除メソッドの実装のみAbstractRepository
が実行されます。
私は何を間違っていますか、それともジェネリックと継承がまだうまく連携していないというのは、単に Java/EJB 3 の制限ですか?
java - JNI と Java: ant 呼び出し make または make 呼び出し ant?
プラットフォーム固有の C/C++ コードから Java へのファイル システム変更通知を提供するために、JNI (Java Native Interface) の世界に初めて足を踏み入れようとしています。それは、私が見逃したこれを行うための素晴らしいライブラリを誰かが提案しない限りです。
JNI を初めて使用したので、インターフェイス側とライブラリ生成側に関する多くのドキュメントを見つけることができましたが、ネイティブ ライブラリの構築に関するドキュメントはあまり見つかりませんでした。
既存の Java ソースの ant に基づく既存のビルドがあるので、ライブラリを作成するために ant に make を呼び出させるべきか、または作成後に make に ant を呼び出させるのが最善かを解決しようとしています。図書館?
どちらのオプションも非常に優れているとは言えませんが、コードをコンパイルしてライブラリを直接生成するために ant にコンパイラを呼び出させるよりは優れているように思えます。