【東京】【聴講者募集】JJUG ナイト・セミナー 「ビール片手にLT&納涼会」の発表資料です。 https://jjug.doorkeeper.jp/events/28182
![#JJUG - Java で最速のハッシュアルゴリズムを求めて](https://cdn-ak-scissors.b.st-hatena.com/image/square/183cb40b5ebbab3be4d7ca3e96ca5f130281c916/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Ff527a73944cf4271961215b7cf082dff%2Fslide_0.jpg%3F5116915)
検索しているとなにかとNetflixのgithubリポジトリがヒットするので、全部(2015/07/18現在分)調査してみた。 github APIで https://github.com/Netflix のリストを全部取得して、名前・概要・URL・最終更新日時 (なんの更新だ?) を抽出。 AWS用のプロダクトが多かったのでまずそれらと、その他という分類にした。その他はほとんどがJavaライブラリ・システムだが、一部WebアプリケーションやPythonライブラリがある。 日本語での説明はReadmeやWikiを見て書いているが、理解が正しくないかもしれない。 AWS用 aws-autoscaling Tools and Documentation about using Auto Scaling URL: https://github.com/Netflix/aws-autoscalin
Daniel Mitterdorfer, comSysto GmbH @dmitterd Behold! It will get scary. Topics Illusions by (J)VMs Interpreter JIT Compiler Memory Illusions Based on A JVM Does That??? Write Once, Run Anywhere One "Binary" for All Platforms Consistent Memory Model (Java Memory Model) Consistent Thread Model Bytecodes Are Fast (JITing) Infinite Heap (Garbage Collection) What "is" a JVM? The JVM is specified in The
ここ数日、Nettyについて調べていたので理解できたことを書きます。 JBoss Netty Netty は Java で非同期、イベント駆動のネットワークアプリを作るためのフレームワークです。Netty を使うと早くて簡単にハイパフォーマンス、ハイスケールでメンテナンス性がいいものが作れます。いいとこ取りの全部乗せです。 なぜハイパフォーマンス、ハイスケールか? Netty は Java NIO(New I/O)をラップしていて、ノンブロッキングなIO操作ができます。そのため、1つのコネクションにずっと1スレッドを割り当てる必要がないため効率のよいリソース消費をします。従来のブロッキングなOIO(Old I/O)もサポートしており、僅かな変更で好きな方を使えます。また、NIOの複雑なByte BufferをChannelBufferというオブジェクトに抽象化し、不必要なコピーが発生しない
非常によく忘れるので、メモ。 Exec Maven Plugin exec:java http://mojo.codehaus.org/exec-maven-plugin/java-mojo.html Exec Maven Pluginを使うことで、pom.xmlにメインクラスや引数指定が書けるのですが使い捨てのプログラムのためにいちいち設定するのも面倒なので、いつもコマンドラインから指定するのですが…これを非常によく忘れます。 というわけで、まとめを。 書き方としては、こんな感じです。 $ mvn exec:java -Dexec.mainClass=[メインクラス名] 引数を付ける場合は、 $ mvn exec:java -Dexec.mainClass=[メインクラス名] -Dexec.args=[引数] です。 ドキュメントには、「exec.arguments」というプロパティで引
仕事の都合でJavaからActionScript3(FlexじゃなくてFlash 10みたいです)に乗り換えることになったので、クラスの仕様に親しむためまとめを作ってみました。 ■参考文献 http://www.tom.sfc.keio.ac.jp/~fjedi/wiki/index.php?%A5%AF%A5%E9%A5%B9%BC%FE%A4%EA%A4%CE%BB%C5%CD%CD%28ActionScript3%29 こちらのWikiに完璧にまとまっていますので、ぶっちゃけこのWikiを見ればすべて解決すると思います。 ■大原則 迷ったらJavaと同じ。 以下のJavaと違う点に掲載のない事項はすべてJavaと同じ。多重継承が無くてinterfaceが用意されている点など。 ■Javaと違う点 package宣言は.NETやC++のように{}で囲む必要がある。{}で囲んだ中はJav
こんにちは、ミドルウェア開発チームの青木です。 先日、アプリケーションサーバーが応答を返さなくなるトラブルに遭遇しました。 今回はその時のトラブルの原因と対策の顛末についてお話しようと思います。 現象 アプリケーションサーバーが突如応答を返さなくなりました。 現象が発生したアプリケーションサーバーのスタックトレースを見ると、あるスレッドの先頭が上記のようになっていました。 "qtp258153142-514386" prio=10 tid=0x00007f40b8dbf000 nid=0x7b4e runnable [0x00007f415ccb0000] java.lang.Thread.State: RUNNABLE at java.util.regex.Pattern$Loop.match(Pattern.java:4692) at java.util.regex.Pattern$G
JPHPというJavaで書かれたPHP処理系があります。これは2013年10月にはじまった新しいプロジェクトで、大半をメイン開発者一人で開発しているようですが、既に一定以上の完成度です。また、内部的にはPHPファイルを解釈して直接Javaバイトコードにコンパイルしており、かなり高速なPHP処理系になっています。 他のPHP処理系と異なり、既存のPHPコードをWebサーバ上で動かすことを重視していないようにも見えますが、興味深いプロジェクトですので紹介します。 JPHPを動かしてみる さっそくJPHPを試してみましょう。現時点ではGitHubからソースコードを持ってきてビルドする必要があります。JDK7以上が必要ですので注意してください。JPHPのドキュメント「Getting Started」の通り、次のようにしてJPHPがビルドできます。 $ git clone https://githu
はじめに 先日、私たちが開発しているクラウド型WAFサービス、Scutum(スキュータム)において、予想していなかった箇所の修正によってサーバの負荷が大幅に減るということがありました。原因はこのエントリのタイトルにもあるように、Stringクラスのインスタンスを生成する際の方法にありました。 Stringクラスのコンストラクタとcharset Stringクラスにはいくつかのコンストラクタが用意されています。我々が使っていたのはString(byte[] bytes, String charsetName)です。2つめの引数で、"MS932"や"UTF-8"のような文字集合(以下charset)を明示的に指定するものです。 ScutumのようなWAF(Web Application Firewall)は通常のウェブアプリケーションとは異なり、起動している間にさまざまなcharsetを扱うこ
JavaSE8で追加されたjava.util.Optionalにはnullとの戦いに終止符を打ってもらいたいと思っているんですが、思ってるだけだと何も起こらないので、使い方とか思ったこととかを一通り書いておきます。 Optionalのファクトリメソッド Optionalのインスタンスメソッド 値を取得するもの 値を使用するもの Optionalのまま扱うもの まとめ なお、一通りと言いつつOptionalIntとかはスルーしています。機会と書くことがあればそのうち書くかもしれません。 Optionalについては諸事情(遅筆とか理解不足とか分量とか)によりJavaエンジニア養成読本では軽い紹介にとどまっておりましたので、補足としてお読みいただけると幸いです。あと、この辺も参考にどうぞ。 OptionalのJavadoc 一通り触って適当にコメント書いたコード(GitHub/sandbox)
先ほど、Hazelcast 3.3から追加された、Replicated Mapの触り的なエントリを書きました。 HazelcastのReplicated Mapを試してみる - その1 http://d.hatena.ne.jp/Kazuhira/20141012/1413104805 これに続いて、もう少し設定に踏み込んだ内容を書きたいと思います。 Maven依存関係には、先ほど同様に以下が定義されているものとします。 <dependency> <groupId>com.hazelcast</groupId> <artifactId>hazelcast</artifactId> <version>3.3.1</version> </dependency> Replicated Mapに設定するのは、以下の項目になります。 項目名 意味 デフォルト値 async-fillup クラスタに新
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
Java Magazine で取り上げられていて存在は知っていたものの、特にチェックはしてなかった GS Collections。 Java Day Tokyo 2015 や JJUG CCC 2015 で再びその名前を耳にし、気になってチラッと実装を見たところ、面白そうだったので使い方を調べてみた。 【追記】Eclipse Collections 2015 年の 10 月から 12 月にかけて、 GS Collections は Eclipse 財団に移管された。 名前も GS Collections から Eclipse Collections に変更された。 公式サイトはこちら → Eclipse Collections - Features you want with the collections you need. (日本語ページ) GS Collections と、機能的な差
Process プロセス終了待ち データ読み込み 後から読むとNG 先に読んでもNG 全データ廃棄 スレッド化 [/2015-04-18] リダイレクション クローズ [2010-12-26] プロセス強制終了(タイムアウト) Timer使用 [/2014-03-19] exitValue利用 [/2014-03-19] isAlive利用 [2014-03-19] Future利用 [2014-03-18] タイムアウト付きwaitFor [2014-03-19] Runtime JDK1.4までは、外部プロセスの起動にRuntimeクラスを使う。 JDK1.5以降でも使えるが、JDK1.5以降ではRuntimeの内部でProcessBuilderを使っているので、素直にProcessBuilderを使う方がよい。 「java -version」を実行する例 Runtime r = Ru
はじめに すでに Ruby で書かれた Embulk plugins が登場しており、Embulk の利用シーンも段々と増えていると感じます。その一方で、Java で書かれた plugins はまだまだ少ないのではないかと思います。ちょうど、Embulk から Elasticsearch へデータを書き出す output plugin を書く機会があったので、その plugin の書き方をメモとして残します。 まずは Plugin Template を利用 Ruby であれ Java であれ plugins を作成するには、まず Embulk に用意されている new コマンドを実行するのがよいかと思います。New コマンドは、Plugin 開発に必要な gradle スクリプトや Embulk 本体が plugins を登録するために必要なスクリプトなどを自動で生成します。Embulk
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く