You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
本セッションでは、最近 Android アプリ開発で注目を浴びている Reactive Extension (Rx) と呼ばれる非同期処理を扱うライブラリについて簡単に説明し、さらに RxJava を例に、それをどのように実際の開発に活用していくかを解説します。 Rx はその考え方を理解するまでに時間がかかること、オペレータやコンセプトが多すぎて、どのように適切に使えば良いか分からないことから、学習コストが高いと言われています。本セッションでは、そのような Rx 初心者のために、Rx のコアとなる概念と併せて具体的な利用方法や効果的な学習法について説明いたします。 参考: - Reactive programming - Wikipedia, the free encyclopedia https://en.wikipedia.org/wiki/Reactive_programming -
A tool to detect bugs in Java and C/C++/Objective-C code before it shipsInfer is a static analysis tool - if you give Infer some Java or C/C++/Objective-C code it produces a list of potential bugs. Anyone can use Infer to intercept critical bugs before they have shipped to users, and help prevent crashes or poor performance.
1. Introduction JDK9のリリースまで残すところあと半年ちょっとになりました。 JDK9の新機能、 Project Jigsaw によるモジュール化が取り上げれることが多いですが、 Javaの REPL 、 jshell が搭載されたのが気になりました。 今回はjshellを触るまでの環境構築と事項してみた所感を書いていきます。 筆者環境はMac OS Xです 1.1 REPL?? 読んで字のごとく、 R : Read 読んで E : Eval 評価して P : Print 出力して L : Loop 繰り返す 一行書いて実行、一行書いて実行、一行書いて... を繰り返せます。 1.2 jshell?? 他言語ではこのREPLという仕組みが一般的で、 RubyやScalaには標準で付属しています。 いよいよJavaにもこのREPLが導入されました。 そもそもJavaには言語
qiita.com これの話。ブコメに書こうとしたら4000字は入らなかった。 Microsoft Java VM かつての WIndows には MS 製の Java VM が搭載されていました。 古代の Java は「Write once, run anywhere」を掲げていた通り、クライアントサイドで Java アプレットとして利用されるのが主流でした(サーバーサイドで動くようになって、真価を発揮した感じがあります)。 しかし Java VM の仕様は、パフォーマンスについての記述は曖昧になっており、OS ごとの実装の違いによって、実行速度に顕著な差がありました。 Windows の Sun 純正の Java VM は性能が悪かったため、MS は独自の Java VM を開発し、Internet Explorer にバンドルしました。調子に乗った MS は Windows GUI
こんにちは。アプリケーション基盤チームの横田です。 Javaの謎のパフォーマンス劣化にまつわる調査をしていたのですが、1ヶ月の苦労の末に原因がわかりましたので、報告させていただきます! 公開後に頂いたはてなブックマークでのご指摘・社内でのタイポ・読みにくいなどの指摘を受けてたので、謹んで修正させいただきます。 修正した内容につきましては、記事の最後を参照してください。 忙しい人のためのまとめ jdk-7u4以降のjdk-7 *1 でJavaのパフォーマンスが劣化する謎の現象 CodeCacheの容量限界に近づくとJITコンパイラを停止してコンパイルしたコードを捨てる機能が原因だった 起動オプションで回避できるので、長期運用するときは -XX:-UseCodeCacheFlushing, -XX:ReservedCodeCacheSize=128m をつける 上のオプションを設定した時に、C
こんにちは、三苫です。 これは TECHSCORE Advent Calendar 2015 の11日目の記事です。 Arrays#stream(boolean[]) が無い!! ごくまれにたまに、 boolean[] を Stream<Boolean> にしたいことってありますよね? ところが Arrays#stream() には boolean[] を引数に受け取ってくれるシグニチャがありません。 というわけで、あるときシナジーマーケティングのエンジニア数人でどんな書き方で変換するのがいい感じか案を出して盛り上がったのその顛末を紹介します。 自分たちでかっこ良く実装しよう 案として出てきたのは以下の4案です。 案1「素直に Stream.Builder で作る」 もっとも素直で正攻法です。 Stream の作成時に全要素の boolean → Boolean のボクシングコストをすべて
おととい、Apache Lucene 6.0.0 がリリースされました。 Lucene 6 での変更点のハイライトは、アナウンスによると Java8 以上が必要になった Dimensional PointsDocument classification (KNearestNeighborClassifier, SimpleNaiveBayesClassifier)デフォルトの Similarity (類似度計算方式)が Okapi BM25 に変更された ・・・などがあります。 Dimensional Points は数値や日付、地理情報といった、文字列以外のデータ型のインデクシング/検索の性能を向上させるために追加された、多次元データを扱うための汎用的なフィールドタイプです。k-d tree というデータ構造が使われています。それに伴い、従来の NumericField (IntFiel
The 5th major version of the programmer-friendly testing framework for Java and the JVM User Guide Javadoc Code & Issues Q & A Support JUnit JUnit team’s statement on the war in Ukraine As human beings, we stand with Ukraine and condemn the Russian government’s war against the Ukrainian people, including our own colleagues and their families. Donate to UN’s Ukraine Humanitarian Fund About JUnit 5
Real world mutation testing PIT is a state of the art mutation testing system, providing gold standard test coverage for Java and the jvm. It's fast, scalable and integrates with modern test and build tooling. Get Started Pro Version Issues Source Maven Central Mutation testing is conceptually quite simple. Faults (or mutations) are automatically seeded into your code, then your tests are run. If
IntelliJ IDEAとかAndroid Studioを使っている人は、メソッドの横の方に@が書かれているのを見たことがあるかと思います。 (Android Studioで実際に表示されるのかは知らないけど、ツイッターで観測している限りアンドロイダーの人で「この@Contractって何」ってツイートしている人がいたのでおそらく表示されている) ここにカーソルを合わせると、メソッドの性質について情報が表示されます。 例1:次のようなメソッドの場合には@Contract("null -> fail; !null -> !null")と表示されます。 nullを引数に渡すと例外が発生する nullでない引数を渡すとnullでない値が返される 例2:つぎのメソッドの場合には@NotNullと表示されます。 どのような引数を渡しても必ずnullでない値が返される この情報が表示されることで、ある
こんなEnum public enum InsideHead { JOY, SADNESS, FEAR } こんなクラスで使うとして。 @Accessors(fluent = true) @Getter @ToString @EqualsAndHashCode public class Bufferings { private InsideHead insideHead = InsideHead.JOY; public void eatChocolate() { this.setInsideHead(InsideHead.JOY); } public void workOvertime() { this.setInsideHead(InsideHead.SADNESS); } public void seeSourceCodeWithNoTest() { this.setInsideHea
1 News Do not use with OpenJDK 8u262 or later in the OpenJDK8 series (2020/7/24) OpenJDK 8u262 is awesome release because JDK Flight Recorder (JFR) is included in some JDK distributions. However, unfortunately HeapStats agent may not work well on 8u262 or later. Checking Java heap on 8u262 or later, using JFR is recommended. See Operating Environment section below on this page for detail. See also
API Development forEveryone Simplify your API development with our open-source and professional tools, built to help you and your team efficiently design and document APIs at scale. Find your toolRead the docs Trusted by Empowering API Development Streamline your workflow with unparalleled API specification support Swagger places API specifications such as OpenAPI, AsyncAPI, and JSON Schema at the
IntelliJ IDEAの次期バージョン、13.1ではChronon Debugger をプラグインでサポートしいます。既にEAPよりお試し頂けます。ご存じでない方のために説明しますと、Chronon はJavaプログラムの動作状況を記録して、後から解析することができる革新的ツールです。複雑なバグを追跡するのにとても有効です。 Chrononは商用ツールで、通常はライセンスを購入する必要がありいますが、なんとIntelliJ IDEA 13.1 Ultimateをお使いの方は完全に無料でご利用いただけます。 プラグインのインストール Chrononを有効にするにはまずSettings → Plugins → Install JetBrains pluginよりChrononを選択肢、インストールしてください。 Chronon Include/Excludeパターン Chrononはcod
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く