タグ

Javaに関するsecondlifeのブックマーク (38)

  • ガベージコレクタの仕組みを理解する

    GCを適切に行わせるためのヒープサイズの設定 JVMにGCを適切に行わせるにはヒープサイズを適切に設定(New領域サイズ、Old領域サイズ、領域サイズのバランスなど)する必要があります。当然、適切なヒープサイズはアプリケーションに依存します。一般にヒープサイズが小さいとGCが頻発してアプリケーションのパフォーマンスが低下します。さらに、ヒープサイズが必要量を下回る場合はOutOfMemoryErrorが発生してアプリケーションが停止してしまいます。一方、ヒープサイズが大きいと、GCの起動回数は減りますが、GC1回当たりの処理時間、すなわちアプリケーション停止状態が長くなり、アプリケーションの応答時間に問題が出る場合もあります。システムの物理メモリのフリー領域が不足するまでヒープサイズを大きくすると、物理メモリからスワップ領域へのページングが起こってしまい、かなりのパフォーマンスが劣化する可

    ガベージコレクタの仕組みを理解する
  • 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チューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
  • 「CVE-2012-4681:Oracle Java7 任意のOSコマンドが実行可能な脆弱性」の攻撃手法解説 - ( ꒪⌓꒪) ゆるよろ日記

    Ocacle Java7で任意のOSコマンドを実行可能な脆弱性がある、と話題になりました。 JVNTA12-240A: Oracle Java 7 に脆弱性 日パッチがリリースされました。 OracleJavaの深刻な脆弱性を公表―攻撃者はリモートであらゆる操作が可能〔今朝パッチ緊急リリース〕 Alert for CVE-2012-4681 PoCコードも公開されています。この脆弱性を突く攻撃はどのようなものか興味があったので、調べてみました。 調査結果は、今週に行われた8月29日 JJUG Night Seminar ~ Java VM&LT&納涼会 ~(東京都) で話してきたのですが、パッチも出たことだしブログにも書いてみようと思います。 Javaセキュリティモデルについて Javaセキュリティは、サンドボックスモデルによって確保されています。サンドボックスは、JVM上で実行さ

    「CVE-2012-4681:Oracle Java7 任意のOSコマンドが実行可能な脆弱性」の攻撃手法解説 - ( ꒪⌓꒪) ゆるよろ日記
    secondlife
    secondlife 2012/08/31
    安全な sandbox の実装大変そう... ($SAFE の話はしてません)
  • Twitterが、Ruby on RailsからJavaVMへ移行する理由

    オライリーが主催するイベント「Open Source Convention 2011」が7月25日から米国ポートランドで開催されました。 その中で、TwitterがなぜRuby on RailsベースのシステムをJavaVMベースへ移行しようとしているのかを解説したセッション「Twitter: From Ruby on Rails to the JVM」が行われ、ビデオが公開されています。 13分程度の短いセッションのポイントをまとめて紹介します。 世界最大のRuby on RailsによるWebサイトをJavaVMへ移行 Twitterのアプリケーションサービスグループ、Raffi Krikorian氏 Twitterは世界中からのツイートをリアルタイムで扱っている。リアルタイム処理が、ツイッターにおけるもっとも難しい処理だ。 Twitterは、おそらく世界最大のRuby on Rail

    Twitterが、Ruby on RailsからJavaVMへ移行する理由
  • 全文検索システム: Fess - オープンソース全文検索サーバー Fess (フェス)

    概要 現在表示されているサイトは旧サイトです。新サイトは http://fess.codelibs.org/ja/ です。 Fess は「5 分で簡単に構築可能な全文検索サーバー」です。Java 実行環境があればどの OS でも実行可能です。Fess は Apache ライセンスで提供され、無料 (フリーソフト) でご利用いただけます。 Seasar2 ベースで構築され、検索エンジン部分には 2 億ドキュメントもインデックス可能と言われる Solr を利用しています。 ドキュメントクロールには S2Robot を利用することで、Web やファイルシステムに対するクロールが可能になり、MS Office 系のドキュメントや zip などの圧縮ファイルも検索対象とすることができます。 特徴 5 分で簡単に構築可能な全文検索サーバー Apache ライセンスで提供 (フリーソフト) OS 非依存

    secondlife
    secondlife 2011/01/27
    全文検索エンジン・クローラあり
  • Apache、Javaコミュニティー脱退を示唆――Oracleのテストキットライセンス拒否に反発

    ASFは脱退をちらつかせるだけでなく、「Java SE 7」仕様に反対票を投じる方針も明らかにしており、ほかのメンバーにも同調するよう呼び掛けている。 米Apache Software Foundation(ASF)は、米Oracleが「Harmony」プロジェクトに対してテストキットのライセンスを拒み続けるのであれば、Java管理団体から完全に脱退すると脅しをかけている。 ASFは11月9日(現地時間)、同団体のブログに掲載した発表文で「Java仕様のインプリメンターとしてのASFの権利が認められない」のであれば、Java Community Process(JCP)から脱退すると述べている。 ASFが指摘した問題とは、Java SEのテストキットライセンス(TKL)をApache Harmonyプロジェクトに提供するかどうかをめぐるOracleとの論争のことだ。HarmonyはJava

    Apache、Javaコミュニティー脱退を示唆――Oracleのテストキットライセンス拒否に反発
  • Froyo DalvikVM JIT

    2. Who am I?  20+ years involved in embedded systems  10 years in real time OS, such as iTRON  10 years in embedded Java Virtual Machine  Now Gcc, Linux, QEMU, Android, …  Blogs  http://d.hatena.ne.jp/embedded/ (Personal)  http://blog.kmckk.com/ (Corporate)  Twitter  @tetsu_koba 2 3. Today's topicGoogle I/O での DalvikVM の JIT のセッション を読み解こう  ”A JIT Compiler for Android's Dalvik VM”  Be

    Froyo DalvikVM JIT
  • Android Developers Blog: Painless threading

    Whenever you first start an Android application, a thread called "main" is automatically created. The main thread, also called the UI thread, is very important because it is in charge of dispatching the events to the appropriate widgets and this includes the drawing events. It is also the thread you interact with Android widgets on. For instance, if you touch the a button on screen, the UI thread

    Android Developers Blog: Painless threading
    secondlife
    secondlife 2010/02/11
    非同期で画像ロード ただの Thread と AsynkTask を使った方法
  • VM Spec The Structure of the Java Virtual Machine

    Java Language and Virtual Machine Specifications Java SE 23 Released September 2024 as JSR 398 The Java Language Specification, Java SE 23 Edition HTML | PDF Preview feature: Flexible Constructor Bodies Preview feature: Implicitly Declared Classes and Instance main Methods Preview feature: Module Import Declarations Preview feature: Primitive Types in Patterns, instanceof, and switch The Java Virt

  • Java言語規定 目次

    目次 | 前 | 次 Java言語規定 目次 序文 0. 標準情報としての導入 0.1 適用範囲0.2 引用規格0.3 定義 1. はしがき 1.1 プログラム例1.2 文献 2. 文法 2.1 文脈自由文法2.2 字句文法2.3 構文文法2.4 文法記法 3. 字句構造 3.1 Unicode3.2 字句変換3.3 Unicodeエスケープ3.4 行終端子3.5 入力要素及びトークン3.6 空白類3.7 注釈3.8 識別子3.9 キーワード3.10 リテラル3.10.1 整数リテラル3.10.2 浮動小数点リテラル3.10.3 論理値リテラル3.10.4 文字リテラル3.10.5 文字列リテラル3.10.6 文字及び文字列リテラルのためのエスケープシーケンス3.10.7 空リテラル3.11 分離子3.12 演算子 4. 型,値及び変数 4.1 型及び値の種類4.2 プリミティブ型及び値4

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    secondlife
    secondlife 2010/02/07
    コード管理は git ですが、協調作業もふつーのLLと同様にやってます。ただ git は eclipse plugin は使わず CUI でやってますが…。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Java変態文法最速マスター - プログラマーの脳みそ

    Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new

    Java変態文法最速マスター - プログラマーの脳みそ
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Throwableについて本気出して考えてみた - 都元ダイスケ IT-PRESS

    Throwable、Exception、RuntimeException(RTE)、Errorあたりを整理しながら、色々考えてみた。私見に基づくので、間違っているかもしれないけれど、自分としては頭が整理できたかな、と感じたので晒してみる。異論があったらコメントください。 まず、一番基礎的なところで、継承関係の整理から。こんなツリーになっています。 Throwable Error Exception RuntimeException そして、稿での用語の定義。caller=呼出す側のコード callee=呼出される側(throwする側)のコードとします。 Throwable Throwableは「throw文に指定できる何か」という意味ですね。 Instances of two subclasses, Error and Exception, are conventionally used

    Throwableについて本気出して考えてみた - 都元ダイスケ IT-PRESS
    secondlife
    secondlife 2009/07/24
    例外設計
  • エラーの種類と例外

    フォルトはシステム側で発生する異常であり、アプリケーションプログラムでキャッチしても適切なリカバリ処理を行うことができません。 Errorはまさにこのために存在する例外です。 メソッドのthrows節で宣言する必要はなく、アプリケーションプログラムでキャッチすることも想定されていません。 フェイラーはアプリケーションの設計の範囲内のエラーであり、当然アプリケーションプログラム側でリカバリ処理を行える可能性があるものです。 メソッドのインタフェースはクライアントとサプライヤの間の契約であるので、発生が予想されるエラーに関してthrows節で宣言することは当然と言えるでしょう。 throws節で宣言された(RuntimeExceptionでない)Exceptionはクライアントでキャッチすることが必要になります。 デフェクトはアプリケーションのバグに起因するエラーであり、アプリケーションプログ

    secondlife
    secondlife 2009/07/24
    例外設計
  • GitHub - zxing/zxing: ZXing ("Zebra Crossing") barcode scanning library for Java, Android

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - zxing/zxing: ZXing ("Zebra Crossing") barcode scanning library for Java, Android
    secondlife
    secondlife 2009/07/16
    1/2次元バーコードコードライブラリ
  • Androidで学ぶ並列処理とGUI - やさしいデスマーチ

    Docomo製Android端末の発売日が発表されました。来月の札幌JavaコミュニティもAndroidイベントということもあり、チュートリアルを作成したりしています。ちょっとスレッド周りではまった事もあり、簡単な時計アプリケーションの作り方から、Androidのスレッド描画モデルを紹介します。 とりあえずソース このアプリケーションは、0.5秒毎に日時を更新する単純な時計アプリケーションです。 package com.example.android; // import 略 public class Clock extends Activity { private ScheduledExecutorService service; private Handler handler = new Handler(); /** Called when the activity is first

    Androidで学ぶ並列処理とGUI - やさしいデスマーチ
  • Javaで任意のファイルからフォントを作る。 - ざくら開発者のつぶやき

    クライアント・・Swingやアプレットなどでアプリケーションを作る場合や、サーブレットで画像を作る場合に、Javaフォントを足すにはfont.propertiesを書き換えて・・というのがあるのですが、これはどちらかというとjavaを入れて「日語が出ない!」とかいうときの対応です。 いちいちひとつのアプリケーションのためにOSにフォントを入れたり、JREの設定を書き換えるというのは面倒だしレベルがあってないと思う人向けに。 それほどのことじゃないのですが、Font.createFontというメソッドがあります。 ファイルかInputStreamでフォントを作れます。なるほど!と思ってそのまま使うと・・ 画面に黒い点だけが出てきて、目が点になります。 createFontのあとに、Font.deriveFontを使って、新たな派生フォントを作るのが正解らしい。下にサンプルをつけておき

  • NekoHTML

    About NekoHTML is a simple HTML scanner and tag balancer that enables application programmers to parse HTML documents and access the information using standard XML interfaces. The parser can scan HTML files and "fix up" many common mistakes that human (and computer) authors make in writing HTML documents. NekoHTML adds missing parent elements; automatically closes elements with optional end tags;