タグ

ブックマーク / cero-t.hatenadiary.jp (2)

  • 100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋

    要約 技術的な話だけ教えて、という方のために先に結論だけ書いておきますと、PostgreSQLはクエリを実行した時点で全レコードの情報を一気に読んできてヒープを埋めてしまう場合がある、ということ話です。 たとえば、ResultSet#nextメソッドを使いながら処理を回すようなコードを書いて、少ないヒープでも処理できるようにするのは常套手段だと思いますが、そういうコードを書いていても一気にヒープを消費してしまうことがあるのです。詳しくはこのドキュメントを見てください。 https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor ことの発端 ちょっと仕事Java + jOOQ + PostgreSQLで、DBのデータを集計するようなバッチ処理を書いてまして、もちろん俺様の書いたコードにバグなんてある

    100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋
    tohokuaiki
    tohokuaiki 2020/08/13
    “OutOfMemoryError。まさか、俺が? ”
  • volatileとか使うなと怒られた話 - 谷本 心 in せろ部屋

    JJUG Night Seminar ~ Java VM<&納涼会 ~ http://kokucheese.com/event/index/48437/ に参加してきました。 「スタックマシンとしてのJavaVM」なんて言う 一見さんお断りみたいなタイトルに集まった人たちはもちろんレベルが高く 参加者のjavap経験率が20%ぐらいになるなど、なかなか偏った集客具合でした。 そんな中、私もLTでBTraceの話をしようと、45枚のスライドと、2種類のデモを用意していました。 ただ客層を考えるに、最近Twitterでちょっと呟いていた 「longに複数スレッドから値を代入すると、想定外の値になる」話をした方が良いんじゃないかと思い、 観客にどちらが聞きたいか尋ねてみたところ、longの方が圧倒的人気。 そんなわけで、45枚のスライドをドブに捨てて(いつか再利用するよ!) スライドなしで、lo

    volatileとか使うなと怒られた話 - 谷本 心 in せろ部屋
    tohokuaiki
    tohokuaiki 2017/11/07
    “普通にAtomicIntegerやAtomicLongを使ってください。”
  • 1