Java
要約 技術的な話だけ教えて、という方のために先に結論だけ書いておきますと、PostgreSQLはクエリを実行した時点で全レコードの情報を一気に読んできてヒープを埋めてしまう場合がある、ということ話です。 たとえば、ResultSet#nextメソッドを使いながら処…
先日、MicrosoftがDaprというプロダクトをOSSで公開しました。 www.publickey1.jp Distributed Application Runtimeの略だそうで、なんかIstio的な感じなのかなーと思ったのですが「ステート管理」みたいな機能もある所が少し気になって、ドキュメントとかを…
仕事でAWS Lambdaを使う機会が増えてきたのですが、やはり書き慣れたJavaでLambdaを書きたいなと思うことが少なくありません。ただAWS LambdaでJavaアプリを動かすと、初回アクセスに十秒近く掛かるし、メモリ消費量も大きいしで、パフォーマンス的にも運用…
最近、格ゲーのツイートが増えてる [twitter:@cero_t] です。前のエントリーに書いた「18年ぶりに出る続編」のβテストがついに始まりまして、最近は夜な夜なコンボをやるなどしています。 シビアな反応が要求される格闘ゲームにおいて、継続して勝ち続けるた…
JMHを使って、JMX経由でMBeanの情報を取る際のパフォーマンスを測定してみた。 ベンチマークのソースコードはこちら。 https://github.com/cero-t/Benchmarks/blob/master/src/main/java/ninja/cero/benchmark/JmxBenchmark.java ベンチマーク環境はMacBook …
今日、会社のblogのほうにJMHのエントリーを書きました。 そう、今日のテーマはマイクロベンチマークです。 Javaのマイクロベンチマークツール「JMH」 - Taste of Tech Topics Javaのマイクロベンチマークに興味がある人は、 GoogleのCaliperというマイクロ…
定義的プログラミングっていう言葉を思いついたから、メモしとく。 イメージ的にはこんなん。 Before: 普通の処理コード public Dto process(Map<String, String> input) { Dto dto = new Dto(); dto.userName = input.get("ユーザ名"); dto.password = input.get("パスワー</string,>…
先日のJJUGナイトセミナーで 「from old Java to modern Java」という話をしてきました。 公式サイト : http://www.java-users.jp/?p=551 togetter : http://togetter.com/li/521481 Java以前のCライクな書き方から、J2SE 1.4、5.0・・・からJava SE 8まで …
このエントリーは Java Advent Calendar 2012 の10日目として書きました。 なんか色々あって、公開が2日ぐらい遅れてしまってごめんなさい(><) 前日は、Hideki Kishida (@quicy) さんの「Xtend の Lambda とストリーム処理」です。 http://legacy-style.…
会社の同僚が、リフレクションと普通のメソッド呼び出しについて、 簡単なベンチマークを取って比較していました。 で、結果は以下の通り。 reflection :time(ms)=19054 direct call:time(ms)=44 リフレクションって、どれくらい遅くなるの? - snuffkinの遊…
JJUG Night Seminar ~ Java VM<&納涼会 ~ http://kokucheese.com/event/index/48437/ に参加してきました。 「スタックマシンとしてのJavaVM」なんて言う 一見さんお断りみたいなタイトルに集まった人たちはもちろんレベルが高く 参加者のjavap経験率が20%…
自社の内々定者(来年、就職予定)がJavaOneに参加していたのですが その参加レポートが、なかなか良い感じの内容だったので紹介しておきます。 http://www.acroquest.co.jp/member/naitei2013/activities/ 等身大の学生として、分からない所は分からないと…
先日、7年ぶりに開催されたJavaOne Tokyo 2012で、 トラブルシューティングについて講演してきました。 「トラブルシューターの頭の中身 〜7年間のJavaトラブルシュートサービスから」 というタイトルで、 同期入社の江里口と掛け合い(漫才)風のセッション…
長らく更新の止まっている「いいから俺文字コード」シリーズですが、 このたび、Java Advent Calendarの一環として復活させました! Java Advent Calendarって? 本エントリーはJava Advent Calendarの5日目です。 Java Advent Calendarについては、以下のサ…
Glassfish 3.1でCDI(Weld)を使う時に、Interceptorを仕掛ける対象を アノテーションではなく命名規約で指定することはできませんか? Seasarで言うところのComponentAutoRegister + addClassPatterや、 GuiceのAbstract#bindInterceptorで実現していたこと…
JetBrainsのJVM言語「Kotlin」のドキュメントのFAQだけ翻訳してみました。 http://confluence.jetbrains.net/display/Kotlin/FAQ 多少意訳してたり、勝手に段落分けをしている所もあり原文ままとは言えませんが、 訳が漏れている箇所や誤訳などについて、ぜ…
7/19〜21にサンタクララのOracleオフィスで JVM Language Summitというイベントが開催されていました。 http://openjdk.java.net/projects/mlvm/jvmlangsummit/ そこで発表された、JetBrainsのKotlinというJVM言語が、かなりイイ感じです。 http://www.wiki.…
前回のエントリーでは「Java関係ないやん」的なツッコミも受けましたが、 今回からは、Javaを前提にしていきます。 Javaで文字から文字コードを作る 新人くん「Javaで文字から文字コードを作りたいんですが、どうすれば良いんですか?」 先輩社員「getBytes…
ちょっと久々のJavaネタですが、 前から書き溜めていた、文字コードやエンコードについてのノウハウを書きます。 今回は、詳細な説明に入る前に、前提になる知識や用語について説明しておきます。 文字コードとエンコードって違うの? 新人くん「では、HTML…
Apache Velocityで、テンプレートファイルを利用せずに、 Stringをテンプレートとして利用する方法を確認した。 方法1) Velocity#evaluateを使う。 Velocity.evaluate(new VelocityContext(map), writer, "test", templateString); 第四引数のtemplateString…
先週末は、「Javaクラウドミーティング2010関西」が開催され、 皆さん、主にGoogle App Engineなどについて話される中、 私は「今さら聞けないJavaとクラウド」という内容でお話をしました。 実はちょっと体調が悪かったので、自分のセッションが終わった後…
JavaOneでは残念ながらキャンセルになったJavaPuzzlersですが、 Devoxxで行われたJavaPuzzlersを、InfoQのサイトで見ることができます。 Java Puzzlers: Scraping the Bottom of the Barrel http://www.infoq.com/presentations/Java-Puzzlers Java Puzzlers…
直前の告知になってしまいましたが、 11/20(土)にJavaクラウドミーティングを、初めて大阪で開催します! セッション一覧はこちら。かなりGAE/J分の多い内容になっています。 http://event.seasarfoundation.org/jcmk2010/?page_id=11 私も関ジャバ枠(?)…
やる気がなかったのか、仕方がないのか、 今一つきちんと作られなかった感のある、 Java標準ロガー(java.util.logging)を触ってみました。 いきなり「設定ファイルの読み込み方」が分からなくて軽く凹み、 チュートリアルサイトには「設定ファイルは-Dオプ…
上に書いた エスエムジーのJavaコーディング規約 の中で、気になる所が一つ。 boolean型を表す属性は、true/falseの状態がわかる名称にする。 違反サンプル private boolean open; 修正サンプル private boolean isOpen; 昔は私もこういう命名規則で書いてい…
弊社の公式Twitterアカウント (@smg_tw) のTLに、こんなの発見。 そこで、当社では、社内で2000年より作成・改版を行ってきたJavaコーディング規約を 公開することにしました。 このコーディング規約は、開発者自身の経験、および、最近のJavaの動向を踏まえ…
それこそ数年前から何度も何度も何度も何度も話題になってた シンプルな依存性の少ない2waySQLなO/Rマッパですが 竹添さんが開発し始めたそうです。 というわけで、S2JDBCの2WaySQLが使えるDBUtils的なコンパクトなデータベースアクセスライブラリを作り始め…
会社の先輩である村田さんが、何やらまた怪しいフレームワークに手を出し始めたようです。 Javaで軽快に使える「軽量フレームワーク」特集 ?リッチなGUIを構築する「Vaadin」(1)(1/6):CodeZine まずはこちらの記事を写経?してみました。Swing感覚です…
Jadが大好きなんだけど、Java5以降の文法に対応してないから 若干やきもきしつつもガッカリしている皆さん、こんばんは。 名前そのまま、Java Decompilerというツールがありました。 http://java.decompiler.free.fr/ Java6まで対応しており、 Eclipseプラグ…
エラーメッセージでちょっとググってみたら、 他のアプリケーションでも、同じ問題にぶつかってる人がたくさんいました。 何と「真っ白なウインドウを表示するだけ」のチュートリアルのようなソフトまでもが「疑わしい動作」として削除されてしまいました。 …