Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Java 9の先、Java 10/11では最新のハードウェアやOSに最適化したデータのメモリ配置が可能になる。JavaOne 2015 サンフランシスコで「JavaOne 2015」が開幕。基調講演の後半では、2018年かそれ以降になると見られるJava 10やJava 11に向けて開発中のプロジェクトが紹介されています。 最新のハードウェアに最適化されたデータ構造の実現により、実行速度の向上などが見込まれる「Project Valhalla」と「Project Panama」です。 基盤となるハードウェアやOSに適合していく Java Platform Group Java LanguageアーキテクトBrian Goetz氏。 Java 9の先、Java 10、11を見ていこう。 JavaVMにとってハードウェアの進化は重大なことだ。JavaVMはその基盤となるハードウェアやOSに適合
[速報]JavaOne開幕。Java 9は「Project Jigsaw」でクラスパスの問題とJDK肥大化の問題を解決する。JaveOne 2015 サンフランシスコでOracle OpenWorldと同時開催の「JavaOne 2015」が開幕しました。Javaが登場して20周年、19回目のJavaOneとなります。 基調講演ではJavaの歴史を振り返った上で、Oracle Java Platformチーフアーキテクト Mark Reinhold氏が来年にも登場する予定の次バージョンの「Java 9」で採用される予定の「Project Jigsaw」を紹介しました。 Mark Reinhod氏。
クライアントアプリにとって、マルチスレッドプログラミングは避けては通れない重要な概念です。しかし、気をつけないとハマるポイントも多く、初めてクライアントアプリを学ぶ人たちからすると、複雑で難解な取っつきづらいものでもあります。ここでは、スレッドの基本から、効率的な使い方、また複雑化しやすいポイントをシンプルに実装するためのノウハウを見ていきます。 TL;DR スレッドの取り扱い方を知る Threadをそのまま使わず、AsyncTaskやIntentService、時にThreadPoolExecutorを使ってスレッドの使い方を効率化する。 複雑な処理フローをシンプルに扱うためのフレームワークを導入する PromiseやRxAndroidなどで、複雑化しやすいポイントを整理する。 スレッドの基本 スレッドといえば、ThreadクラスやRunnableクラスがベースにあります。以下のようにす
これは何? Jenkinsに静的解析、テスト結果をまとめてレポートしてもらう為のMaven設定を記したもの。 ※ Jenkins自体への設定は割愛します。 レポートイメージ Jenkinsの画面から静的解析の結果、テストの結果などが一望できる様な感じ バージョン情報 maven 3.3.3 jenkins 1.634 centos 6.5 (Open Logic 6.5) jenkinsに吐かせたいレポートの内容 findbugs checkstyle jUnitのテスト結果 カバレッジ測定 PMD(Javaソースコード解析の為の静的なルールセット) javadoc生成 必要なJenkinsのプラグイン ※ 標準でインストールされているプラグインを含みます ※ 依存関係でインストールされたプラグインは対象としていません。 Checkstyle Plug-in Cobertura Plugi
Java のアサーションライブラリに AssertJ というものがある。 http://joel-costigliola.github.io/assertj/ Fluent にアサーションが書けるとのことなので、我がプロジェクトに導入してみました。 基本 基本的な比較。 Junit, Mockito だとこういう風に書くケースが・・・ assertEquals(expect, value); // JUnit assertThat(value, is(expect)); // Mockito こう書けます。 assertThat(value).isEqualsTo(expect); // AssertJ 「何が嬉しいの?」と思うかもしれませんが、とりあえず先に進みましょう。 文字列比較 よくある比較。コードの意図は説明しなくとも伝わると思います。 assertThat("Hello Wor
Ant とか Gradle とか,名前は見かけるけど何に使っているのかよくわかりません (意訳) 的なことを新人から立て続けに言われたので,順を追って説明してみようと試みる. ビルドとは: 書いたプログラムを本番環境で動作させるまで 「ビルド」という言葉をいきなり説明するのも唐突なので,そもそもプログラムコードが本番で稼働するまでの流れをざっくりと説明します. デプロイまでに必要な作業 アプリケーションをテスト環境や本番環境で動作させるためには,おおまかに言えば以下の様な手順をを踏みます. (自分や新人の実業務ではサーバーサイドは Java,クライアントは Java だったり TypeScript で書かれた Web だったりするので,それを想定しています.) コンパイル: プログラミング言語を用いて書いたプログラムをバイトコードに変換すること.スクリプト言語なら不要. 依存ライブラリの解
the lightweight, modular, feature rich, blazing fast, open source Java REST framework a simple resource definition import myapp.domain.Message; @Component @RestxResource public class HelloResource { @GET("/message") public Message sayHello(String who) { return new Message().setMessage(String.format( "hello %s, it's %s", who, DateTime.now().toString("HH:mm:ss"))); } } a RESTX spec title: should say
101 to Web Components standards Integration strategies for GWT, Vaadin Framework and Spring Presentation from CodeMotion Berlin 2015
http://java67.blogspot.sg/2014/01/why-string-class-has-made-immutable-or-final-java.html をテキトーに訳した。 Why String Class is made Immutable or Final in Java - 5 Reasons Stringについて聞かれないJavaの採用面接はほとんど無く*1、なぜJavaのStringはイミュータブルなのか?(Why String is Immutable in Java)はその最たるものと言えます。なぜJavaのStringはイミュータブルなのか?(Why String is Immutable in Java)は、言い換えると、なぜJavaのStringクラスはfinalなのか?(Why String class is made final in Ja
Java nio の API を見ていくシリーズ(目次)。 Files クラスのメソッドがあと少し残っているので回収記事をサラリと。 今回はファイルの MIME Type を調べるメソッド Files#probeContentType() メソッド。 MIME type とは XML に対しての「text/xml」みたいなヤツです。 簡単にはファイルの拡張子で分かりますが、真面目な実装だとファイルの内容とかも解析するんでしょうね。 Files#probeContentType() メソッドは結構実装に依存するようで、OS などによって結果は変わりうるそうです。 probeContentType() メソッドの使い方Files#probeContentType() メソッドの使い方は簡単です。 import java.io.IOException; import java.nio.file.
プロセスIDの取得 スレッドダンプの取得 Windowsでプロセスをサービス起動している場合 スレッドダンプを読む プロセスIDの取得 まずは Java のプロセスIDを取得するところから始める。jps で取得できる。 $ <JAVA_HOME>/bin/jps -l 主要なオプションは以下の通り(SunVM)。 オプション 説明 -m main メソッドに渡される引数を出力 -l アプリケーションの主要なクラスのフルパッケージ名、またはアプリケーションの JAR ファイルへのフルパス名を出力 -v JVM に渡される引数を出力 JDK7 からは JRockit と統合されたため jcmd が使えるので以下でもプロセスIDを取得できる。 $ <JAVA_HOME>/bin/jcmd または、単に ps コマンドで取得するでもよい。 $ ps -ef | grep -v 'grep' | g
JBE is a bytecode editor suitable for viewing and modifying java class files. It is built on top of the open-source jclasslib bytecode viewer by ej-technologies. For verification and exporting the class files, JBE uses the the Bytecode Engineering Library by Apache's Jakarta project. JBE requires Java 1.5 to run. It uses the standard mnemonics for JVM opcodes as instruction names. Jumps are absolu
こんにちは横部です。 JaCoCoはJavaの為のコードカバレッジ取得ライブラリです。 http://www.eclemma.org/jacoco/ このライブラリを使うと、 テストでどこのコードを通ったのか数値化されるため、 テスト漏れを防ぐことができます。 私が参画しているプロジェクトではJUnitによる単体テストはJenkinsで自動化されており、Gradleでビルドされています。 https://gradle.org/ その際はbuild.gradleにGradle JaCoCo Pluginを設定するだけで、 簡単にコードカバレッジの取得とカバレッジレポートの出力ができていました。 しかしこのプラグインはGradle実行中のみ有効である為、 UIを操作して行う手動テストだとGradle JaCoCo Pluginが使えません。 UIを操作して行う手動テストでコードカバレッジを取得
Mavenは便利だけど中には手に入らないjarも存在します。 特に会社でMavenを使おう!となるとojdbc.jar つまり、Oracle JDBCが無くて困ります。ではどうするか? 答えは3つあるかなーと。 ojdbcだけはMaven以外で管理する。 つまり普通にlibフォルダに突っ込んでビルドパス通すなりなんなりする。 JDBCドライバのリポジトリは? 上記URLを参考にする。 ローカルリポジトリを使う。 1でもまあ良い気もします。特に欠点はないかもしれません。 2は以下の理由で採用しづらいです。 まずojdbcのバージョンが古いです。2013/9/8現在、Oracle DBは11gでojdbc6.jarが最新です。そしてコメントにもあるように再配布OKなのか怪しいので、ここのURLから取得していいのか分かりません。普通OracleからDLするときにライセンス承認求めてくるので、そっ
EventBus allows publish-subscribe-style communication between components without requiring the components to explicitly register with one another (and thus be aware of each other). It is designed exclusively to replace traditional Java in-process event distribution using explicit registration. It is not a general-purpose publish-subscribe system, nor is it intended for interprocess communication.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く