関西 java エンジニアの会 2012年6月度 javaone 報告会!
TRANSCRIPT
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 1/28
JavaOne 参加セッションの感想なんかをぐだぐだと
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 2/28
自己紹介
● 岡本和樹● @kakkun61● 23歳● 大阪府立大学工学部● なんだかんだ Java 触って8年● 今朝急いで探したら T シャツ間違えちゃいました
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 3/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 4/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 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 → 一言
● さすがにフォローがありました
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 9/28
学生 + JavaOne → 一言
● 僕は待てなかったので一般として応募してました
● 職業:学生● にしてたので、後から「学生無料参加を適用しますか」って連絡が来ました
● リュックと T シャツ欲しかったので一般で● T シャツ間違えたけど
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 10/28
あ、でも
● JavaOne 楽しかったよ
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 11/28
感想なんかを
● あんまりメモ取ってなかったので曖昧ですけどご容赦を
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 12/28
Java 8
● 早よ来い● Project Lambda● Fork/Join Framework● 使いたい!
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 13/28
Java 8
● int max
● = array.withFilter(Person person -> person.getSex() == Sex.MALE)
● .withMapping(Person person -> person.getAge())
● .max();
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 14/28
Java 8
● JavaOne のときには仕様がまだ固まってなかったところもあるもみたい
● File::canRead● File#canRead
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 15/28
Java 8
● C#er になんでラムダないの?● って訊かれなくてすむね!
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 16/28
Java 8
● でも、厳密に Closure じゃないし● ゴニョゴニョ
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 17/28
Java 8...
● あと、ぽろっと言ってたんですけど、● そのうちプリミティブ型なくすって言ってた● Mjd!● なかなかおっきくないすかこれ● いつになるのかは知らないけど
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 18/28
マルチコアCPU時代のJavaプログラミング
● 富士通さんのセッション● きっと Fork/Join Framework だろうな● と思ってたんだけど違った● でも、よかった● と、Twitter でも話題だったセッション
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 19/28
マルチコアCPU時代のJavaプログラミング
● 内容はそれほど真新しいわけじゃなかったんだけど
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 20/28
マルチコアCPU時代のJavaプログラミング
● synchronized メソッド● synchronized ブロック● マルチスレッドといえばこれですよね
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 21/28
マルチコアCPU時代のJavaプログラミング
● 最近のサーバーマシンってコア多いよね● ハイパースレッディングもあるよね● 1つの VM にスレッドもいっぱい
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 22/28
マルチコアCPU時代のJavaプログラミング
● そんなにスレッド多かったら問題出るよね● ロック!ロック!ロック!
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 23/28
マルチコアCPU時代のJavaプログラミング
● Hashtable の代わりに HashMap● StringBuffer の代わりに StringBuilder●
● は当然として
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 24/28
マルチコアCPU時代のJavaプログラミング
● 問題はドンキュメントに書かれていないロック● 無意識のロック
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 25/28
マルチコアCPU時代のJavaプログラミング
● java.lang.String#getBytes()● java.net.InetAddress#getAllByName()● java.io.File#renameTo()
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 26/28
マルチコアCPU時代のJavaプログラミング
● synchronized は公平じゃない● ブロック抜けても同じスレッドがまた取ることがあるらしい
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 27/28
マルチコアCPU時代のJavaプログラミング
● printf デバッグに System.out.println() 使ってる?
● それ synchronized 入ってるよ
関西Javaエンジニアの会 '12 6月度 JavaOne報告会! @kakkun61 28/28