JavaOne 参加セッションの
        感想なんかをぐだぐだと




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   1/28
自己紹介
●   岡本和樹
●   @kakkun61
●
    23歳
●   大阪府立大学工学部
●   なんだかんだ Java 触って8年
●   今朝急いで探したら T シャツ間違えちゃいま
    した



関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   2/28
1日目の参加セッション
●   [JK1-01] Strategy Keynote
●   [JS1-01] Introduction to JavaFX 2.0
●   [JS1-11] The Heads and Tails of Project Coin
●   [JS1-23] JavaFX + FXML + CSS = Javaの次世代
    GUI
●   [JS1-31] Project Lambda: To Multicore and
    Beyond
●   [BoF1-01] JVM言語BoF
●   JavaOne Tokyo Special Lightning Talk

関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   3/28
2日目の参加セッション
●   [JK2-01] Technology Keynote
●   [JS2-04] Java SE 7 InvokeDynamic in JRuby
●   [JS2-14] マルチコアCPU時代のJavaプログラミング
●   [JS2-21] How to Write Low Latency Java Applications
●   [JS2-32] Interface Layout with JavaFX 2.0
●   [JS2-42] UI Controls and Charts: Drag-and-Drop,
    Filtering, Sorting, Table Hookup with Charts
●   [BoF2-03] Learn how the JVM is fundamental to our
    architecture.
●   JavaOne Community Panel Discussion



関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61               4/28
学生 + JavaOne → 一言
●   学生スペシャルプログラム
●   ご存じでしょうか




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   5/28
学生 + JavaOne → 一言
●   参加者募集開始
●   学生さんはちょっと待っててね
●
    ちょっと待っててね
●   ちょっと待っててね
●   ……




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   6/28
学生 + JavaOne → 一言
●   ……
●   やっぱ人いっぱいだった
●
    ごめん




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   7/28
学生 + JavaOne → 一言
●   さすがにフォローがありました




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   8/28
学生 + JavaOne → 一言
●   僕は待てなかったので一般として応募してまし
    た
●   職業:学生
●   にしてたので、後から「学生無料参加を適用し
    ますか」って連絡が来ました
●   リュックと T シャツ欲しかったので一般で
●   T シャツ間違えたけど



関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   9/28
あ、でも
●   JavaOne 楽しかったよ




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   10/28
感想なんかを
●   あんまりメモ取ってなかったので曖昧ですけど
    ご容赦を




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   11/28
Java 8
●   早よ来い
●   Project Lambda
●
    Fork/Join Framework
●   使いたい!




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   12/28
Java 8
●   int max
●
      = array.withFilter(Person person -> person.getSex() == Sex.MALE)
●
          .withMapping(Person person -> person.getAge())
●
          .max();




    関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61                  13/28
Java 8
●   JavaOne のときには仕様がまだ固まってなかっ
    たところもあるもみたい
●   File::canRead
●   File#canRead




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   14/28
Java 8
●   C#er になんでラムダないの?
●   って訊かれなくてすむね!




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   15/28
Java 8
●   でも、厳密に Closure じゃないし
●   ゴニョゴニョ




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   16/28
Java 8...
●   あと、ぽろっと言ってたんですけど、
●   そのうちプリミティブ型なくすって言ってた
●
    Mjd!
●   なかなかおっきくないすかこれ
●   いつになるのかは知らないけど




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   17/28
マルチコアCPU時代の
            Javaプログラミング
●   富士通さんのセッション
●   きっと Fork/Join Framework だろうな
●
    と思ってたんだけど違った
●   でも、よかった
●   と、Twitter でも話題だったセッション




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   18/28
マルチコアCPU時代の
            Javaプログラミング
●   内容はそれほど真新しいわけじゃなかったんだ
    けど




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   19/28
マルチコアCPU時代の
            Javaプログラミング
●   synchronized メソッド
●   synchronized ブロック
●
    マルチスレッドといえばこれですよね




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   20/28
マルチコアCPU時代の
            Javaプログラミング
●   最近のサーバーマシンってコア多いよね
●   ハイパースレッディングもあるよね
●
    1つの VM にスレッドもいっぱい




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   21/28
マルチコアCPU時代の
            Javaプログラミング
●   そんなにスレッド多かったら問題出るよね
●   ロック!ロック!ロック!




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   22/28
マルチコアCPU時代の
            Javaプログラミング
●   Hashtable の代わりに HashMap
●   StringBuffer の代わりに StringBuilder
●


●   は当然として




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   23/28
マルチコアCPU時代の
            Javaプログラミング
●   問題はドンキュメントに書かれていないロック
●   無意識のロック




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   24/28
マルチコアCPU時代の
            Javaプログラミング
●   java.lang.String#getBytes()
●   java.net.InetAddress#getAllByName()
●
    java.io.File#renameTo()




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   25/28
マルチコアCPU時代の
            Javaプログラミング
●   synchronized は公平じゃない
●   ブロック抜けても同じスレッドがまた取ること
    があるらしい




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   26/28
マルチコアCPU時代の
            Javaプログラミング
●   printf デバッグに System.out.println()
    使ってる?
●   それ synchronized 入ってるよ




関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   27/28
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61   28/28

