ホームページ >Java >&#&チュートリアル >見逃せない 13 の Java プロジェクト
今日は、役立つ Java サンプル コードと機能のデモンストレーション資料を大量にまとめます。
GitHub はプログラム開発の宝庫です。フォークする価値のある資料もあれば、独自のコードの改善やプログラミング スキルの学習に役立つ資料もあります。いずれにせよ、開発作業中に GitHub を避けることはほぼ不可能です。
以下では、さまざまな興味深く実用的な Java ライブラリを共有します。必要なものを自由に使用してください。 Java アプリケーション。このプロジェクトでは、REST サービス、Web アプリケーション、タスク、データベース移行などを作成でき、すべてがモジュール実装に基づいています。また、単純なコマンドとしても使用できます。
このプロジェクトの目標は、アプリケーションを Java コンテナから解放し、開発者が main() メソッドに戻れるようにすることです。また、いくつかの組み込みコマンドも含まれているため、処理するコードがそれほど多くない場合や、アプリケーションにモジュールをインポートしていない場合でも、Bootique を使用してコマンドを実行できます。
2. エレガントな問題処理方法
99-problems
は、名前を見ただけでその機能が理解できます。明らかに、その役割は、誰もがロジック プログラミングの特定のスキルを磨くのを支援することです。 Java 8、Scala、または Haskell を使用して問題を解決し、最終的に最も洗練された解決策を見つけることができます。
問題を解決するのが好きなら、さまざまなレベルの難易度から選択することもできます。さらに、99問すべてのパズルを解くと、さらにJavaデスマッチに挑戦できる。行き詰まった場合は、ここをクリックしてパズルを表示してください。ただし、読む前によく考えた方がよいことに注意してください。
3. 文字列操作
Strman-java
ライブラリは、文字列の処理に特に使用される Java 8 ライブラリのセットです。これは Maven で使用できるため、選択したビルド ツールの依存関係を追加するだけで使用できます。
Kik を使用したことがあり、それが遭遇した leftPad の問題について聞いたことがある場合は、Strman の方が良い選択かもしれません。これは、特定の長さの新しい文字列を返し、先頭を自動的に埋めることができます。さらに、値に文字列を追加する、特定のディレクトリから文字を抽出する、文字列を使用して開始と終了の間の配列を返すなどの関数の包括的なリストがあります。
4. データの閲覧 クールな方法でデータを操作したい場合は、
Dex
をぜひお試しください。これは、予測機能とともに、データの抽出、変換、視覚化に役立ちます。視覚化の結果を 3D またはその他の HTML 変数フォームとして公開できます。
Dex を使用すると、世界地図、エンゲージメント タイムライン、ネットワーク使用状況などを含む 50 を超える異なる視覚化モードを生成できます。また、R を使用して実行中のサンプルと組み合わせて、複雑な統計分析および予測分析システムを構築することもできます。
民主党と共和党、どちらが勝つでしょうか?コード ダイアグラムを使用して、何が起こっているかを確認します。
5. Little Big Data
Tablesaw
は、さまざまなデータ ツールと列指向のストレージ形式を含むメモリ内データ テーブルのセットです。設計上の考え方は、小規模なタスクの分散分析を実行する人は誰もいないが、誰もが単一サーバー上の 200 万行レベルのテーブルを操作できるということです。
Tablesaw を使用すると、表示レイアウトやデータの優先順位をチェックするルールを適用したり、データの表示や操作に対する拡張制御を特定のユーザーに提供したりできます。その助けを借りて、RDBMS および CSV ファイルを使用してデータをインポートしたり、列を追加および削除したり、マッピングやリダクション操作を実行したり、圧縮された列形式のストレージ形式でテーブルを保存したりできます。
6. Key-Value ストレージ
Chronicle Map
は、取引アプリケーションや金融市場アプリケーションなど、低遅延アプリケーションやマルチプロセス アプリケーションを実現するために設計されたメモリ内 Key-Value ストレージ ソリューションです。このライブラリは主に中程度の読み取りおよび書き込みクエリ待ち時間シナリオをターゲットにしており、ユーザーはサーバー内のハードウェア実行スレッドの数に基づいて適切なクエリ メカニズムを作成できます。
主な用途には、単一サーバー (Redis など) の低速なキー/値ストレージ ソリューションを置き換えたり、同様の JVM 指向のソリューションを置き換えて速度の向上を達成したりすることが含まれます。アプリケーション状態の一部を Java ヒープの外に移動して、ヒープ サイズと GC 圧力を軽減することもできます。
7. 負荷調査ツール
Gumshoe
を使用すると、誰でもアプリケーションのパフォーマンス統計を監視できます。これを使用すると、コードの特定の行にドリルダウンし、スタック呼び出しと個々のスタック フレームに関連する統計を理解して、リソースの使用状況 (TCP、UDP、ファイル システム、プロセッサーの使用状況など) を正確に分析できます。
このライブラリは、データの結論レビューをより直観的に実現するために、生成された統計データをキャプチャ、フィルタリング、視覚化することができます。より具体的な用途として、データのキャプチャや視覚化中にスタック フレームをフィルタリングし、その場で変更することもできます。
SoundSea を使用すると、誰でも曲を検索してダウンロードできます。メタデータとアルバム情報が組み込まれており、特定の曲を探している場合、SoundSea は iTunes で関連するメタデータとアルバム情報を検索し、関連する結果を表示します。複数の曲が一致する場合は、必要なエントリを見つけることができます。
曲自体は Pleer.com からダウンロードされ、高品質、低品質、または VBR ビット レートに従ってフィルタリングすることもできます。これは、他の音楽ライブラリを経由せずに直接曲を聴くことができるミニプレーヤーでもあります。
検索してダウンロード
LeakCanary は、メモリ リークの問題を解決するために設計されたオープン ソース ライブラリのセットです。これを使用して、Java (および Android) のメモリ リークをチェックできます。 GitHub ページには、「何千マイルも離れた場所で、アリの巣の中で崩壊する」と書かれています。
LeakCanary をセットアップした後、それを使用してリークを自動的にチェックし、問題が見つかったときに通知を提供することができます。
ND4J は、Python コミュニティのさまざまな科学計算ツールを JVM に導入できるオープン ソース ライブラリのセットです。実稼働環境向けに設計されているため、高速に動作しますが、大きなメモリ容量は必要ありません。これを利用すると、エンジニアはアルゴリズムとインターフェイスを Java および Scala ライブラリに簡単に移植できます。
このライブラリの主な貢献は、GPU および線形代数と信号処理機能を含む、一連の汎用 n 次元配列オブジェクトを提供することです。 Hadoop および Spark と統合され、人気のある Python 数学ライブラリである Numpy をシミュレートする API を提供します。
どの監視ツールを使用しても、Automon は AOP (AspectJ) と組み合わせて、Java コード、JDK、および依存ライブラリの監視ステートメントを実装できます。 JAMon、JavaSimon、Yammer Metrics、StatsD などの他のよく知られた監視ツールと連携でき、perf4j、log4j、sl4j などのさまざまなログ ライブラリもサポートします。
もう 1 つの優れた生産監視ツールは、Takipi です。これは、コードがいつクラッシュするか、なぜクラッシュするかを理解し、すべての予期せぬ状況を表示し、それらに関連するすべてのスタック、ソース、およびステータス情報を取得するのに役立ちます。
Jvm-tools または SJK は、JVM のトラブルシューティング、監視、構成のためのツールのセットです。これは、JVM の標準診断インターフェイス (JMX、JVM アタッチ、パフォーマンス カウンターなど) を使用しながら、さまざまな一般的なトラブルシューティングの使用例を処理するためのロジックを追加する素晴らしいツールです。
このライブラリを使用すると、ターゲット JVM の CPU スレッド使用量をプールしながら、リアルタイムの CG 情報を定期的にコンソールにレポートし、基本的なサンプル分析機能を提供できます。ここでは、コマンド ラインを使用して MBean でさまざまな基本操作を実行し、同時にターゲット Java プロセスのすべての MBean を JSON 形式でダンプできます。
awesome-java は、Java フレームワーク、ライブラリ、およびソフトウェアの優れたコレクションです。具体的なプランの選び方がわからない場合は、カテゴリごとに項目が分かれているこのチェックリストを必ず参照してください。
また、マッピングを簡素化するフレームワーク、アプリケーションのサイクルと依存関係を構築できるツール、バイトコード プログラミングを処理するライブラリなど、現在でも使用されている古いツールもいくつか含まれています。
もちろん、これは GitHub 上の氷山の一角にすぎません。間違いなく、誰もがレビューして自分のコード プロジェクトを改善するために使用する価値のあるプロジェクトが他にもあります。あなた自身の経験に基づいて、コメントでさらに推奨事項を提供することも歓迎します。
上記は見逃せない 13 個の Java プロジェクトの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。