タグ

javaに関するshiumachiのブックマーク (112)

  • 「Java SE 6完全攻略」第49回 Concurrency Utilitiesの変更点 その1

    最近のCPUはデュアルコアは当たり前、デスクトップPCでさえクアッドコアを使用できる時代になりました。 このような時代の流れを先行するかのごとく、Javaでは当初よりスレッドを使った並行プログラミングが可能でした。とはいうものの、Threadクラスを使いこなすのはなかなか難しいというのも事実です。 そこで、J2SE 5.0では並行プログラミング用のAPIとして、Concurrency Utilitiesが導入されました。Concurrency Utilitiesには大別して次のような機能を持っています。 タスクの非同期実行機構 並行コレクション ロック、シンクロナイザ アトミック処理 Java SE 6ではConcurrency Utilitiesも強化されています。4つの機能のそれぞれが強化されているのですが、変更点はそれほど大きくありません。そこで、連載ではタスクの非同期実行機能の変

    「Java SE 6完全攻略」第49回 Concurrency Utilitiesの変更点 その1
  • 虎の穴 J2SE 5.0 入門 Concurrency Utilities No.1

    マルチスレッドのアプリケーションはいろいろ時をつけなくてはいけないことがあります。同期や同時アクセスやプライオリティ、デッドロックなどなど。 Java では安易にスレッドを作ることができるのでいつのまにかスレッドをたくさん使っていたなんてことも起こりがちですが、そのつけは大きいです。 そんなマルチスレッドのアプリケーションを作る際に福音書となっているのが Java スレッドプログラミング です。残念ながら今は品切れで入手が困難なので、もし屋に残ってたらすぐにでも購入したほうがいいです。 マルチスレッドと同様このも内容が難しくて、なかなか理解するのが大変なんですが、マスターできたら鬼に金棒状態です。そして、このの作者が Concurrency Utilities の原型を作った Doug Lea なのです。 Concurrency Utilities では次のような機能を提供しています

    shiumachi
    shiumachi 2012/01/12
    "結構なボリュームがあるので、とりあえずここでは非同期実行、スレッドプールを取り上げたいと思っています"
  • メモリリークトラブルシューティング記 – その5: Memory Analyzer でヒープダンプを解析(最終回) – yusuke.blog

    – その1: 自宅サーバがハング – その2: フリーズの原因はガベージコレクション – その3: 侍でヒープ使用量を確認 – その4: リーク箇所を確認する色々な方法 – その5: Memory Analyzer でヒープダンプを解析(最終回) 延々と連載してきたメモリリークトラブルシューティング記もいよいよ最終回です。 今回のメモリリーク現象はリークの再現方法がわからないため、運用環境から詳細なデータが取得できるheapdumpを取得した、というのが前回までのあらすじです。 次は、ヒープダンプの解析。 ヒープダンプは JDK に付属の jmap コマンドで取得します。 jmap -heap:format=x [pid] または jmap -heap:format=b [pid] といった形で実行するとヒープダンプを xml 形式、またはバイナリ形式で記録できます。 通常生のヒープダンプ

    メモリリークトラブルシューティング記 – その5: Memory Analyzer でヒープダンプを解析(最終回) – yusuke.blog
  • あなたの知らないJDKの便利ツールたち

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー

    あなたの知らないJDKの便利ツールたち
  • Apache DirectMemory - Apache DirectMemory Home

    2015/07/26 - Apache DirectMemory has been retired. For more information, please explore the Attic.

    shiumachi
    shiumachi 2011/12/14
    "Apache DirectMemory is a multi layered cache implementation featuring off-heap memory management (a-la BigMemory) to enable efficient handling of a large number of java objects without affecting jvm garbage collection performance"
  • Garbage Collection - Frequently Asked Questions

    This document describes the behavior of the Java( tm) HotSpot( tm) virtual machine. This behavior is not part of the VM specification, however, and is subject to change in future releases. Moreover the behavior described here is generic behavior and will not apply to the execution of all Java applications. How is the generational collector implemented in HotSpot(tm)? The default collector in HotSp

  • “Stop the World”を防ぐコンカレントGCとは? (1/2) - @IT

    “Stop the World”を防ぐコンカレントGCとは?:現場から学ぶWebアプリ開発のトラブルハック(2)(1/2 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) Full GC問題の時代が再び到来! それまで順調に動いていたはずのWebアプリケーションが、ある時突然、応答を返さなくなる。そして、運用者があたふたしている間に、何事もなかったかのように再び動き出す。 Javaで構築したシステムにかかわる者ならば誰しもが体験するであろう事象、そうFull GC(ガベージ・コレクション)だ。Full GCが行われている間、すべてのアプリケーションスレッドは停止する。この事象は“Stop the

    “Stop the World”を防ぐコンカレントGCとは? (1/2) - @IT
  • Oracle Java Technologies | Oracle

    For over 30 years, Java has evolved as a secure, enterprise-grade platform powering innovation. Oracle’s stewardship continues to advance Java as the language of choice to address modern application development and the future of AI-powered business. Watch the JavaOne 2026 keynotes and select sessions

  • Java HotSpot VM Options

    Please note that this page only applies to JDK 7 and earlier releases. For JDK 8 please see the Windows, Solaris reference pages. This document provides information on typical command-line options and environment variables that can affect the performance characteristics of the Java HotSpot Virtual Machine. Unless otherwise noted, all information in this document pertains to both the Java HotSpot C

  • https://blogs.oracle.com/jonthecollector/our-collectors

    https://blogs.oracle.com/jonthecollector/our-collectors
    shiumachi
    shiumachi 2011/09/29
    GCの話
  • Java Native Access - Wikipedia

    Java Native Access (JNA) とは、JavaプログラムがJava Native Interfaceを用いずにネイティブの共有ライブラリにアクセスする方法を提供するライブラリである。JNA は最小限の作業でネイティブコードにアクセスできることを目指して設計されており、決まりきったアクセスコードを書いたりグルーコードの生成を行ったりせず、ネイティブコードへ正しく簡単にアクセスすることを最優先としている(ただし、性能にも注意が払われている)。JNAライブラリはネイティブコードを呼び出すためにlibffiを用いており、名前を指定してライブラリをロードするネイティブの関数を用いて、目的のライブラリ関数の関数ポインタを取得する。ネイティブコードにアクセスする過程で静的なバインディング、ヘッダファイル、またコンパイルは必要ない。アプリケーションの開発者はJavaのインターフェイスを用

    shiumachi
    shiumachi 2011/06/15
    "Java プログラムがJava Native Interfaceを用いずにネイティブの共有ライブラリにアクセスする方法を提供するライブラリである。JNA は最小限の作業でネイティブコードへアクセスできることを目指して設計されており"
  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
  • JVM "-verbose:class" Option

  • Javaのガベージ・コレクションを知る

    [GC 1419K->1159K(1984K), 0.0041208 secs] [Full GC 1159K->727K(1984K), 0.0100906 secs] [GC 1879K->1879K(3140K), 0.0006966 secs] [Full GC 1879K->1303K(3140K), 0.0111883 secs] [GC 3607K->3607K(5448K), 0.0001983 secs] [Full GC 3607K->2455K(5448K), 0.0126519 secs] Full GCの発生に注目する 「GC」で始まる行は、Scavengeガベージ・コレクション(Scavenge GC)の発生を表します。一方、「Full GC」で始まる行は、Fullガベージ・コレクション(Full GC)を表します(この両者の違いについては次回説明します)。また

    Javaのガベージ・コレクションを知る
    shiumachi
    shiumachi 2011/05/06
    "ガベージ・コレクションが実際にどのタイミングで発生しているかを知るには、JVMのオプション「-verbose:gc」を以下のように指定します。$ java -verbose:gc <クラス名>"
  • Cliff Click in "A JVM Does What?"

    Cliff Click gave a very good talk at Google last week. For your viewing enjoyment:The slides are available here.(For those who watched it: The inventors of bytecode were in the audience. I think he was just used to making that joke elsewhere.)

    Cliff Click in "A JVM Does What?"
  • Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か

    GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu

    Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
    shiumachi
    shiumachi 2011/04/06
    GCについてのまとめ
  • Javaで覚えるIT技術者の40の常識 - @IT

    ~新人プログラマ/SEは覚えておきたい“まとめ”~ @IT編集部 2011/3/24 このページは、開発者/プログラマが、以下のような項目に関して、常識的な基礎知識を学ぶための記事リンクのまとめです。 デスクトップなどの見た目に関する3つの常識 プログラミング・コーディングに関する6つの常識 ネットワーク/通信に関する9つの常識 セキュリティに関する3つの常識 データとファイルに関する5つの常識 設計・アーキテクチャに関する6つの常識 ソフトウェアの品質管理に関する3つの常識 業務アプリに関する5つの常識 Java SE(旧、J2SE)のコアAPIやJSP/サーブレット+StrutsのWebアプリケーション開発、JBossやその他のJavaオープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

  • Java SE Core Technologies

    The Java HotSpot Virtual Machine is a core component of the Java SE platform. It implements the Java Virtual Machine Specification, and is delivered as a shared library in the Java Runtime Environment. As the Java bytecode execution engine, it provides Java runtime facilities, such as thread and object synchronization, on a variety of operating systems and architectures. It includes dynamic compil

  • 旧FC2無料ホームページスペース サービス終了のお知らせ

    下記の「旧FC2無料ホームページスペース」は2025年06月30日をもちましてサービスを終了いたしました。 FC2WEB http://www.fc2web.com GOOSIDE http://www.gooside.com k-free.net http://www.k-free.net Easter http://www.easter.ne.jp 55 STREET http://www.55street.net ZERO_CITY.com http://www.zero-city.com OJIJI.NET http://www.ojiji.net K-Server http://www.k-server.org Zero-yen.com http://www.zero-yen.com KTNET http://www.kt.fc2.com Finito http://www.fi

  • Javaプログラマであるかを見分ける10の質問-回答編 - やさしいデスマーチ

    想定を超えた反応がありましたので、予定はしていなかった回答編をお送りします。ですが、正確な解答を書いても面白くないので、これをネタに面談をした場合に、自分ならどんなポイントを持って選考するかをまとめてみました。 はじめに このエントリーの質問の意図は「優れたJavaプログラマ」を見つける事ではありません。「最低限のスキルを持った戦力が欲しい」という状況です。したがって、優れた指摘をしてくるのであれば超したことありません。設問について議論が発生するならば、この設問を投げる必要がなかったということです。 Javaを詳しく知っている人からすれば間違いでは?曖昧な質問では?と感じる設問があるのは確かです。しかし、優秀な人をテストしたい訳ではないのです。したがって、正確性とか厳密性については求めません。「だいたいあっている」ならば前提条件である「中堅プログラマの補充」の条件を満たすからです。 中堅プ

    Javaプログラマであるかを見分ける10の質問-回答編 - やさしいデスマーチ