mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
Javaスレッドプールの使い方
2024-02-03
4762 文字
OOMリスクを避けるためにThreadPoolExecutorでスレッドプールを明示的に作成し、スレッドプール状態を監視すること、また業務ごとに異なるスレッドプールを使うことが推奨されます。パラメータは適切に設定し、重複作成や長時間タスクを避け、障害調査しやすいようにスレッドプール名を明確にする必要があります。スレッドプールとThreadLocalの併用による問題にも注意し、コンテキスト伝播にはTransmittableThreadLocalの利用が推奨されます。
Cover Image of the Post
Java JMMメモリモデル
2024-02-01
7136 文字
Javaメモリモデル(JMM)は、マルチスレッド環境における共有変数の可視性を定義し、CPUキャッシュモデルや命令の並べ替えに関わる概念を扱います。JMMはスレッドと主記憶の関係を規定することで、共有変数の可視性と一貫性を確保し、マルチスレッドプログラミングの問題を解決します。重要な概念にはhappens-before原則、原子性、可視性、順序性があり、並行環境での正しいプログラム実行を保証します。
Cover Image of the Post
Java並行プログラミング
2024-01-30
20415 文字
本記事では、スレッドとプロセスの定義、Javaスレッドの実装機構、スレッドライフサイクル、並行と並列の違い、同期/非同期の概念、多重スレッドの長所と短所など、Java並行プログラミングの基礎を紹介します。さらに、スレッド安全性、デッドロックとその回避方法、volatileキーワードの使い方、楽観ロックと悲観ロックの違い、スレッドプールやFutureを使った実行効率の向上方法についても扱います。最後に、CyclicBarrierやCountDownLatchなどのツールの利用シーンと原理も紹介します。
Cover Image of the Post
Javaコレクション概要
2024-01-26
12009 文字
Javaコレクションは主にCollectionインターフェースとMapインターフェースから派生し、List、Set、Queueなどのサブインターフェースを含みます。Listは順序付きで重複可能な要素、Setは一意要素、Queueは特定順序での要素管理、Mapはキーと値のペアを扱います。スレッド安全性やソートなどの要件に応じて適切なコレクションを選ぶ必要があります。Javaコレクションは配列より柔軟なデータ保存方法を提供し、多様な操作をサポートします。ArrayListとLinkedListの挿入・削除性能差、HashMapとHashtableのスレッド安全性と効率の違い、ConcurrentHashMapの高い並行性サポートについても触れています。
Cover Image of the Post
Javaリフレクション&プロキシ面接知識
2024-01-24
4820 文字
リフレクションはフレームワークの中核機能であり、実行時にクラスを解析したりメソッドを呼び出したりできるため、Springなどで広く利用されています。利点は高い柔軟性ですが、安全性の問題や性能低下を招く可能性もあります。プロキシパターンはプロキシオブジェクトを通じて対象オブジェクトの機能を拡張するもので、静的プロキシと動的プロキシに分かれます。後者はより柔軟でフレームワークでよく使われます。JDK動的プロキシはインターフェース実装クラスのみを対象にでき、CGLIBは未実装クラスも代理可能です。動的プロキシは実行時にバイトコードを生成し、高い柔軟性と効率を提供します。
Cover Image of the Post
Java面接基礎
2024-01-19
24887 文字
Java言語の特徴には、学びやすさ、オブジェクト指向、プラットフォーム非依存性、マルチスレッド対応、信頼性、安全性などがあります。Java SEは基礎版でデスクトップ用途向け、Java EEは企業版で複雑な業務アプリケーション向けです。JVM・JDK・JREの違いは、JVMがバイトコードを実行し、JDKが開発ツールキット、JREが実行環境である点です。Javaはバイトコードにより効率性を高め、コンパイルと解釈の併存をサポートします。例外処理はChecked/Uncheckedに分かれ、try-catch-finally構造を用います。ジェネリクスは可読性を高め、リフレクションは実行時解析能力を提供し、シリアライズはオブジェクト永続化に用いられます。I/Oストリームはバイト/文字ストリームに分かれ、デコレータやアダプタなどの設計パターンがI/Oで広く使われます。
Cover Image of the Post
クローラー基礎ライブラリ学習
2024-01-18
17936 文字
Pythonのurllibやrequestsを中心に、クローラーの基礎ライブラリを学習します。HTTPリクエストの構築、例外処理、URL解析、正規表現の利用、猫眼映画ランキング情報の抽出方法などを紹介します。さらに、リクエストヘッダー、Cookies、プロキシ設定、セッション維持などの発展的な使い方も強調しています。
Cover Image of the Post
クローリングの基礎知識
2024-01-13
18500 文字
クローラーはWebページの情報を取得するための自動化プログラムです。基本原理は、HTTPリクエストを送ってページのソースコードを取得し、必要なデータを抽出して保存することです。WebページはHTML、CSS、JavaScriptで構成されるため、クローラーは静的ページと動的ページの両方に対応する必要があります。セッションやCookieはユーザー状態の維持に使われ、プロキシサーバーは実IPの隠蔽に役立ちます。代表的なリクエストメソッドはGETとPOSTで、レスポンスのステータスコードが結果を示します。クローリング効率を高めるには、適切なヘッダーやプロキシを使い、アンチスクレイピング対策を考慮する必要があります。
Cover Image of the Post

目次