タグ

javaとAPIに関するdecoy2004のブックマーク (24)

  • Javaコレクションフレームワークの比較 (JDK8/GS Collections/Guava) - Programming Diary.

    はじめに Java Day Tokyo 2015とJJUG CCC 2015 Springで紹介されていたGS Collectionsを使用してみました。実例を用いてJava8のStream APIやGuavaの使用方法と比較します。 環境 JDK 1.8.0_25 GS Collections 6.1.0 Guava 18.0 JUnit 4.8.1 問題設定 社員のリストから営業部に所属する社員を抽出し、社員番号の昇順で社員名を取得する 社員のリストから部署ごとの社員数を求める ※『Javaエンジニア養成読』特集2の第3章「Stream API を使いこなすために」の例を参考にしました。 社員 public class Employee { private int id; // 社員番号 private String name; // 名前 private Dept dept; //

    Javaコレクションフレームワークの比較 (JDK8/GS Collections/Guava) - Programming Diary.
  • JDK9 新機能 (日本語&ショートバージョン) #jjug

    4. What features will come? 102: Process API Updates 110: HTTP 2 Client 143: Improve Contended Locking 158: Unified JVM Logging 165: Compiler Control 193: Variable Handles 197: Segmented Code Cache 199: Smart Java Compilation, Phase Two 201: Modular Source Code 211: Elide Deprecation Warnings on Import Statements 212: Resolve Lint and Doclint Warnings 213: Milling Project Coin 214: Remove GC Combi

    JDK9 新機能 (日本語&ショートバージョン) #jjug
  • OracleとGoogleの判決文を斜め読む - Qiita

    (7/7追記)僕は斜め読みだったんですが、もっときちんと読んだ上で解釈を書いてくれている方がいます。僕も時間をとって全文を読みたいとは思っていますが、まだ時間がかかりますし、yudaiさんの会社の方が妥当性は高いと思いますので、そちらをご参照ください↓ 朝っぱらから色々衝撃が走った第一四半期の最終日ですが、OracleGoogleの裁判について、どのあたりが問題だったとされるのか気になるので判決文等を読んでみました。 経緯 2010年8月、OracleGoogleを訴える。当初の争点は特許侵害 (publicKey1) 2012年4月、サンフランシスコ連邦地裁の法廷開始 2012年5月、Googleの特許侵害はないとの陪審評決。ただし、フェアユースは意見が別れる。 2012年6月: OracleGoogleJava/Android訴訟、損害賠償金ゼロで合意。今回議論された37件のJ

    OracleとGoogleの判決文を斜め読む - Qiita
  • Date and Time APIを理解する為には、ISO 8601に踏み込みましょう!

    HASUNUMA Kenji (Deprecated) @khasunuma_old Date and Time APIを説明するにISO 8601にまで踏み込むのは蛇足だという方は非常に多く、過去にJava界隈の重鎮から叩かれたことがあります。しかし、過去のセッションやブログを見る限り、ISO 8601には触れずに解説したものは、ほぼ例外なく爆死しています。 2015-05-09 05:11:10 HASUNUMA Kenji (Deprecated) @khasunuma_old Date and Time APIがISO 8601ベースになったのは、先行したJoda-Timeが同様にISO 8601ベースにしてうまくまとまったから。Stephenは暦が無数にあることを承知の上で、ISO 8601という国際規格を「人間向け」の基準と定めたのです。 2015-05-09 05:13:45

    Date and Time APIを理解する為には、ISO 8601に踏み込みましょう!
    decoy2004
    decoy2004 2015/05/09
    『業務コードで使用するのは多くがLocalDateで、特に国内向けシステムではそれしか使わないと言っても良いくらい。』
  • Javaライブラリを配布する際のログ周りにおける配慮と実践 - Kengo's blog

    2020-07-22更新: 以下の投稿で情報をアップデートしています。 https://blog.kengo-toda.jp/entry/2020/07/21/223136 いつも購読させていただいている id:teppeis さんのブックマークに以下のエントリが流れてきて、なるほどこいつはたしかに厄介だと思いました。 javaのロガーが多すぎて訳が解らないので整理してみました - 文系プログラマによるTIPSブログ ただSLF4Jが最も先進的かつ著名なインタフェースである以上、配布側としてはSLF4Jを使いつつ問題を解決したいところです。他のインタフェースを使ったりオレオレ実装を使ったりしてしまうと、それこそユーザの自由度を奪ってしまう形になります。 実際、SLF4Jを配布パッケージに含めないという簡単な解決法がありますので、簡単に紹介します。悲劇を繰り返さないためにライブラリ開発者がす

    Javaライブラリを配布する際のログ周りにおける配慮と実践 - Kengo's blog
    decoy2004
    decoy2004 2015/03/14
    『配布パッケージにSLF4JのAPIが含まれていたり、配布パッケージがSLF4JのAPIにcompileスコープで依存していたりすると、ユーザがいちいちexclusionで依存を断ち切らなければなりません』
  • インターフェイスを設計するために読んだ技術書まとめ - 自由課題

    アーキテクトの(機能面での)主要な仕事の1つに、システムを構成するサブシステム/コンポーネントの境界、つまりインターフェイスを決める、というものがあります。またはそこまで大げさに捉えなくても、例えばライブラリのAPIを設計する、というのは単にプログラミングをする、ということとは少し違う視点が求められるように思います。 案外インターフェイスを考えるという観点での技術書まとめがないような気がしたので、需要があるかわかりませんが関連して読んだを紹介しておきます。なお、個人的なキャリア上、C++/Javaが対象です。(色々経験したら随時追加するかも知れません) 何か他にいいがあったらぜひ教えてください。 言語仕様をきちんと知る まずはAPIを設計する対象言語をよく知る、ということは必要であると思います。これだけだと、結果的にプログラミングに精通するということとあまり変わりはないかも知れません。

    インターフェイスを設計するために読んだ技術書まとめ - 自由課題
    decoy2004
    decoy2004 2014/12/28
    『APIデザインの極意 Java/NetBeansアーキテクト探究ノート』
  • Java 8 Date and Time API の実践的なチートシートできたよ~ - tokuhirom's blog

    Java8 を使いこなそうとすると、やはり Date and Time API も使いこなす必要がでてくる。 我々 Perl 畑出身の人間からすると、Perl の世界では DateTime/Time::Piece というモジュールが一般的に日付の計算に使われており、iandeth.さんのブログエントリがチートシートとしてよく知られている。このいつも見慣れたエントリの体裁で、一般的な日時の操作を実用的に教えてくれるエントリが欲しくて書いた。 junit のテストケースとして書いてあるので、適当にコピペして QuickJUnit で動作確認するとよい(assertはしてないけど)。 なにかあれば教えていただけるとありがたいです。

  • Javaプログラム 画面を常に最前面に表示するには?

    画面を常に最前面で表示するには? 画面を常に最前面で表示するには、どうしたらよいのでしょうか? Tips06.「常に最前面」ボタンを押下したら、画面を常に最前面で表示する。 ソースコード import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; //画面を常に最前面に表示する

    decoy2004
    decoy2004 2014/10/22
    『setAlwaysOnTop(true)    :trueと指定することで、画面が常に最前面で表示する。』
  • Notes the Java SE

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Notes the Java SE
  • Java Platform SE 8 API仕様

    The documentation for JDK 24 includes developer guides, API documentation, and release notes.

  • Stream APIで大きなファイルを読み込むと - torutkのブログ

    Java SE 7で導入されたNIO2のFilesクラスでreadAllLinesメソッドを使って大きなファイルを読むと、ヒープメモリを圧迫またはOutOfMemoryErrorを起こします。 List<String> lines = Files.readAllLines(Paths.get(args[0]), StandardCharsets.UTF_8); Windows 7 64bit(12GBメモリ)で、Java SE 8 64bit版上でヒープメモリサイズのオプションを指定せずに(デフォルト)実行し、8GBのファイルを上述コードで読み込ませたところOutOfMemoryErrorが発生しました。 Java SE 8で導入されたStream APIを使って大きなファイルを読み込むとどうか試してみました。 try (BufferedReader reader = Files.newB

    Stream APIで大きなファイルを読み込むと - torutkのブログ
    decoy2004
    decoy2004 2014/08/26
    『Java SE 8で導入されたStream APIを使って大きなファイルを読み込むとどうか試してみました。』
  • Java API、使ってますか?(16) アノテーションを使ってバグ退治 - JSR 305

    JSR 305: Annotations for Software Defect Detection 前回に引き続き、今回も将来的にJava SEに取り込まれる可能性のあるアノテーション関連のJSRを取り上げたいと思う。今回紹介するのは、Javaプログラムのバグ退治をサポートするアノテーションの標準セットとなる「JSR 305: Annotations for Software Defect Detection」だ。 現在、Javaプログラムのバグを探すにはFindBugsやIntelliJなどに代表されるバグ検証ツールを利用するのが一般的である。これらのツールを利用することで、バグの原因となりやすいコードパターンや無意味な処理を行っている箇所などを開発時に容易に発見することができる。 JSR 305では、こういったバグ検証をサポートするアノテーションの標準セットを提供する。たとえばNul

  • アジャイルAPI設計時代の到来!?APIデザインの極意を読みました。 - シスアーキ in はてな

    「プログラミング言語Java」「Effective Java」などの翻訳で有名な、柴田芳樹さんの新たな訳書である「APIデザインの極意」を読みました。 APIデザインの極意 Java/NetBeansアーキテクト探究ノート 作者: Jaroslav Tulach,柴田芳樹 出版社/メーカー: インプレスジャパン 発売日: 2014/05/23 メディア: 単行(ソフトカバー) この商品を含むブログ (4件) を見る 「APIデザインの極意」は、NetBeansの生みの親で、初期のアーキテクトであるJaroslav Tulach(ヤロスラフ・ツゥラッハ)が著者で、NetBeansの開発で得た経験や教訓を纏めたノートが元になって書かれた書籍です。 従来のデザインパターンでは解決できない、後方互換性を維持しながらライブラリを発展させる設計手法について書かれています。 読んだ感想としては、GoF

    アジャイルAPI設計時代の到来!?APIデザインの極意を読みました。 - シスアーキ in はてな
    decoy2004
    decoy2004 2014/08/07
    『メソッドを安全に追加できる型としてfinalクラスを使用する 不変型を指定するためにJavaインタフェースを使用する』
  • Date and Time API 徹底攻略(4) - Date/Time その1 - Programming Studio

    前回から 1 ヶ月以上経ってしまいましたが、今回から Date and Time API の使い方について見てゆきたいと思います。Java EE でも GlassFish 4.0.1 Preview や WildFly 8.x が Java 8 を正式サポートしており、IBM WebSphere AS も年内には Java 8 に対応するという話が出ており、今後 Date and Time API を活用する機会は増えていくことでしょう。 WebLogic Server に関する注釈: 次期リリース WebLogic 12.1.3 は Web 層に対する Java EE 7 仕様の先行取り込みが最優先事項であるため、Java 8 (特に Lambda)には対応しない公算が大きいです。公式には 12.1.4 までに Java 8 対応を完了させるというマイルストーンだったと思います(間違って

    Date and Time API 徹底攻略(4) - Date/Time その1 - Programming Studio
  • Date and Time API 徹底攻略(1) - 準備は大切にしよう - Programming Studio

    まもなく Java SE 8 がリリースされ、新APIの目玉の一つである "Date and Time API" に関する記事が増えてきたように思えます。直近ではアリエル・ネットワークさんのブログ「Java8の日付および時刻処理(Date/Time API(JSR-310))の紹介と利用指針」が公開されましたが、正直な話、JSR 310 の仕様書やその原点である ISO 8601 の規格書を読み込んで入れば、ああいう適当なことは書けないよね?というのが所感です。これはその他の Date and Time API を取り上げた記事すべてに言えることですが、「利用指針」と上から目線とも取れる表現が使われていたため、特に気になった次第です。 そもそも、従来の java.util.Date/java.util.Calendar と Date and Time API がどう違うかというと、元となっ

  • 速習 Date and Time API - Programming Studio

    既に「Date and Time API 徹底攻略」の連載を始めていますが、内容が網羅的で分量が多いため、ダイジェスト版としてこの記事を公開します。この記事は Date and Time API の導入を目的としたものであるため、説明は最小限に絞っています。詳細は Java SE 8 API ドキュメントまたは「Date and Time API 徹底攻略」を参照してください。 1. Date and Time API とその位置づけ Date and Time API (JSR 310) は Java SE 8 から追加された新しい日付と時刻を表現する API です。従来の Date や Calendar などを置き換えることを念頭に開発され、日付・時刻表現の国際規格である ISO 8601 (国内では JIS X 0301) をカバーした仕様になっています。 2. ISO 8601 と

    速習 Date and Time API - Programming Studio
  • Date and Time API 徹底攻略(3) - ISO 8601 - Programming Studio

    第1回でもお話ししたように、Date and Time API は ISO 8601 という日付と時刻の表現に関する国際規格に基づいて設計されています。今回は Date and Time API の基礎理論と言っても過言ではない ISO 8601 についてお話しします。また、事実上の邦訳である JIS X 0301 規格についても、その差分についてお伝えしようと思います。 参考まで、JIS X 0301 は文が約 20 ページ程度の、比較的シンプルな規格です (解説や補足を合わせてもその 2 倍程度のページ数)。閲覧だけであれば Web 上から無料でできますので (これは ISO 8601 も同じ)、興味のある方は是非ご覧になってください。 1. はじめに まずはじめに ISO 8601 の特長を列挙します。 ISO 8601 は (コンピュータ・システムにおける) 情報交換のための日付

    decoy2004
    decoy2004 2014/07/17
    『ISO 8601 には規定されていませんが、JIS X 0301 ではローカライズに合わせて「元号」の取り扱いについても補足的に触れています。』
  • Java Logging API

    JDK1.4から導入されたロギングAPIを使って、クールな開発を行いましょう。ロギングAPIには、既にlog4jやJLogといった有名どころがあります。log4jは、元IBM Alphaworksで現Apacheプロジェクトの一つとして公開されています。また、log4j創始者がlog4jと決別し新たにlogback(+slf4j)を開発し公開しています。どちらも高機能で優れたロギングAPIなのですが、これから覚えるならば、まずはJDK標準APIであるJava Loggin APIがいいでしょう。Java Logging APIは機能面では他のロギングAPIより劣っている点もありますが、ロギングのようにプログラミングを助けるヘルパー機構は高機能でなくてもシンプルで簡単に使えるのが一番。標準APIならクラスパス設定不要です。なんたってプログラマーには他に覚えなければいけないことが山のようにある

    decoy2004
    decoy2004 2014/07/05
    『プロパティファイルの設定で、出力形式をカスタマイズすることができます。』
  • 「Javaの鉱脈」連載開始 | さにあらず

    WEB+DB PRESS の Vol.81 から JVM を中心とした連載を始めましたので是非買って下さい。 2014/6/24 発売です。書店には既に並んでいるかと思います。 これはアマゾンのアフィリエイトリンクですので、踏んだ直後に冷蔵庫等の大型家電を購入して頂けると僕が喜びます。 電子書籍版もありますので物理的な媒体に興味がない方は PDF を買って下さい。 WEB+DB PRESS Vol.81@Gihyo Digital Publishing 初回の内容はラムダ式 + RxJava​ 今回の内容としては Java8 のラムダ式に関する簡単な説明から、ラムダ式を利用してRxJavaを使うとこんなに便利という話を書きました。 記事内で Stream API に関して説明しなかった最大の理由はラムダ式と Stream API に関する適切で妥当な説明については桜庭さんの記事を読めば良い

    「Javaの鉱脈」連載開始 | さにあらず
  • forEach書いたら負け、for文禁止 - torutkのブログ

    日は日Javaユーザーグループ(JJUG)主催のクロスコミュニティカンファレンス2014春に参加してきました。今日の日記は、参加内容のまとめではなく、参加して得たことやそれをきっかけに考えたことなどをだらだらと書き連ねます。 Java SE 8では、forEach書いたら負け、for文禁止 日記のタイトルは、午前のセッション「K-1 詳説 Java SE 8 – CCC Edition」で出た話題です。手続き的なロジックを書いて、ネストが深く制御構造が複雑になってしまう人向けにはJava SE 8で導入されたラムダ式とStream APIを使って、内部イテレータと関数型プログラミングのエッセンスを取り入れた書き方をするといいよ、という話から出た言葉です。 実は昨日開催したJava読書会(「Java 8 Lambdas」を読む会)でも、「for文は禁止だ!」という話題が出てました。for

    forEach書いたら負け、for文禁止 - torutkのブログ
    decoy2004
    decoy2004 2014/05/19
    『このコードは、拡張for文の中で1つの要素につきイテレータのhasNext()とnext()と2つのメソッドが呼ばれます。それらのメソッド毎にロック、アンロックされるため、並行アクセスに不整合となるとの説明がありました。』