社内se × プログラマ × ビッグデータ

プログラミングなどITに興味があります。

java

Java challenge Interface

問題:何が出力されるのか? public class BigBangTheory { public static void main(String[] args) { Scientist scientist = new Sheldon() { search() { System.out.println("This is my new spot!"); } }; scientist.search(); } interface Scientist { …

Java challenge Integer

問題:何が出力されるのか? Integer number1 = 5; Integer number2 = 5; Integer number3 = 128; Integer number4 = 128; // True or False ? System.out.println(number1 == number2); System.out.println(number3 == number4); 考え False, False が出力…

マルチスレッドプログラミング - Runnable interface の実装

前の記事では、Thread class を継承する方法を試しました。 マルチスレッドプログラミング - Thread class の継承 - 社内se × プログラマ × ビッグデータ今回は、Runnable interface を実装することで、マルチスレッドを実現していきます。 こんな感じで作成…

ダイレクトバッファについて調べる機会

きっかけは、Apache spark でアプリケーション動かしていた時に、java.lang.OutOfMemoryError: Direct buffer memory に出くわしたこと。 ダイレクトバッファのこともよく理解せずに、spark プログラミングするのは申し訳ない気持ちになったので。。 ダイレ…

Java challenge どこに違和感を感じればよかったのかが分からない

以下のコード、コンパイル通ると思いますか?っていうもんだい。 public class PolymorphismChallenge { public static void main(String[] args) { System.out.println(new Chris().getCharacter().getSimpleName()); } abstract static class STARSSoldier…

Mockito のチュートリアル記事を読んだ感想

これです。 www.discoversdk.com実際のところ、Mockito って Maven のリポジトリを見ても、12/31/2014以降は新しいバージョンが出ていないくらい完成された?フレームワークなのかもしれない。 ただ、この記事は 5/25/2017 に更新されたのもので、個人的にそ…

Java challenge cloneable

Java challenge 既出のコードです。 出力結果を考えてみます。 ソースコード public class CloneableChallenge { public static void main(String[] args) throws CloneNotSupportedException { Human human17 = new Human("cells"); Human human18 = (Human…

Java 例外処理における 11 個の誤り

Java の例外処理における tips を見つけたんですが、自分にはとても分かりやすかったので、感想と共に書き残しておこうと思います。11 Mistakes Java Developers make when Using Exceptions https://www.linkedin.com/pulse/11-mistakes-java-developers-ma…

maven Dependency trees が便利

Maven の便利な機能の一つとして、ライブラリの依存性を確認できるものがあります。あるプロジェクトの中で色んなライブラリを活用していると、そのライブラリ間の依存性が問題になり、プログラムが正常に動作しない場合があったりします。ライブラリAとライ…

Java で何故 4.0 - 3.10 は 0.90 ではない ?

twitter で流れてきたツイートで以下のようなものがありました。Why 4.0 - 3.10 not equal to 0.90 ? public static void main(String args[]) { double x = 4.0 - 3.10; System.out.println(x == 0.90); } 結果: falseツイートに対する返信で、「double や …

JMockit でメソッド内から呼び出しているメソッドのみをモックする

表記のとおりです。 例えば、以下のような methodA と methodB があった場合、junitテストで methodA を呼び出した時の methodB の振る舞いを変更したいということです。 ※戻り値を 5 以外にしたい public class PartialMock { public int methodA(int a) { …

初 JMockit の感想

JUnit で使えるモックのライブラリには、mockito, jmockit, easymock などがあります。 個人的には mockito しか使ったことがなかったのですが、jmockit がよく使われているらしいので、試してみました。具体的な使い方などは既に多くの記事が存在しますので…

Spark Streaming で テキストファイルへのセーブ

ソースコードRDD には saveAsTextFile というメソッドがあり、引数に指定したディレクトリに簡単に出力することができます。 Spark Streaming における DStream にも saveAsTextFiles というメソッドがありました。ただし、Java での JavaDStream から使う場…

Spark Streaming の textFileStream で複数のディレクトリを対象にしてみる

ソースコード単に2つの DStream を作成してあげるだけです。 // create DStream from text file String logDir = "/tmp/logs"; String logDir2 = "/tmp/logs2"; JavaDStream<String> logData = jssc.textFileStream(logDir); JavaDStream<String> logData2 = jssc.textFileSt</string></string>…

fluentd で収集したファイルを Spark Streaming で GET

Spark Streaming ではファイルが更新されたとしても、その差分のみの取得はされない。 Spark Streaming ではあるディレクトリに生成された新規ファイルは自動的に取り込んでくれるよう。 そこで差分のみを fluentd で取得し、それを新規ファイルとして出力し…

Spark Streaming 試してみました

初めての Spark を参照しながら、Apache Spark Streaming を試してみました。 ソースコードまずは概念、概要から・・・ 1. Spark は RDD を元に構築されていますが、Spark Streaming においては DStream と呼ばれる概念の元に構築されるらしい。 2. DStream …

Javaの演習問題やりました

Javaのプログラミングの練習したいと思って、「Java練習問題」でググって出てきたページ。 アルゴリズム編にチャレンジ。 https://eng-entrance.com/java-question-algorithm全部で4問。最初の3問はすぐに書けた(とりあえず動くレベルでも)けど、4問目は苦…

Swing で作った Java アプリケーション マウスでなぞっている時だけスムーズに動く?

Swing で 簡単な Javaアプリケーション(ゲーム)を作ってみたところ、Windows上ではスムーズに動作するが、Linux(Ubuntu14.04) ではカクカクと表示されてしまう現象に出くわしました。 ブロック崩しのようなゲームで、ボールがウィンドウ上をあちこちに動…