Your SlideShare is downloading. ×
0
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
関ジャバ JavaOne Tokyo 2012報告会
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

関ジャバ JavaOne Tokyo 2012報告会

662

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
662
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    1. JavaOneで知った! これからのJava フリュー株式会社 阪田 浩一 @jyukutyo/id:jyukutyo 1
    2. http://www.youtube.com/watch?v=b-Cr0EWwaTk 2
    3. 場もあったまった ところで 3
    4. 2013 Summer 4
    5. JDK 8 が来る! 5
    6. 大きなものは 6
    7. Project Lambda 7
    8. (前回の関ジャバで やりました) 8
    9. id:jyukutyoとid:backpaper0の 9
    10. はてダをご覧ください 10
    11. 1点新たに知ったこと 11
    12. FileFilter x = (File f) -> f.canRead();はFileFilter x = File::canRead;とも書ける。 12
    13. Project Jigsaw 13
    14. 新たなモジュール管理機構 14
    15. 追加されるもの 15
    16. •グループ化と依存関係•バージョン管理•カプセル化•オプション•エイリアス 16
    17. module-info.java に記述 17
    18. たとえば今、こういうクラスがある 18
    19. com.foo.Maincom.foo.Othercom.foo.ui.Shell 19
    20. com.fooパッケージ以下をグルーピング 20
    21. // module-info.javamodule com.foo { } 21
    22. com.foo.Mainクラスをエントリポイントに 22
    23. // module-info.javamodule com.foo { class com.foo.Main;} 23
    24. 依存するJARが あるとき 24
    25. 今まで。 25
    26. $ java -cp app.jar:bar.jar:baz.jar ... 26
    27. JAR Hell 27
    28. これから。 28
    29. // module-info.javamodule com.foo { requires org.bar.lib; requires edu.baz.util;} 29
    30. バージョニング 30
    31. // module-info.javamodule com.foo @ 1.0.0 { requires org.bar.lib @ 2.1-alpha; requires edu.baz.util @ 5.2_11;} 31
    32. カプセル化 32
    33. // module-info.javamodule com.foo.secret @ 3 { permits com.foo.lib;}com.foo.libからしか、com.foo.secretは呼び出せない。 33
    34. オプション 34
    35. // module-info.javamodule com.foo.app { requires com.foo.lib; requires optional com.foo.extra;} 35
    36. 集約36
    37. // module-info.java// Module aliasesmodule com.foo.lib { provides com.foo.lib.db; provides com.foo.lib.ui; provides com.foo.lib.util;} 37
    38. モジュールをまとめる 38
    39. 新しいフォーマット jmod 39
    40. モジュールファイル と呼ぶ 40
    41. jpkgコマンドで 生成できる 41
    42. JDK 9では! 42
    43. セルフチューニングな JVM 43
    44. 末尾再帰の継続渡し ができる! 44
    45. ビッグデータ対応! 45
    46. 1つのJVMでのマルチテナント対応! 46
    47. の予定です 47
    48. Java EE 48
    49. 実はNo.1 49
    50. Java EE 7は 全世界で 4000万DL 50
    51. Java EE 8 51
    52. •JSF 2.2•JPA 2.1•EJB 3.2 52
    53. クラウド対応 53
    54. PaaSにはスタンダードが ないから 54
    55. Java EEで吸収 55
    56. プロビジョニングに履歴管理モデルを 導入 56
    57. 伸縮性とクラスタ、自動サービスレベル管理 57
    58. マルチテナントを@Multitenantで 58
    59. NIO 2のAPIに対応 59
    60. つまりWebSocketのようなプロトコルをサポート 60
    61. ReadListenerとWriteListener 61
    62. AsyncIOInputSourceと AsyncIOOutputSink 62
    63. を追加 63
    64. public class NIOSampleServlet extends HttpServlet protected void doGet(HttpServletRequest request,! ! ! ! ! ! ! ! ! ! ! HttpServletResponse response) { final ServletInputStream sis = request.getInputStream(); final ServletOutputStream sos = response.getOutputStream(); sis.setReadListener(new ReadListener() { public void onDataAvailable() { sis.read(new byte[sis.dataAvailable()]); } ... }); sos.setWriteListener(new WriteListener() { public void onWritePossible(int size) { try { byte b[] = new byte[size]; sos.write(b); } ... }); }} 64
    65. セキュリティ 65
    66. CSRF対策 66
    67. XSS対策でエンコーディングとエスケープをサポート 67
    68. その他雑多ネタ 68
    69. Project Coin 69
    70. switch文でString 使えるけど 70
    71. switch(s) { case "a": case "b": return 10; case "c": case "d": return 20; ...} 71
    72. 一体どうなってるの? 72
    73. // Desugaredint $t = -1;switch(s.hashCode()) { case 0x61: // "a".hashCode() if(s.equals("a")) $t = 1; break; case 0x62: if(s.equals("b")) $t = 2; break; ...}switch($t) { case 1: case 2: return 10; case 3: case 4: return 20; 73
    74. Project Lambdaで ダイアモンド継承 74
    75. interface A { void m() default ...; }interface B extends A { void m()! ! ! ! ! ! ! ! ! ! ! ! default ...; }interface C extends A { }class D implements B, C { ... }// which is called when call D.m()... 75
    76. interface A { void m() default ...; }interface B extends A { void m()! ! ! ! ! ! ! ! ! ! ! ! default ...; }interface C extends A { }class D implements B, C { ... }// B.m used if no D.mBがm()をオーバーライドしているので、より特化したBのm()が使われる 76
    77. じゃあこれは? 77
    78. interface A { void m() default ...; }interface B { void m() default ...; }class C implements A, B { public void m() { m(); }}// what happens? 78
    79. コンパイルエラー 79
    80. interface A { void m() default ...; }interface B { void m() default ...; }class C implements A, B { public void m() { A.super.m(); }}// A.m()を明示的に呼び出す必要がある(ダサい) 80
    81. 次は81
    82. セッションを1つダイジェストで 82
    83. Low LatencyにするためのGC基礎 83
    84. in HotSpot VM 84
    85. オブジェクトのアロケーションはvery cheap 85
    86. だいたい10 CPU命令 86
    87. だから生存期間が短いオブジェクトの 87
    88. アロケーションは 全然OK 88
    89. マイナーGCですぐ回収される 89
    90. マイナーGCは 早いし 問題なし 90
    91. アロケーションよりオブジェクトの保存の 方が 91
    92. レイテンシにインパクトがある 92
    93. ただし、頻繁なGCは年齢が早く上がり 93
    94. プロモーションが 起こって 94
    95. フルGCが走るから そこは注意 95
    96. そして 96
    97. 並行GCを使おう 97
    98. 並行GC =アプリケーションが 停止しない 98
    99. -XX:+UseParallelOldGC か -XX:+UseParallelGC 99
    100. (JDK6のほとんどの環境でデフォルト) 100
    101. CMS(ConcurrentMark & Sweep) を使ってもいい 101
    102. –XX:+UseConcMarkSweepGC 102
    103. けど、Conncurrentは 103
    104. ライトバリアがいるので注意 104
    105. オーバーヘッドになる ので 105
    106. case by caseで 106
    107. Stop the World するGCは 107
    108. ライトバリアが いらない 108
    109. 理想的には 109
    110. Parallel GCで、Old世代の解放を避ける 110
    111. ちなみに 111
    112. 大きなオブジェクトは 112
    113. アロケートも 初期化も高価です! 113
    114. ヒープにフラグメンテーション発生させちゃうかも 114
    115. 配列とかのリサイズも そうだよ 115
    116. オブジェクトプーリングも潜在的に問題 116
    117. GCは生きている オブジェクトをマークしていくもの! 117
    118. プールはロックが いるし、スケーラビリティ-- 118
    119. GCの振る舞いを 観察しよう 119
    120. -XX:+PrintGCDetails と一緒に 120
    121. -XX:+PrintGCTimeStamps か-XX:+PrintGCDateStamps を指定 121
    122. GCログの可視化はGChisto(java.net) で 122
    123. あとは VisualVMのVisualGCプラグイン とか 123
    124. ミッションコントロール とか 124
    125. 早すぎる最適化は しない! 125
    126. プロファイルしましょう 126
    127. という感じでした 127
    128. 一番おもしろかった セッション 128
    129. トラブルシューターの頭の中身∼7年間のJavaトラブルシュートサービ スから 129
    130. (ひいき目なしに) 130
    131. おまけ 131
    132. Java資格試験も 変わる! 132
    133. オラクルマスターと 同様 133
    134. 134
    135. ブロンズ、シルバー、 ゴールドへ 135
    136. 旧資格保持者には 移行試験あり 136
    137. 最後に 137
    138. JavaOneでは関ジャバメンバーも活躍しました! 138
    139. @cero_t 139
    140. 140
    141. パネルディスカッションと BOFセッションで登壇 141
    142. @kiy0taka 142
    143. 143
    144. Special LT で登壇 144
    145. ご清聴ありがとうございました 145

    ×