Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

javaに関するtakeshiketaのブックマーク (120)

  • Java EE 再入門

    1. JavaEE 再入門 To Java EE 7 from J2EE 1.4 November 2014 @minazou67 2. JavaEE再入門 はじめに スライドは、J2EE 1.4 からJava EE 7 の新機能について広く浅く解説し、 短時間でJava EE に関する知識を網羅 的に学習することを目的としています。 Java を学ぶきっかけになれば幸いです。 2 •スライドでは、Java の基的な事項(変数、演算子、制御構文、クラスなど) については取り扱いません。 •スライドで紹介している機能が、Java EE の新機能の全てではありません。 •スライドに掲載されている会社名、製品名、サービス名、ロゴは、各社・各団体の商標または登録商標です。

    Java EE 再入門
  • Apache Tika – Apache Tika

    Apache Tika - a content analysis toolkit The Apache Tika™ toolkit detects and extracts metadata and text from over a thousand different file types (such as PPT, XLS, and PDF). All of these file types can be parsed through a single interface, making Tika useful for search engine indexing, content analysis, translation, and much more. You can find the latest release on the download page. Please see

  • Java 推奨されないスレッドプリミティブ

    Thread.stop が推奨されないのはなぜですか 質的に安全ではないからです。スレッドを停止すると、そのスレッドがロックしたすべてのモニターのロックが解除されます。(ThreadDeath 例外がスタックまで伝わると、モニターのロックが解除される。)これらのモニターによって以前保護されていたオブジェクトが整合性のない状態になると、ほかのスレッドも、これらのオブジェクトが整合性のない状態にあると見なします。そのようなオブジェクトは、「壊れた」オブジェクトと呼ばれます。壊れたオブジェクトに対してスレッドが操作を実行すると、予期しない結果になる可能性があります。この動作は、微妙で検出が困難な場合と、はっきりと通知される場合があります。チェックされないほかの例外とは異なり、ThreadDeath は、スレッドをそのまま強制的に終了します。このため、ユーザーは、プログラムが壊れる可能性を警告さ

  • G1GCのつかいどころメモ - nekop's blog

    以下の環境とテストでCMSとG1GCを比較してみた。かなり急ぎでやったので間違っている可能性が多少ある。 16 cores, 32GB mem -Xms24g -Xmx24g 8 instances Infinispan 6.0.3.Final DIST cache, put 4GB data (1KB entry * 2M, 2GB data with one backup copy, 2GB * 2 = 4GB) CMS: -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=30 G1GC: -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:InitiatingHeapOccupancyPercent=30 $ java -XX:+UseG1GC -XX:+PrintFlagsFinal

    G1GCのつかいどころメモ - nekop's blog
  • Java 7 CMS GCの基本的な情報の整理 - nekop's blog

    バッチ処理などスループット重視のアプリケーションはデフォルトのパラレルGCで良いが、Java EEアプリケーションサーバなどレスポンスタイム重視のものやHadoopなどのクラスタ系ソフトウェアで死活監視に引っ掛る系などのstop the worldをなるべく避けたいいわゆるサーバ系ソフトウェアを運用する場合には、UseConcMarkSweepGCを付与して停止時間の短いCMS GCを使う。その場合にCMSのチューニングに踏み込もうとするとなんだか難しい記述がいっぱいで若干困るので、簡単なガイドをメモとして書いておく。 対象バージョンは以下。 $ java -version java version "1.7.0_51" OpenJDK Runtime Environment (fedora-2.4.5.1.fc20-x86_64 u51-b31) OpenJDK 64-Bit Serve

    Java 7 CMS GCの基本的な情報の整理 - nekop's blog
  • JJUG CCC 2013 Fall「JVMコードリーディング入門」資料公開 - 虎塚

    土曜にJJUG CCC 2013 Fall(http://www.java-users.jp/?page_id=695)へ行ってきました。 事前にお知らせするのを忘れていましたが、17:15〜18:05のセッションでJVMのソースコードリーディングについてお話ししましたので、発表資料を公開します。 R5-5 JVMコードリーディング入門 〜JVMのOS抽象化レイヤーについて〜 JVMのコードを読みはじめたばかりの方を対象に、JVMとOSのメモリを中心とした関係性についてお話しします。JVMはOSからどのようにメモリを確保しているのでしょうか? そんな素朴な疑問をもとに、JVMのコードを楽しく追いかけてみましょう。※このセッションは入門者向けです。バイトコードやGCについては扱いません。 虎塚 (さくらば組) http://www.java-users.jp/?page_id=709#r5-

    JJUG CCC 2013 Fall「JVMコードリーディング入門」資料公開 - 虎塚
  • Seasar2を新規案件に採用するのはそろそろやめたほうがいい - きしだのHatena

    Seasar2の機能追加停止が宣言されてから、すでに6年弱たっています。 Seasar2.4に対する追加要望があれば、もちろん検討します。ただし、大きな変更や追加はもうないでしょう。 Seasar2の今後のロードマップ 2008-01-29 - ひがやすを blog 後継になる予定だったSeasar3も開発が中止されて3年たちました。 Seasar3開発中止 2010-08-06 - ひがやすを blog ここでSeasar2.5を出す方向で動くということでしたが、実現しませんでした。 あのころSeasar2に関わっていた人も、ScalaがメインになったりNode.jsをさわったり、不意ながらPHPをさわったり、さわってみるとPHPもそれほど悪くなかったり、やっぱりPHP気にわなかったりと、いろいろな道を進んでいます。 DIコンテナ自体の機能も時代遅れ感がでてきており、関連プロダクトも

    Seasar2を新規案件に採用するのはそろそろやめたほうがいい - きしだのHatena
  • 第1回 はじめてのSpring Framework | DevelopersIO

    今やすっかりAWS屋、しかもアプリではなくインフラ寄りのプロダクトばかり触っている都元です。しかし元々はサーバサイドアプリ屋ということで、ボスのAWSへの想いとは裏腹に、ぼちぼちとサーバサイドJavaの話も出して行こうと思っています。 というわけで、Spring Frameworkについて色々書いて行こうと思うのですが、どう考えても1回で終わる内容ではないため、シリーズ形式(連載)とさせて頂きたいと思います。ただ、書くネタは無限にありそうなので、回数は反響に応じて調整しようかな、と思っています。ギブミー・いいね。 Javaフレームワークの世界 Javaはフレームワークがいっぱいあることが利点でもあり欠点でもあります。多くの言語にはデファクトと言えるフレームワークが存在します。あまり知らない分野なので深く触れてヤケドしたくはないのですが、例えばRubyだったらRailsでしょうし、Pytho

    第1回 はじめてのSpring Framework | DevelopersIO
  • 第1回 JVMはどのようにメモリ空間を利用するのか | gihyo.jp

    あのWebサービスもJVMを利用している 「Javaは大規模なエンタープライズシステムにしか使われない」 それが常識だと思っていませんか? たしかに、これまでJava Virtual Machine(JVM)は、他の言語を実行すると遅く、Javaのプログラムを実行する環境にすぎないものでした。ところが、Java 7から実装されたInvokeDynamicにより、JVM上で、RubyPHPなどさまざまなコンピュータ言語で記述されたプログラムをより高速に実行できるようになりました。 これにより、今までエンタープライズでJava言語で記述されたプログラムを実行するだけの環境であったJVMが、汎用的な実行環境になったと言えます。また、これまでJavaの実行環境として使用されていたノウハウが、他の言語で記述されたプログラムを実行する際にも利用できます。 最近では、TwitterがJVMをアプリケー

    第1回 JVMはどのようにメモリ空間を利用するのか | gihyo.jp
  • from old Java to modern Java

    16. from old Java to modern Java ∼ 職業プログラマに聞いて欲しいJava再入門 Acroquest Technology株式会社 JJUG / 関西Javaエンジニアの会 谷 心 ( @cero_t ) 19. private List m_list = null; private int process_file(String str_file_name) { String str_line; List list_lines = new ArrayList(); int i_result = read_file(str_file_name, list_lines); if (i_result == 0) { List list_record = new ArrayList(); for (int i = 0; i < list_lines.size(); i+

    from old Java to modern Java
  • Concurrency Utilities for EE 7

    Concurrency Utilities for EE 7 2013年5月15日 at 12:10 午前 日は、Java Day Tokyo に非常に多くの Java 開発者の皆様にお集まりいただきまして誠にありがとうございました。日私が C-4 のセッション「エンタープライズ環境における並列処理の実装方法について」で説明した資料に参考メモを付加した、参照用のバージョンを下記に公開します。 また併せて説明時に使用したデモ(CPU 256 個の環境で Java を並列処理実行させた際のデモンストレーション)動画も下記に公開します。下記のデモは内部的に単なる Σ 計算を行なっているだけなのですが、デモ動画をご覧いただくとわかるのですが、単なる逐次処理、JDK 1.0 からある昔ながらの Thread 生成方法、Concurrency Utilities を利用した場合で、どの位 CPU

    Concurrency Utilities for EE 7
    takeshiketa
    takeshiketa 2013/05/15
    Thread , Concurrency
  • Java EE環境における非同期プログラミング - nekop's blog

    Java EE環境では基的にスレッドの生成は許されていません。この制限はEJB仕様書に記述されており、ブループリントなど他のドキュメントにも記載されています。これらの制限はかなり古い時代に考えうる最大の制限を記述したものであり、「ファイルにアクセスしてはならない」など今となってはあまり現実的ではない記述も多くなっています。しかしながら、「スレッドを生成してはならない」というのは依然多くのコンテナに適用される現在も有効な制限であり、実際にスレッドの生成などを行うと誤動作するケースがあります。今回は、なぜこのスレッドの制限があるのか、現実的にどうすれば良いのか解説します。 コンテナは様々なものをスレッドに結びつけて管理しています。様々なものというのは例えばセキュリティ、トランザクション、データソースなどのコンテナリソースです。コードのほうがイメージしやすいでしょうから、以下に擬似コードを挙げ

    Java EE環境における非同期プログラミング - nekop's blog
  • Java SE 7 InvokeDynamic in JRuby

    9. JIT最適化の例: インライン化 double addAllSqrts(int max) { double accum = 0; for (int i = 0; i < max; i++) { accum = addSqrt(accum, i); } return accum; } double addSqrt(double a, int b) { return a + Math.sqrt(b); } public static void main(String[] args) { for (int i = 0; i < 100000; ++i) { (new Target()).addAllSqrts(10); } } 10. JIT最適化の例: インライン化 % java -XX:+PrintCompilation -XX:+UnlockDiagnosticVMOptions -

    Java SE 7 InvokeDynamic in JRuby
  • なぜ Play は Servlet を使っていないのか(Why there is no servlets in Play 翻訳) - ikeike443のブログ

    まだ正月休みなのです。暇なので訳してみました。 この記事は 1年半以上前に Play の生みの親である Guillaume Bort がブログに書いたものです。 (2012/8/19追記: リンク切れしていたためリンクを貼り直しました) なぜ Playframework では Servlet が一切使われていないのかについて、簡潔に書いています。 丸山先生が Play に注目し始めた今、Play2.0 のリリースが間近に迫った今、あらためて読むと面白いかも知れません。 なぜ Play は Servlet を使っていないのか Servlet API に準拠せずに Java web フレームワークを作ることはかなり変に思えるかも知れない。大抵の人はなぜこんな普通じゃない選択をしたのかを聞いてくる。気に入ってくれる人も何人かいるが、大半は毛嫌いする。正直に言うと、 Play フレームワークの一番

    なぜ Play は Servlet を使っていないのか(Why there is no servlets in Play 翻訳) - ikeike443のブログ
  • Javaの未来についてのNeal Gafter氏とのディスカッション

    それに対する回答は、"我々は今それに取り組んでいます。いずれそれをあなたにお伝えします"というものでした。エキスパートグループが"これを公開したくない"と言った訳ではありません。エキスパートグループは公開で議論することを望んでいますし、Oracleも公開したいと思っているがまだできていないだけだ、と言っています。 そして、パブリックレビューの期間が終わりましたが、それらにはまだアクセスできません。Java言語仕様の改訂のため、JSRが検討されており、私はそのレビューに行きました。しかし、取り組んでいるのはエキスパートグループでさえなく、Alex Buckley氏とOracleの言語チームが、仕様を訂正して仕様バグを直していました。 彼ら(Oracle)はこう言いました。"これはこのバージョンの仕様で修正されたと考えているバグのリストで、これが訂正後の仕様です"と。私はリストを見て、バグを確

    Javaの未来についてのNeal Gafter氏とのディスカッション
  • Java OTN セミナー オンデマンド コンテンツ

    WebLogic Server 最新テクノロジー 1) Oracle WebLogic Server 12c: 開発を支援する新機能ご紹介 >詳細 2) Oracle WebLogic Server12c: Oracle Real Application Clusters連携機能 Active GridLink for RACのご紹介  >詳細 3) オラクルコンサルが語る! Oracle WebLogic Server の運用ノウハウ  >詳細 (2012年11月実施 Oracle DBA & Developer Day収録資料)

  • 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
  • Java EE6で単体テストや結合テストを自動化する方法について - 達人プログラマーを目指して

    今週水曜日に、オラクル青山センターで行われたGlassfish Japanユーザーグループの勉強会でJava EE6のお話をさせていただきました。勉強会のスライドとビデオは以下のリンク先にあります。 Glassfish勉強会(JavaEE6について) View more presentations from Ryo Asai http://www.ustream.tv/recorded/16552906 今回は基的に私がこのブログで書いてきたJava EE6関連の情報について紹介させていただきました。欲張って少し内容を詰め込み過ぎたところがあったかもしれませんが、Java EE6を使った単体試験や結合試験の自動化については、説明をスキップしてしまい、ちょっとわかりにくくなってしまいました。ここで、あらためてJava EE6上のアプリケーションのテスト自動化について簡単に補足させていただき

    Java EE6で単体テストや結合テストを自動化する方法について - 達人プログラマーを目指して
  • http://www.test104.com/kr/tech/3790.html

  • 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へ移行する理由