祝Java8Launchで発表させていただいた時の資料です. 最新のものはこちらです. http://www.slideshare.net/bitter_fox/ss-35882498
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
自己紹介 中村 twitter: @nakamura_to GitHub: nakamura-to Java 8の新機能 ラムダ式 Stream API Date and Time API Optional デフォルトメソッド これ全部 Doma 2 で使えます! Doma とは? S2Daoから発展したDBアクセスライブラリ 2 way SQL 注釈処理 依存ライブラリ 0 Doma 1 は Java 6 以上で動作 Doma 2 はDoma 1 を Java 8 に最適化 ラムダ式 TransactionManager tm = ... tm.required(() -> { Emp emp = dao.selectById(1); emp.setAge(emp.getAge() + 1); dao.update(emp); }); Stream API @Dao public int
Section Navigation [Toggle] 24.4.4 Connector/J (JDBC) の参考24.4.4.1 Connector/J の Driver/Datasource クラス名、URL シンタックス、および構成プロパティ 24.4.4.2 JDBC API 実装についての注記 24.4.4.3 Java 、JDBC および MySQL のタイプ 24.4.4.4 文字セットと Unicode の使用 24.4.4.5 SSL を使用して安全に接続する 24.4.4.6 ReplicationConnection でマスタ/スレーブ複製を使用する MySQL Connector/J に java.sql.Driver を導入するクラスの名称は、com.mysql.jdbc.Driver です。また、org.gjt.mm.mysql.Driver クラス名
要旨 Spring+Mockitoを使った環境で、DIしてテストしたいときに、一部だけMockitoのモックに置き換えたい、という話。 Mockito単体だとなんかうまくいかなくて。 もしかしたら、Mockitoでも、やりかた間違ってんのか、もしくは、PowerMockとか使えばいけんのかも。 説明 このコードは、Service1の中で、Service2のメソッドが呼ばれています。 で、Service1のテストをしたいんだけど、Service2のメソッドだけモックにしたい。 しかし、Service1の他の処理はモックにしたくない。 そんなとき。 こんなコードで動くかなーと書いてみます。 残念ながら、このコードは動きません。 ここで、Springockitoです。 https://bitbucket.org/kubek2k/springockito/overview こんな書き方ができます。
ちょっと気になったので、簡単にベンチマークしてみました。 最初は、ラムダ呼び出しが入る分forEachは遅いんじゃないかと思っていたら、倍の速さに。 もちろん、いろんな条件で変わるんだろうけど、ここまで差が出ることがあるのは驚き。 あと、Collectors.summingIntのような基本型に対するCollectorを使うよりは、intStreamに変換してからsumなど専用メソッドを使うほうが圧倒的に速いことも確認できた。 とりあえず、0から10万件のListを用意。 array = IntStream.range(0, 100_000).boxed().collect(Collectors.toList()); それからベンチマーク用のメソッドを用意。 public static void bench(String name, Supplier<Integer> proc){ ben
Java8のリリースが近づいています。Java8と言うとラムダ式のほうが有名ですが、多くの人がブログに書きそうなので、地味なDate/Time API(JSR-310)のほうを説明します。 ひとつだけラムダ式について言及しておくと、「ラムダ式は(関数型インターフェースの)オブジェクトを生成する」と説明している文章があったら、その文章は怪しいので疑いの目で読んでください。実際にはラムダ式はオブジェクト生成のコードにはならないからです(InvokeDynamicの呼び出しコードになります)。 後日つっこみを受けました。詳しくは別記事を参照してください。 さて、Date/Time API(JSR-310)の話です。 Javaの新しい日時処理(日付処理および時刻処理)のAPIです。結構、複雑です。過剰設計という批判もあるようです。自分自身、まだそこまでの判断はできません。自分が言えるのは、日時処理
本書は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 謝辞 本書はスポンサーのみなさまの金銭的支援によって執筆されました。 スポンサーのみなさま あ
対し、今回紹介するBDD(behavior driven development:振舞駆動開発)では、テスト対象の振る舞いに対してのテストを記述します。BDDでは、要求仕様にフォーカスし、よりWhatを意識したテストケースを作成できます。これにより、TDD以上に設計から実装へのトレーサビリティを確保できるようになります。 対象読者 Java開発者 必要な環境 JDK 7 Maven 3 JBehaveとは JBehaveを利用することにより、JavaでBDDを実践できるようになります。具体的には、storyファイルに記述した要求仕様をベースに検証ロジックを実装し、テストを行います。 事前準備 まずは、Mavenで空のJavaプロジェクトを作成します。以下のようにコマンドプロンプトでmvnコマンドを実行します。 <project xmlns="http://maven.apache.org/
Java の並行処理プログラミングについての書籍を読みました。 2006 年の本なので結構古いですが、内容的には今でも十分通用するものですし、世間からも高く評価されてるみたいですね。 内容的にはかなり良かったです。 Java並行処理プログラミング ―その「基盤」と「最新API」を究める― 作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行本購入: 30人 クリック: 442回この商品を含むブログ (170件) を見る 内容紹介 簡単に内容を紹介します。 本書は全 4 部、16 章構成となっています。 序章 まず、第 1 章は序章ということで、並行処理の歴史と、マルチスレッドプログラミングの必要性や、利点と欠点などが述べられています。 IO 待ちすることが多い処理を複数実行する
GCViewer is a little tool that visualizes verbose GC output generated by Sun / Oracle, IBM, HP and BEA Java Virtual Machines. It is free software released under GNU LGPL. You can start GCViewer (gui) by simply double-clicking on gcviewer-1.3x.jar or running java -jar gcviewer-1.3x.jar (it needs a java 1.8 vm to run). For a cmdline based report summary just type the following to generate a report (
はじめに Android プログラマのみなさん、こんにちは。 今日も元気に Out Of Memory してますか? ということで、この記事では日々 OOM に悩まされる Memory 的な意味で富豪的な Android プログラマの為に、Eclipse Memory Analyzer Tool、通称 MAT の基本的な使い方を紹介します。 尚、この記事は [twitter:@youten] さんが企画された裏 Android Advent Calendar 12/20 の記事ですが、内容的には比較的オモテなものになっています。 対象読者 Andoid アプリ作ってる/はじめたけど、まだ MAT を使ったことがない方 MAT を使ってみようした事はあるものの、画面から難しそうな雰囲気を察知し、起動10秒後にはそっとタブを閉じてしまった経験がある方 DDMS の基本的な使い方を理解している方
Javaプログラマのみなさんは、Javaは型推論がないから変数の型指定をしなくていけなくてダサい、などとイジメられた経験があると思います。 おかあさんに型推論をねだるとGroovyをわたされたり、おとうさんに型推論をねだるとScalaがやってきたり、プレステが欲しいって言ったのにWiiやXboxを買い渡される感を味わった人も多いのではないでしょうか。 そんな良い子のJavaプログラマのために、今年はサンタが素敵なプレゼントを持ってきてくれましたよ。 同じ型を書くのがダサい たとえばウィンドウを出してボタンを押したらメッセージが表示されるサンプルを書くとこんな感じになりますね。 public static void main(String... args){ JFrame f = new JFrame("テスト"); JButton b = new JButton("押して"); JText
JBoss / WildFly (全部俺) Advent Calendar 2013の19日目です。Java一般なトピック寄りで。 自分で主に利用するJavaのプロファイラはYourKitなのですが、YourKitを購入していない場合で性能問題を解析するときとかに何が使えるかなぁと思って調べてみました。 $ uname -a Linux localhost.localdomain 3.11.10-301.fc20.x86_64 #1 SMP Thu Dec 5 14:01:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux $ java -version java version "1.7.0_45" OpenJDK Runtime Environment (fedora-2.4.3.0.fc20-x86_64 u45-b15) OpenJDK 64-Bi
Javaのジェネリクスの話題のひとつにnew T()したいができないので困る、というテーマがある。 先日のセッションではこの対策についても簡単に述べたが今日はそのまとめ。 まず第一に疑うべきは本当にnew T()する必然性があるか?というのが持論だが、ある種のフレームワークではその必然性がある。 O/RマッピングのフレームワークでPOJOにデータを詰めて返したい WebフレームワークでHTTPリクエストをPOJOに詰めてControllerクラスに渡したい (このあたりの議論はJavaのジェネリクスで,T.class や new T() ができず悩んだ話 (型パラメータのインスタンス化に関し、フレームワーク設計からケーススタディ) - 主に言語とシステム開発に関してによくまとまっている) ここで、これらのPOJO(Plain Old Java Object - 端的に言えばデータを格納する
Credits Main JD Eclipse plugin (http://java.decompiler.free.fr/) by Emmanuel Dupuy This project is a fork of Realignment for JD-Eclipse (http://sourceforge.net/projects/realignmentjd/) by Alex Kosinsky Update Site http://mchr3k-eclipse.appspot.com/ User Guide Viewing the decompiled source for a class is as simple as opening any class in a jar which doesn't have a source attachment. Switching betwe
福岡JavaOne2013報告会第2弾でのプレゼン ラムダ構文の文法よりも、その使い方とプログラミングスタイルについてを主にまとめました。
Copyright © 2008-2026 Webtide The UI for this site is derived from the Antora default UI and is licensed under the MPL-2.0 license. Several icons are imported from Octicons and are licensed under the MIT license. Eclipse Jetty® is a trademarks of the Eclipse Foundation, Inc. This project is made possible by Webtide. Additional thanks to the Eclipse Foundation for hosting this project. Authored in
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く