Oracle Blogsの主としてテクノロジー製品のエントリを日本語でご紹介します(オリジナルのエントリを投稿することもあります)。厳密性をご所望の方は原文をどうぞ。よい内容でしたら原文に対し、"Good Entry, thanks!"でもいいので、是非コメントお願いします(Typoや誤訳はコメント欄からどうぞ)。なお、このエントリは個人の見解であり、所属する会社の公式見解ではありません。また、エントリ内でご紹介している製品・サービスは国内導入時期が未定の場合もありますのでご了承下さい。 Good entries on Oracle Blogs are put into Japanese. Mainly this blog covers technology products. Opinions expressed in this blog is my personal one and d
I have a HotSpot JVM heap dump that I would like to analyze. The VM ran with -Xmx31g, and the heap dump file is 48 GB large. I won't even try jhat, as it requires about five times the heap memory (that would be 240 GB in my case) and is awfully slow. Eclipse MAT crashes with an ArrayIndexOutOfBoundsException after analyzing the heap dump for several hours. What other tools are available for that t
概要 Javaの比較的新しい形態素解析器、Kuromoji。 lucene-gosenやGomokuのように辞書内包で、jarを落とせばその場で利用でき、Unidicに対応していて、ソースがLuceneのtrunkにコミットされているという、何かと気になる特徴の持ち主。 複数のモードを持っているようで、Searchモードを使うと「日本経済新聞」を「日本 | 経済 | 新聞」のように検索で利用しやすい形にばらして解析してくれたり、Extendedモードを使うと未知語をuni-gramにしてくれたりもするらしい。 今日はそんなKuromojiさんの導入から簡易な使い方までをさらっと追いかけてみた。 導入 まずは下記ページからダウンロード。今回はkuromoji-0.7.5.tar.gzを利用。 Downloads - atilika/kuromoji https://github.com/at
<g> <g> <defs> <rect id="SVGID_1_" x="-468" y="-1360" width="1440" height="3027" /> </defs> <clippath id="SVGID_2_"> <use xlink:href="#SVGID_1_" style="overflow:visible;" /> </clippath> </g> </g> <rect x="-468" y="-1360" class="st0" width="1440" height="3027" style="fill:rgb(0,0,0,0);stroke-width:3;stroke:rgb(0,0,0)" /> <path d="M13.4,12l5.8-5.8c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0L12,10.6L6.2
TOPICS Programming , Security 発行年月日 2010年06月02日 PRINT LENGTH 312 ISBN 978-4-87311-449-1 原書 Decompiling Java FORMAT 知的財産を守るために、ソフトウェア技術者にはJavaのバイトコードやJVMについての深い知識が求められます。本書では、Javaデコンパイラの構築を通して、Javaのバイトコード、オペコード、クラスファイルの関係やJVMの内部仕様について詳しく解説します。逆コンパイラや難読化ツールの特徴と限界についても著者の見識を惜しみなく提供しているので、難読化ツールを使うことによりコードの安全性がどのくらい高まるのかを知ることができます。日本語版では、ClassToXMLのJava6への対応方法、現在でも利用可能なオブファスケータについての補足情報を加筆しました。/ART/OF
Hello World! Java →116 ac ed 00 05 73 72 00 26 62 65 6e 63 68 6d 61 72 6b 2e 74 65 73 74 63 61 73 65 2e 62 65 61 6e 2e 48 65 6c 6c 6f 57 6f 72 6c 64 42 65 61 6e 52 9a 88 0d cc 48 49 00 02 00 02 4a 00 04 74 69 6d 65 4c 00 03 73 74 72 74 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 78 70 00 00 01 27 8a dc 2a e2 74 00 0c 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 JSON →43 {"str":"Hello World!
Java Press vol. 35, pp.76--85, March 2004. Java プログラムの"舞台裏"大追跡 Javassist -- Java バイトコードを操作するクラスライブラリ -- 入門 先端J2EE サーバJBoss が,人知れず内部で行っていること 千葉 滋 東京工業大学・大学院情報理工学研究科 はじめに Java バイトコードを変換するライブラリとしては Jakarta BCEL が有名です。BCEL は Java クラスファイルのデータ構造を直接操作する場合には便利ですが、Java クラスファイルの内部仕様、つまり Java バイトコードに詳しくないと使いこなせません。一方、Java バイトコードにあまり詳しくない開発者でもバイトコード変換を実装できるようにするライブラリが Javassist です。 バイトコード変換 はっきりいって、つい最近までJava
先日の fluent に引き続き、新しいソフトウェアのリリースです。 満を持して、MessagePack for Java 0.6 をリリースしました! 9ヶ月ぶりのメジャーバージョンアップです。 以前のバージョン 0.5 の API をすべて見直し、互換性を維持しながらも、数多くの機能を新たに搭載しました。動的オブジェクトAPI や リフレクション機能の強化、JRubyとの連携、JSONサポート などなど。もちろん、性能も大きく向上しています。 このバージョン 0.6 のリリースによって、MessagePack の応用範囲は大きく広がります。MessagePackは、クラウドシステムからモバイルデバイスデバイスまで、多種多様なシステムの連携と統合をサポートする、新しいデータ表現形式です。 さて、新機能の詳細をご覧下さい: JSONシリアライザ・デシリアライザを統合 MessagePack
Javaのアクセス修飾子protectedで少しハマったので、調べた内容をメモしておきます。 通常、protectedと指定されたフィールドやメソッドは「同一package内と、そのクラスを継承したサブクラス内からアクセスできる」と説明されます。私自身も同様の理解だったのですが、次のようなケースで予想外の挙動となりました。 クラスBaseとChildが別のpackageに属する場合、 package base; public class Base { protected void baseMethod() { System.out.println("Base method."); } } package child; import base.Base; public class Child extends Base { public void childMethod(Base base)
WEB+DB PRESS Vol.60で、「fastutilとsuxによる大規模データ処理」と題して、プリミティブコレクションライブラリのfastutilと、簡潔データ構造ライブラリのsuxを紹介する記事を書きました。 WEB+DB PRESS Vol.60 作者: まつもとゆきひろ,西尾泰和,山田憲晋,城戸忠之,増井俊之,羽生章洋,uupaa,ミック,塙与志夫,原悠,奥一穂,はまちや2,大沢和宏,吾郷協,浜本階生,中島拓,中島聡,矢野りん,角田直行,能登信晴,田村哲也,吉村譲,結城亜砂子,角谷信太郎,石橋秀仁,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2010/12/22メディア: 大型本購入: 12人 クリック: 185回この商品を含むブログ (24件) を見る fastutil: http://fastutil.dsi.unimi.it/ sux: htt
特に頑張ろうとかではないのですが、ZooKeeperのソースを読み始めようかなと。ソースを落としてこようとしてEclipseを久しぶりに起動したらEGitだかのインストールでEclipseがだんまりを決め込んだのでうろうろしていたらConfluenceにそれっぽいドキュメントをみつけた。基本的には 頑張らない 僕が知っている暗黙の知識は特に説明しない 不定期 Javaは素人です くらいの適当な感じで。 ドキュメントは公式サイトの記述が割といい感じになっているがInternalsのページもちょっと物足りない。Confluenceのこの辺りのドキュメントは開発の初期に使い始めてメンテナンスに挫折した形跡があるので、思考や歴史を追うのにいいかもしれない。MLは一応購読していて、気になるSubjectが来たら見るくらいにしているが、新機能や新しい情報をウォッチしたい場合はMLが一番よいと思う。もっ
Everything I Ever Learned About JVM Performance Tuning at Twitter https://oracleus.wingateweb.com/published/oracleus2011/sessions/37941/S37941_2408980.pdf Twitterの中の人がパフォーマンスチューニングについて語るセッション。 スケーリング? いや、エクストリームです。 きっと凄いスケーリングの話をするのかと思ったら、 全くの真逆で超細かい、エクストリームな話でした。 たとえば「メモリを使いすぎない」ようにするための説明では、 Objectをnewするだけで64bitマシンなら128bit (16byte) 消費する、という話に始まり ポインタ、オブジェクトヘッダ、配列ヘッダ、継承クラスで消費するメモリ(4byteとか24byte)の
本書はOpenJDK7のG1GCの実装と、それに関連する技術を解説します。 目次 スポンサーのみなさま はじめに 1.準備 2.オブジェクト管理機能 3.アロケータ 4.ヒープ構造 5.オブジェクト構造 6.HotspotVMのスレッド管理 7.スレッドの排他制御 8.GCスレッド(並列編) 9.GCスレッド(並行編) 10.並行マーキング 11.退避 12.予測とスケジューリング 13.正確なGCへの道 14.ライトバリアのコスト さらに勉強したい人へ その他参考文献 以下から(ある時点で)最新のebookをダウンロードできます。 徹底解剖「G1GC」実装編-20120915.epub 徹底解剖「G1GC」実装編-20120914.mobi 徹底解剖「G1GC」実装編-20120914.pdf 謝辞 本書はスポンサーのみなさまの金銭的支援によって執筆されました。 スポンサーのみなさま あ
本連載では、セキュアコーディングスタンダード「CERT Oracle Secure Coding Standard for Java」の内容をベースに、Android特有の情報を交えつつ、堅牢なプログラムを開発するためのノウハウを具体的な事例とともに紹介していきます。第1回では、セキュアコーディングの意味と、その効果について解説します。 はじめに 昨年、C/C++に関してセキュアコーディングの連載があったことを御存じの方もいるかもしれません。今回始まる「Javaセキュアコーディング入門」は、Javaのプログラミングにおいて、入力値検査、引数の安全な渡し方、例外処理、整数演算といったソフトウェアの脆弱性に直結する問題に対して、コーディング上の注意点や脆弱性を作り込まない作法を解説するものです。具体的には、演算処理、文字列処理、ファイル操作などトピックごとに、よりセキュアなコーディングスタイル
CollabNet is currently down for scheduled maintenance. As part of CollabNet's expansion and improvement plan, we are upgrading the space in our datacenter to help better serve you as our customer. CollabNet is making improvements and expansions to the network, power, and the overall infrastructure of our datacenter space. The maintenance is scheduled to conclude at 7:00AM PST Saturday morning.
概要 Javaでは、マルチスレッド用のクラスとしてThreadが用意されている。[2017-04-15] しかし新しいJavaでは、Threadを直接使う事はあまり無い。 ExecutorService/Future(JDK 1.5)やFork/Join(JDK 1.7)といったクラスが追加されているので、そちらを使う。 Java21で仮想スレッド(virtual thread)が導入された。[2023-09-23] これにより、従来のスレッドはプラットフォームスレッド(platform thread)と呼ぶようになった。 Javaでは、マルチスレッド用のThreadクラスが用意されている。 Threadを継承して独自のクラスを作り、runメソッドをオーバーライドして処理本体を記述する。 class スレッドクラス名 extends Thread { @Override public vo
男子たるものJVMと仲良くせねばなりません。 仲良くなるにはまず相手のことを良く知ることから始めましょう。 Coreダンプを読むには 至極一般的なCoreといえばこれ。基本ツールに食わせてうはうは言いながら見るといい。 IBMのダンプアナライザはここからDLできる。 http://www.alphaworks.ibm.com/tech/jca/download 侍もみやすい。 http://yusuke.homeip.net/samurai/ja/index.html HeapDumpを読むには Coreだけじゃ満足できない時はHeapも見る。てかJavaHeap内のメモリ使用状況の解析をしたいならHeapDumpをみなくちゃ始まりません。 普通にHeapDumpを解析するならGUIでみるのが一番。 IBMからでてるHeapAnalyzerを使うのがベター。 メモリが少ないと動かなくなるの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く