Suche senden
Hochladen
Guavaの美味しい食べ方
•
Als PPTX, PDF herunterladen
•
0 gefällt mir
•
753 views
Yousuke Matsumoto
Folgen
Technologie
Business
Melden
Teilen
Melden
Teilen
1 von 18
Jetzt herunterladen
Empfohlen
chat bot framework for Java8
chat bot framework for Java8
masahitojp
Spring I/O 2015 報告
Spring I/O 2015 報告
Takuya Iwatsuka
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Stanford GSB Corporate Governance Research Initiative
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
Brian Solis
Open Source Creativity
Open Source Creativity
Sara Cannon
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
maditabalnco
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
Barry Feldman
The Outcome Economy
The Outcome Economy
Helge Tennø
Empfohlen
chat bot framework for Java8
chat bot framework for Java8
masahitojp
Spring I/O 2015 報告
Spring I/O 2015 報告
Takuya Iwatsuka
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Stanford GSB Corporate Governance Research Initiative
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
Brian Solis
Open Source Creativity
Open Source Creativity
Sara Cannon
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
maditabalnco
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
Barry Feldman
The Outcome Economy
The Outcome Economy
Helge Tennø
Maven基礎
Maven基礎
Toshio Takiguchi
Scalaでのプログラム開発
Scalaでのプログラム開発
Kota Mizushima
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
学 松崎
Web技術勉強会 第31回
Web技術勉強会 第31回
龍一 田中
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nobuhiro Sue
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
Hayashi Yuichi
Apache Archiva を試す
Apache Archiva を試す
bouzuya
Hadoop 基礎
Hadoop 基礎
hideaki honda
Gws 20120521 gradle
Gws 20120521 gradle
Nobuhiro Sue
Gradle handson
Gradle handson
Nemoto Yusuke
Golang handson
Golang handson
Ryuto Yasugi
Nseg20120929
Nseg20120929
hiro345
第1回名古屋Android勉強会Lt用資料
第1回名古屋Android勉強会Lt用資料
tantack
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Weitere ähnliche Inhalte
Ähnlich wie Guavaの美味しい食べ方
Maven基礎
Maven基礎
Toshio Takiguchi
Scalaでのプログラム開発
Scalaでのプログラム開発
Kota Mizushima
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
学 松崎
Web技術勉強会 第31回
Web技術勉強会 第31回
龍一 田中
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
Nobuhiro Sue
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
Hayashi Yuichi
Apache Archiva を試す
Apache Archiva を試す
bouzuya
Hadoop 基礎
Hadoop 基礎
hideaki honda
Gws 20120521 gradle
Gws 20120521 gradle
Nobuhiro Sue
Gradle handson
Gradle handson
Nemoto Yusuke
Golang handson
Golang handson
Ryuto Yasugi
Nseg20120929
Nseg20120929
hiro345
第1回名古屋Android勉強会Lt用資料
第1回名古屋Android勉強会Lt用資料
tantack
Ähnlich wie Guavaの美味しい食べ方
(13)
Maven基礎
Maven基礎
Scalaでのプログラム開発
Scalaでのプログラム開発
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
Web技術勉強会 第31回
Web技術勉強会 第31回
TDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
今すぐブラウザでES6を使おう
今すぐブラウザでES6を使おう
Apache Archiva を試す
Apache Archiva を試す
Hadoop 基礎
Hadoop 基礎
Gws 20120521 gradle
Gws 20120521 gradle
Gradle handson
Gradle handson
Golang handson
Golang handson
Nseg20120929
Nseg20120929
第1回名古屋Android勉強会Lt用資料
第1回名古屋Android勉強会Lt用資料
Kürzlich hochgeladen
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Kürzlich hochgeladen
(9)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
Guavaの美味しい食べ方
1.
Guavaの食べ方 2013/04/25 松本 陽介
2.
Guavaとは Javaの共通処理をまとめたライブラリ。 主にGoogleのエンジニアが開発しています。 Apache Commonsがライバル。
3.
Guavaの特徴 ジェネリクス対応 並行処理の機能が豊富
fluent interface 可読性が高い Apache Commonsと併用可
4.
Guavaの機能 com.google.common.annotations com.google.common.base
com.google.common.cache com.google.common.collect com.google.common.eventbus com.google.common.io com.google.common.math com.google.common.net com.google.common.primitives com.google.common.reflect com.google.common.util.concurrent
5.
Guavaの機能 com.google.common.annotations com.google.common.base
com.google.common.cache com.google.common.collect com.google.common.eventbus com.google.common.io com.google.common.math com.google.common.net com.google.common.primitives com.google.common.reflect com.google.common.util.concurrent
6.
collect Lists List<String> list1
= Lists.newArrayList(); List<String> list2 = Lists.newArrayList(“hoge”, ”fuga”); final List<String> list3 = ImmutableList.of(“tako”, ”ika”);
7.
collect Lists List<User> userList
= getUserList(); // “taro”,”hanako” List<String> idList = Lists.transform(userList, new Function<User, String>() { @Override public String apply(User user) { return user.getId(); } });
8.
collect MultiMap ListMultimap<String, String>
map = ArrayListMultiMap.create(); map.put(“pigg”, “life”); map.put(“pigg”, ”cafe”); map.put(“card”, ”gf”); // “life”,”cafe” List<String> list = map.get(“pigg”);
9.
base Joiner List<String> list
= Lists.newArrayList(“hoge”, null, “fuga”); // “hoge,fuga” String join = Joiner.on(“,”).skipNulls().join(list);
10.
base Splitter String val
= “apple orange,peach”; CharMatcher matcher = CharMatcher.WHITESPACE .or(CharMatcher.is(„,‟)); // “apple”,”orange”,”peach” Iterable<String> split = Splitter.on(matcher).omitEmptyStrings().split(val);
11.
base Preconditions Integer val
= 10; Preconditions.checkNotNull(val, “required.”); Preconditions.checkArgument(val > 10, “over 10.”);
12.
base Stopwatch Stopwatch stopwatch
= new Stopwatch().start(); execute(); stopwatch.stop(); // “elapsed time:12.3ms” log.info(“elapsed time:” + stopwatch);
13.
io Files BufferedReader reader
= null; try { reader = Files.newReader( new File(“hoge.txt”), Charsets.UTF_8); } finally { Closeables.closeQuietly(reader); }
14.
io Files List<String> lines
= Files.readLines( new File(“fuga.txt”), Charsets.UTF_8); byte[] bytes = Files.toByteArray(new File(“sample.jpg”));
15.
util.concurrent ListeningFuture ListeningExecutorService threadPool
= MoreExecutors.listeningDecorator( Executors.newFixedThreadPool(32)); Callable<String> task = getTask(); ListeningFuture<String> future = theadPool.submit(task);
16.
util.concurrent ListeningFuture Futures.addCallback(future, new
FutureCallback<String>() { @Override public void onSuccess(String s) { log.info(“success! result:” + s); } @Override public void onFailure(Throwable throwable) { log.error(“error!”, throwable); } });
17.
util.concurrent RateLimiter RateLimiter limiter
= RateLimiter.create(100.0); for (int i = 1; i <= 10000; i++) { limiter.acquire(); execute(); } for (byte[] bytes : getBytesList()) { limiter.acquire(bytes.length); execute(bytes); }
18.
まとめ Guavaを利用するとコーディングしやすくな り、 ソースの可読性も向上します。便利な機能が沢山 あるので、ぜひ利用してみてください。
Jetzt herunterladen