タグ

2020年10月26日のブックマーク (6件)

  • 名前付け大全を読んだメモ - KDE BLOG

    WEB+DB PRESS VOL.110 の特集「設計も、実装も、ここから始まる!名前付け大全」を読んだメモです。 第1章 「良い名前」とは何か なぜ名前付けが重要なのか 悪い名前の問題 理解が困難 勘違いが起こる 変更が難しい 読みにくい なぜ名前はあるのか 第2章 名前付けの理論 良い名前とは 適切な名前とは 名前の意味と挙動の不一致 3つパターン シンプルさを保つ:適切な名前の基準の一つ 正しい書き方 第3章名前付けの実践 パターン1. 名前の意味と挙動がずれている パターン2. 名前の意味と挙動がずれている パターン3. 名前の意味が広すぎる ケーススタディ1:安易な単語を選ぶ check は真偽がどちらかよく分からない ケーススタディ2:重要な単語を不用意に使ってしまう スコープなしで重要な単語を使ってしまう 役割が抜けている ケーススタディ3:実装変更により、既存の名前の意味が

    名前付け大全を読んだメモ - KDE BLOG
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
  • Hotspot VMの基本構造を理解する

    J2EEがミッションクリティカルな分野に適用されるようになり、Javaのパフォーマンスチューニングの重要性はさらに高まっています。パフォーマンスチューニングにはさまざまなパラメータがありますが、中でもJava VMに関連するチューニングの効果は大きいといわれています。稿は、Java VMに関連するチューニング手法を学ぶための前提知識を提供することを目的にしています(編集部)。 Java VMに関連するチューニングを行い、J2EEアプリケーションのパフォーマンスを上げるためには、Java VMについて詳しく知る必要があります。稿は2回に渡ってJava VMの基構造と動作原理を詳細に解説しますが、内容を理解するためにはプログラムがコンピュータ上で動作する基原理とJava VMの基用語を知っている必要があります。Java VMの基用語に関しては、「実行スピードに挑戦するJavaアーキ

    Hotspot VMの基本構造を理解する
  • 第8回 イレギュラーなヒープの動作を理解する | gihyo.jp

    Tenured領域を早く使ってしまうパターン 前回ご紹介したように、HotSpotのヒープでは、アプリケーションがオブジェクトを作成するとまずはじめにEden領域が割り当てられ、マイナーGCによってSuvivor領域、Tenured領域へと移動していく流れが一般的でした。 しかし、このパターンではないイレギュラーなパターンがいくつか存在します。 その1つが、「⁠オブジェクトが一般的なパターンに比べ、早くTenured領域に移動してしまう」というものです。 図1 Tenured領域を早く使ってしまう例 Tenured領域はメジャーGCの対象であり、メジャーGCはNew領域を対象とするマイナーGCに比べ、はるかに停止時間が長くなります。そのため、このようなパターンが頻繁に起こる場合は、メジャーGCの多発によってアプリケーションの停止時間が増加します。 図2 Tenured領域を早く使ってしまう

    第8回 イレギュラーなヒープの動作を理解する | gihyo.jp
  • JavaのGCの仕組みを整理する - Qiita

    最近メモリを大量に使うJavaのプロセスに関する仕事があり、GCの知識が必要になったので調べたことをまとめておきます。調べたら色々出てくる時代ですが考えを整理するために書きました。間違った認識をしている可能性はあるのでそこはご指摘いただけると幸いです。 注: この記事は最新のGC事情を整理するものではなく、古典的?な手法について書いてます。 JVM まずはざっくりJavaの基的な仕組みから。 JavaのプロセスはJVMと呼ばれる仮想マシンの上で動作します。この仕組みは様々なOSで動作し、環境の差異を気にする事なくコンパイルされたJavaのコード(クラスファイル)を様々な環境で実行可能にしてくれます。 JVMにはいくつ種類がありますが、記事はOpen JDKで用いられるHotSpot VMの場合を想定しています。(他のJVMとの違いはわからない) ヒープ領域 Javaのプロセスを開始する

    JavaのGCの仕組みを整理する - Qiita
  • TOMCAT殺害事件 - Qiita

    OOMKillerの殺意 顧客EC2のTomcatがアクセスの無い早朝にもかかわらずOOMKillerに突然殺されてしまったので、調査した顛末をたぶん同じような問題に直面されている方もおられるかと思いますので備忘録として記載します。 Javaヒープのチューニングにも多少役立つかと思います。 (この記事はJava8が対象となります。) OOMKillerとはOut of Memory時に、サーバ全体を守るためにメモリーを消費しているプロセスを停止するLinuxの標準機能です。 そのOOMKillerになんとTomcatが突然殺害されてしまいました。 問答無用の辻斬り状態です。 早朝ですのでアクセスログには何も記録されておらず、catalina.outには OpenJDK 64-Bit Server VM warning: Setting LargePageSizeInBytes has no

    TOMCAT殺害事件 - Qiita