Enviar búsqueda
Cargar
真にスレッドセーフなHash mapとは #渋谷java
•
10 recomendaciones
•
14,741 vistas
Hiroyuki Ohnaka
Seguir
Vista de diapositivas
Denunciar
Compartir
Vista de diapositivas
Denunciar
Compartir
1 de 17
Descargar ahora
Descargar para leer sin conexión
Recomendados
八王子
八王子
Kazutake Hiramatsu
関西Emacs 9th で発表した資料。 「PasteHubを使ってみよう」
PasteHub at kansai emacs 9th
PasteHub at kansai emacs 9th
Kiyoka Nishiyama
2014/02/27SQLアンチパターン読書会 「15章 ランダムセレクション」の説明資料
SQLアンチパターン読書会 15章 ランダムセレクション 説明資料
SQLアンチパターン読書会 15章 ランダムセレクション 説明資料
Nao Yamamoto
Trident lt vagrant-hands-on
Trident lt vagrant-hands-on
Ryouta Morita
TypeScript 勉強会
TypeScript 勉強会
Masahiro Wakame
八王子
八王子
Kazutake Hiramatsu
今や当たり前のように使われている画像認識。最先端の技術により人間を凌ぐほどの精度を叩き出すことも可能ですが、一方高度な数学を使わずに処理することも可能です。今回は有名なゲームを例に、その解説をします。
やさしい画像認識教室 ~ゲーム編~
やさしい画像認識教室 ~ゲーム編~
YSRKEN
Sapporo #golang Meetup http://connpass.com/event/10878/
初心から一週間で作ってみた Kinesis Client Library for Go
初心から一週間で作ってみた Kinesis Client Library for Go
Terui Masashi
Recomendados
八王子
八王子
Kazutake Hiramatsu
関西Emacs 9th で発表した資料。 「PasteHubを使ってみよう」
PasteHub at kansai emacs 9th
PasteHub at kansai emacs 9th
Kiyoka Nishiyama
2014/02/27SQLアンチパターン読書会 「15章 ランダムセレクション」の説明資料
SQLアンチパターン読書会 15章 ランダムセレクション 説明資料
SQLアンチパターン読書会 15章 ランダムセレクション 説明資料
Nao Yamamoto
Trident lt vagrant-hands-on
Trident lt vagrant-hands-on
Ryouta Morita
TypeScript 勉強会
TypeScript 勉強会
Masahiro Wakame
八王子
八王子
Kazutake Hiramatsu
今や当たり前のように使われている画像認識。最先端の技術により人間を凌ぐほどの精度を叩き出すことも可能ですが、一方高度な数学を使わずに処理することも可能です。今回は有名なゲームを例に、その解説をします。
やさしい画像認識教室 ~ゲーム編~
やさしい画像認識教室 ~ゲーム編~
YSRKEN
Sapporo #golang Meetup http://connpass.com/event/10878/
初心から一週間で作ってみた Kinesis Client Library for Go
初心から一週間で作ってみた Kinesis Client Library for Go
Terui Masashi
an opening act
Raytracing4
Raytracing4
Kazuma Hatta
下記勉強会の発表資料です。 --------------------------------------------------------- JSLOVE 〜JavaScriptを愛する人の話を聞いてみよう〜 http://devlove.doorkeeper.jp/events/5811 ---------------------------------------------------------
JavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなこと
Mayu Kimura
テンプレートエンジンのslimの紹介。使ってみた感想などを記述しています。
Slimの紹介
Slimの紹介
豊明 尾古
恋に落ちるRuby
恋に落ちるRuby
Yuuka Tomomatsu
第9回山口県WEB勉強会で発表した資料です。
Html5+javascriptでゲーム開発
Html5+javascriptでゲーム開発
Tatsuya Fukuda
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
wpscala
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
ivoryworks .
福岡Haxe勉強会 feat. HTML5+α @福岡 - 第0x00回 2013年8月25日(日) LTさせて頂いたときのスライドです。
LT Leap MotionとJavaScriptで遊ぼう!
LT Leap MotionとJavaScriptで遊ぼう!
Toshio Ehara
JavaScript をこれからはじめるために環境をセットアップする
これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境
Ryo Higashigawa
2015.10.15 GX 社内エンジニア勉強会
アニメーションしたい
アニメーションしたい
Yuki Ishikawa
await/asyncのスライドの発表会で話したスライドです。kekyoさん、お疲れさまでした!
非同期系統の基礎
非同期系統の基礎
segayuu
2011/03/08 Shibuya.jsの発表資料です。
サイボウズLiveの開発を支えるSeleniumテスト
サイボウズLiveの開発を支えるSeleniumテスト
Kazufumi Fukushima
Selenium IDE for primer Selenium IDE 入門セミナー資料
Selenium IDE for primer
Selenium IDE for primer
yasukoS
slide used at jbcnconf 2016
Tomcat next
Tomcat next
Jean-Frederic Clere
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
Masatoshi Tada
Tomcatx performance-tuning
Tomcatx performance-tuning
Vladimir Khokhryakov
[French Contain] Websocket Documentary Reasearches for my training. You can contact me for more information @: manavai.teikituhaahaa@gmail.com
[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary Reasearches
Manavai Teikituhaahaa
2022/2/4 VS Code Meetup
remote Docker over SSHが熱い
remote Docker over SSHが熱い
Hiroyuki Ohnaka
2022/2/3 Microsoft Developer Night
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
VS Code Meetup #9 - Recap VS Code Day 2021
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka
2021/1/24 July Tech Festa 2021 winter
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
Hiroyuki Ohnaka
技術書典9「WindowsデスクトップでWeb開発 改訂版」サンプルです。 販売サイト: https://techbookfest.org/product/5013670885064704
「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプル
Hiroyuki Ohnaka
Más contenido relacionado
La actualidad más candente
an opening act
Raytracing4
Raytracing4
Kazuma Hatta
下記勉強会の発表資料です。 --------------------------------------------------------- JSLOVE 〜JavaScriptを愛する人の話を聞いてみよう〜 http://devlove.doorkeeper.jp/events/5811 ---------------------------------------------------------
JavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなこと
Mayu Kimura
テンプレートエンジンのslimの紹介。使ってみた感想などを記述しています。
Slimの紹介
Slimの紹介
豊明 尾古
恋に落ちるRuby
恋に落ちるRuby
Yuuka Tomomatsu
第9回山口県WEB勉強会で発表した資料です。
Html5+javascriptでゲーム開発
Html5+javascriptでゲーム開発
Tatsuya Fukuda
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
wpscala
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
ivoryworks .
福岡Haxe勉強会 feat. HTML5+α @福岡 - 第0x00回 2013年8月25日(日) LTさせて頂いたときのスライドです。
LT Leap MotionとJavaScriptで遊ぼう!
LT Leap MotionとJavaScriptで遊ぼう!
Toshio Ehara
JavaScript をこれからはじめるために環境をセットアップする
これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境
Ryo Higashigawa
2015.10.15 GX 社内エンジニア勉強会
アニメーションしたい
アニメーションしたい
Yuki Ishikawa
await/asyncのスライドの発表会で話したスライドです。kekyoさん、お疲れさまでした!
非同期系統の基礎
非同期系統の基礎
segayuu
La actualidad más candente
(11)
Raytracing4
Raytracing4
JavaScriptで出来る、あんなことこんなこと
JavaScriptで出来る、あんなことこんなこと
Slimの紹介
Slimの紹介
恋に落ちるRuby
恋に落ちるRuby
Html5+javascriptでゲーム開発
Html5+javascriptでゲーム開発
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
2010/11/16 WebプログラマのためのScala入門勉強会@渋谷
20101009 gunma.web#2 スタパさんをつくるはなし
20101009 gunma.web#2 スタパさんをつくるはなし
LT Leap MotionとJavaScriptで遊ぼう!
LT Leap MotionとJavaScriptで遊ぼう!
これからはじめるための JavaScript 開発環境
これからはじめるための JavaScript 開発環境
アニメーションしたい
アニメーションしたい
非同期系統の基礎
非同期系統の基礎
Destacado
2011/03/08 Shibuya.jsの発表資料です。
サイボウズLiveの開発を支えるSeleniumテスト
サイボウズLiveの開発を支えるSeleniumテスト
Kazufumi Fukushima
Selenium IDE for primer Selenium IDE 入門セミナー資料
Selenium IDE for primer
Selenium IDE for primer
yasukoS
slide used at jbcnconf 2016
Tomcat next
Tomcat next
Jean-Frederic Clere
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
Masatoshi Tada
Tomcatx performance-tuning
Tomcatx performance-tuning
Vladimir Khokhryakov
[French Contain] Websocket Documentary Reasearches for my training. You can contact me for more information @: manavai.teikituhaahaa@gmail.com
[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary Reasearches
Manavai Teikituhaahaa
Destacado
(6)
サイボウズLiveの開発を支えるSeleniumテスト
サイボウズLiveの開発を支えるSeleniumテスト
Selenium IDE for primer
Selenium IDE for primer
Tomcat next
Tomcat next
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
Tomcatx performance-tuning
Tomcatx performance-tuning
[FR] Websocket Documentary Reasearches
[FR] Websocket Documentary Reasearches
Más de Hiroyuki Ohnaka
2022/2/4 VS Code Meetup
remote Docker over SSHが熱い
remote Docker over SSHが熱い
Hiroyuki Ohnaka
2022/2/3 Microsoft Developer Night
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
VS Code Meetup #9 - Recap VS Code Day 2021
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka
2021/1/24 July Tech Festa 2021 winter
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
Hiroyuki Ohnaka
技術書典9「WindowsデスクトップでWeb開発 改訂版」サンプルです。 販売サイト: https://techbookfest.org/product/5013670885064704
「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプル
Hiroyuki Ohnaka
2018/4/24 Mackerel Drink Up #7 Tokyo https://mackerelio.connpass.com/event/84134/
Mackerelの薄い本
Mackerelの薄い本
Hiroyuki Ohnaka
20148/4/19 Azureもくもく会@新宿 No.18
Microsoft DocsにContributeした話
Microsoft DocsにContributeした話
Hiroyuki Ohnaka
2018/4/14 第二十一回 Azureもくもく会 @ 品川
Azure functions+typescript
Azure functions+typescript
Hiroyuki Ohnaka
2018/4/22 技術書典4 く-35「錬金術MeetUp」
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
Hiroyuki Ohnaka
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」の各章の先頭を収録したサンプル版です。 サークル詳細 | ふぃーるどのーつ | 技術書典 https://techbookfest.org/event/tbf04/circle/17370003 すいーとみゅーじっく vol.5 Mackerelではじめるお手軽サーバー監視 - - BOOTH(同人誌通販・ダウンロード) https://fieldnotes.booth.pm/items/818404
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
Hiroyuki Ohnaka
2018/1/31 fun-tech meetup #6 IT技術ではじめての○○○ビアバッシュLT大会
仮想通貨始めました~GethではじめるEthereum~
仮想通貨始めました~GethではじめるEthereum~
Hiroyuki Ohnaka
2018/01/30 BPStudy LT
錬金術MeetUpへのお誘い
錬金術MeetUpへのお誘い
Hiroyuki Ohnaka
2017/12/23 合同勉強会 in 大都会岡山 -2017 Winter-
Mackerelではじめる お手軽サーバー監視
Mackerelではじめる お手軽サーバー監視
Hiroyuki Ohnaka
2017/12/10 システムテスト自動化カンファレンス2017-2 「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka
2017/9に開催したTDDBC(TDD Boot Camp)で行った基調講演の改訂版です。
TDDはじめて物語Second Season(updated)
TDDはじめて物語Second Season(updated)
Hiroyuki Ohnaka
2017/9/30 TDDBC Tokyo 2017-09 基調講演
TDDはじめて物語 Second Season #tddbc
TDDはじめて物語 Second Season #tddbc
Hiroyuki Ohnaka
2017/9/17 XP祭り LT
XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)
Hiroyuki Ohnaka
2017/6/24 KANJAVA PARTY LT 「JDK9の真の目玉機能はこれだ!」
JDK9の真の目玉機能はこれだ!
JDK9の真の目玉機能はこれだ!
Hiroyuki Ohnaka
2017/5/20 JJUG CCC Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Hiroyuki Ohnaka
2017/5/29 Tech Pub vol.3―技術書典ふりかえりLT大会! https://techpub.connpass.com/event/54961/
「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまで
Hiroyuki Ohnaka
Más de Hiroyuki Ohnaka
(20)
remote Docker over SSHが熱い
remote Docker over SSHが熱い
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプル
Mackerelの薄い本
Mackerelの薄い本
Microsoft DocsにContributeした話
Microsoft DocsにContributeした話
Azure functions+typescript
Azure functions+typescript
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
仮想通貨始めました~GethではじめるEthereum~
仮想通貨始めました~GethではじめるEthereum~
錬金術MeetUpへのお誘い
錬金術MeetUpへのお誘い
Mackerelではじめる お手軽サーバー監視
Mackerelではじめる お手軽サーバー監視
「GebとSpockではじめるシステムテスト自動化」
「GebとSpockではじめるシステムテスト自動化」
TDDはじめて物語Second Season(updated)
TDDはじめて物語Second Season(updated)
TDDはじめて物語 Second Season #tddbc
TDDはじめて物語 Second Season #tddbc
XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)
JDK9の真の目玉機能はこれだ!
JDK9の真の目玉機能はこれだ!
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまで
真にスレッドセーフなHash mapとは #渋谷java
1.
真にスレッドセーフな HashMapとは 2013/11/16 第四回 #渋谷java せとあずさ♂
2.
• • • • @setoazusa http://blog.fieldnotes.jp/ #tddbc 横浜(2011~2013) #agilesamurai #横浜道場 • • • • #yokohamarb 最近、MacからWindows8に乗り換えました チャンキヨかわいいよチャンキヨ miwaは自慢の妹です
3.
スレッドセーフとは…? • クラスがスレッドセーフであるかどうか ということは、そのクラスが使われるコ ンテキストに強く依存します
4.
Java並行処理プログラミング読んでください http://www.amazon.co.jp/dp/4797337206/
5.
スレッドセーフなHashMap? • ConcurrentHashMap使えばいいんじゃ ね?
6.
ConccurentHashMapはHashMap ではありません!
7.
すなわち map.put(“key”, null); HashMap →
そのまま通す ConccurentHashMap → ぬるぽ
8.
これはバグではありません http://docs.oracle.com/javase/jp/7/api/java/util/Map.html#put%28K,%20V%29
9.
• やむを得ないので、 Collections#synchronizedMapを使うわ けですが…
10.
• synchronizedMapって、 iterator(foreach)を回す場合は呼び出し 元で同期する必要があるじゃないです か?
11.
• 呼び出し元でどうやっても同期できない ケースが1つだけあります。
12.
それはシリアライズ
13.
どうする? • privateだから、継承できない • 呼び出し元は
標準APIの中
14.
どんなケースでひっかかったのか • WebアプリのHttpSessionにHashMapを 格納していて、 • Tomcatのセッションクラスタリングがレ プリケーションのためにHashMapをシリ アライズして、 •
そのシリアライズの最中にリクエストか らの処理(シリアライズとは別スレット)が HashMapにput
15.
結論 • スレッドごとに、オブジェクトを分割す ればいい
16.
https://gist.github.com/azusa/7052618
17.
まとめ • クラスがスレッドセーフかどうかはコン テキストに依存するということを理解し ない人は、豆腐の角に頭をぶつけて(ry • コレクションAPIには地雷があります •
スケールアウトの容易さという点につい て、railsが羨ましいです • Java並行処理プログラミング読みましょ う
Descargar ahora