関西 Java エンジニアの会 2012年6月度 JavaOne 報告会!

  • 1.
    JavaOne 参加セッションの 感想なんかをぐだぐだと 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 1/28
  • 2.
    自己紹介 ● 岡本和樹 ● @kakkun61 ● 23歳 ● 大阪府立大学工学部 ● なんだかんだ Java 触って8年 ● 今朝急いで探したら T シャツ間違えちゃいま した 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 2/28
  • 3.
    1日目の参加セッション ● [JK1-01] Strategy Keynote ● [JS1-01] Introduction to JavaFX 2.0 ● [JS1-11] The Heads and Tails of Project Coin ● [JS1-23] JavaFX + FXML + CSS = Javaの次世代 GUI ● [JS1-31] Project Lambda: To Multicore and Beyond ● [BoF1-01] JVM言語BoF ● JavaOne Tokyo Special Lightning Talk 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 3/28
  • 4.
    2日目の参加セッション ● [JK2-01] Technology Keynote ● [JS2-04] Java SE 7 InvokeDynamic in JRuby ● [JS2-14] マルチコアCPU時代のJavaプログラミング ● [JS2-21] How to Write Low Latency Java Applications ● [JS2-32] Interface Layout with JavaFX 2.0 ● [JS2-42] UI Controls and Charts: Drag-and-Drop, Filtering, Sorting, Table Hookup with Charts ● [BoF2-03] Learn how the JVM is fundamental to our architecture. ● JavaOne Community Panel Discussion 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 4/28
  • 5.
    学生 + JavaOne→ 一言 ● 学生スペシャルプログラム ● ご存じでしょうか 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 5/28
  • 6.
    学生 + JavaOne→ 一言 ● 参加者募集開始 ● 学生さんはちょっと待っててね ● ちょっと待っててね ● ちょっと待っててね ● …… 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 6/28
  • 7.
    学生 + JavaOne→ 一言 ● …… ● やっぱ人いっぱいだった ● ごめん 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 7/28
  • 8.
    学生 + JavaOne→ 一言 ● さすがにフォローがありました 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 8/28
  • 9.
    学生 + JavaOne→ 一言 ● 僕は待てなかったので一般として応募してまし た ● 職業:学生 ● にしてたので、後から「学生無料参加を適用し ますか」って連絡が来ました ● リュックと T シャツ欲しかったので一般で ● T シャツ間違えたけど 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 9/28
  • 10.
    あ、でも ● JavaOne 楽しかったよ 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 10/28
  • 11.
    感想なんかを ● あんまりメモ取ってなかったので曖昧ですけど ご容赦を 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 11/28
  • 12.
    Java 8 ● 早よ来い ● Project Lambda ● Fork/Join Framework ● 使いたい! 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 12/28
  • 13.
    Java 8 ● int max ● = array.withFilter(Person person -> person.getSex() == Sex.MALE) ● .withMapping(Person person -> person.getAge()) ● .max(); 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 13/28
  • 14.
    Java 8 ● JavaOne のときには仕様がまだ固まってなかっ たところもあるもみたい ● File::canRead ● File#canRead 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 14/28
  • 15.
    Java 8 ● C#er になんでラムダないの? ● って訊かれなくてすむね! 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 15/28
  • 16.
    Java 8 ● でも、厳密に Closure じゃないし ● ゴニョゴニョ 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 16/28
  • 17.
    Java 8... ● あと、ぽろっと言ってたんですけど、 ● そのうちプリミティブ型なくすって言ってた ● Mjd! ● なかなかおっきくないすかこれ ● いつになるのかは知らないけど 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 17/28
  • 18.
    マルチコアCPU時代の Javaプログラミング ● 富士通さんのセッション ● きっと Fork/Join Framework だろうな ● と思ってたんだけど違った ● でも、よかった ● と、Twitter でも話題だったセッション 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 18/28
  • 19.
    マルチコアCPU時代の Javaプログラミング ● 内容はそれほど真新しいわけじゃなかったんだ けど 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 19/28
  • 20.
    マルチコアCPU時代の Javaプログラミング ● synchronized メソッド ● synchronized ブロック ● マルチスレッドといえばこれですよね 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 20/28
  • 21.
    マルチコアCPU時代の Javaプログラミング ● 最近のサーバーマシンってコア多いよね ● ハイパースレッディングもあるよね ● 1つの VM にスレッドもいっぱい 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 21/28
  • 22.
    マルチコアCPU時代の Javaプログラミング ● そんなにスレッド多かったら問題出るよね ● ロック!ロック!ロック! 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 22/28
  • 23.
    マルチコアCPU時代の Javaプログラミング ● Hashtable の代わりに HashMap ● StringBuffer の代わりに StringBuilder ● ● は当然として 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 23/28
  • 24.
    マルチコアCPU時代の Javaプログラミング ● 問題はドンキュメントに書かれていないロック ● 無意識のロック 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 24/28
  • 25.
    マルチコアCPU時代の Javaプログラミング ● java.lang.String#getBytes() ● java.net.InetAddress#getAllByName() ● java.io.File#renameTo() 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 25/28
  • 26.
    マルチコアCPU時代の Javaプログラミング ● synchronized は公平じゃない ● ブロック抜けても同じスレッドがまた取ること があるらしい 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 26/28
  • 27.
    マルチコアCPU時代の Javaプログラミング ● printf デバッグに System.out.println() 使ってる? ● それ synchronized 入ってるよ 関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 27/28
  • 28.
    関西Javaエンジニアの会 '12 6月度JavaOne報告会! @kakkun61 28/28