タグ

javaに関するyukisaltoのブックマーク (55)

  • Java で引数の null チェックで迷った話 - yukungのブログ

    これは Java Advent Calendar 2015 の 15 日目の記事です。 昨日は @opengl_8080 さんの Byteman 使い方メモ+α でした。明日は @irof さんです。 前置き ついこないだチームでちょっとだけ話題に上って、みんなある程度指針は持っているものの、割と悩みつつ明確に答えを出せなかったので、もっと良い意見があればと思って晒してみます。まぁよくある話だし、Java 8 で Optional が使えるようになって null について語られるケースが増えたと思うので、再考するちょうどよい機会になればいいなーと思います。初心者向けです。 どう処す?処す? こんな状況の時にあなたならどうしますか? // Generics なのは例です。String でもなんでもいいです public T doSomething(T input) { // input が

    Java で引数の null チェックで迷った話 - yukungのブログ
  • コードで学ぶドメイン駆動設計入門 〜リポジトリ編〜 - かとじゅんの技術日誌

    コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜振る舞いとサービス編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜ファクトリ編〜 - じゅんいち☆かとうの技術日誌 引き続き連投エントリ。私も来年で39歳になります。そして息子が7歳。いいおやじですが、脳は衰えないと言われています。鍛えれば鍛えたほど進化できると信じます。 ということで、リポジトリ編に入ります。 リポジトリ リポジトリは、ライフサイクルの途中から最後にフォーカスし、オブジェクトの永続化と永続化されたそのオブジェクトを検索する手段を提供するオブジェクトです。このように説明すると、DAOに近い印象を持つかもしれませんが、DAOはRDBMSSQLなどのインフラストラクチャ層の関心事を含んでいるので、ここでは

    コードで学ぶドメイン駆動設計入門 〜リポジトリ編〜 - かとじゅんの技術日誌
  • 「メモリーを意識してみよう」第4回 進化するメモリー管理:ITpro

    先々週にHotSpot VMでのメモリー管理について解説しました。ここでキーとなるのは世代別GCです。 HotSpot VMで世代別GCが採用される以前は,Old領域のGCで使用されるMark & Sweep GCだけでした。世代別GCが導入されたことにより,GCのパフォーマンスは劇的に向上したのです。 しかし,GCの進化はここで終わってしまったのではありません。Java SE 6(開発コード名Mustang)にいたるまで,様々な改良が加えられてきました。 今週はそれらの新しいGCの手法について解説していきます。その前に,まずは基となるMark & Sweep GCを説明しましょう。 Mark & Sweep GC Mark & Sweep GCは二つのフェーズでGCを行います。 はじめのフェーズで,使用しているインスタンスに印をつけます(Mark,図1a)。Markにはルートインスタン

    「メモリーを意識してみよう」第4回 進化するメモリー管理:ITpro
  • Javaでコンパイラの基礎を理解する 第1回そもそもコンパイラの中ってどうなっているの? (1/2) - @IT

    プログラミング言語処理系の実装 Ajaxなどによりスクリプト言語のJavaScriptの良さが見直されたり、Railsの出現によりプログラミング言語Rubyへの注目度が高まったりしています。これだけプログラミング言語が注目されるようになってくると、独自のプログラミング言語を作成したいと考える開発者も増えてきていることかと思います。 コンパイラ作成を勧める3つの理由 Javaなどのプログラミング言語を使えるようになって、自分が作りたいプログラムを自由に作成できるようになってくると、既存のソフトウェアでも簡単なものを自作してみたくなるものです。せっかくプログラムを組めるようになったのですから、いろいろと自分で作ってみたいと思うのは当然です。中でも、プログラミング言語処理系は一度は作成してみたいと思うでしょう。 一般のコンピュータ利用者と違って、開発者は日ごろからコンパイラやインタプリタを使って

    Javaでコンパイラの基礎を理解する 第1回そもそもコンパイラの中ってどうなっているの? (1/2) - @IT
  • 【速報】JUnit5 はこうなる!?【プロトタイプ】 | DevelopersIO

    渡辺です。 DevelopersIOでの100目のエントリーがJUnitネタとなりました。 自分がJUnit実践入門を執筆したのは2011年から2012年にかけてです(出版が2012年11月)。 それからJava8がリリースされていますが、JUnit4自体は大きな進化はしていませんでした。 昨日、JUnit Lambda Prototypeが公開されました。 まだプロトタイプということで、今後の変更は大きいかと思いますが、いよいよ次世代のJUnitの足音が聞こえてきた感じがします。 今回は、このドキュメントからJUnit Lambdaの概要と方針について速報をお送りしたいと思います。 なお、現在JUnitチームでは、このプロトタイプに対するフィードバックを募集しています。 ここはこうじゃないとかはてブコメントする前にTwitterGitHubでフィードバックを! JUnit Lambd

    【速報】JUnit5 はこうなる!?【プロトタイプ】 | DevelopersIO
  • 引数にOptionalを使うことの是非について

    Koichi Sakata (じゅくちょー) @jyukutyo Javaでメソッドの引数がOptional<Hoge>型のときでも、やっぱり引数のnullチェックいるよね… 2015-11-20 15:50:00

    引数にOptionalを使うことの是非について
    yukisalto
    yukisalto 2015/11/23
    "It was never intended for Optional to be used other ways, such as for optional method arguments", "戻り値用に設計されたもので、引数やフィールドに使うものじゃない"
  • Java Flight RecorderとMission Controlのまとめ - Flicker's Style++

    Java Flight Recorder(以下JFR)はいわゆるJavaプロセスのプロファイラ。 Java Mission Control(以下JMC)はJFRで取得したプロファイリングデータをGUIで見る事ができるビューア。 もともとはJRockitで搭載されていたのが, Java 7 Update 40以降で搭載されるようになった。 詳しくは http://www.infoq.com/jp/news/2013/10/misson-control-flight-recorderHotSpot JVMで動作するMission ControlとFlight Recorder で。 この機能は商用ライセンスのみになっているので、プロダクト用に利用する場合は商用ライセンス契約が必要。 ただし、JVMのオプションを指定することで利用できるようになっているのでお試しで利用することはできるみたい。 使

  • Collection Framework同士の相互変換を行う

    List、Set、Mapインターフェイスを持つ実装クラスには複数のものがあり、それぞれには特徴があります。例えば同じListインターフェイスを持つArrayListとLinkedListを比較すると、LinkedListを使った方が、リスト途中に要素を挿入する操作が高速で行えますが、使用メモリ量はArrayListよりも多くなってしまいます。そのため、すでにデータが格納されているインスタンスをいったん別のCollection Framework型にコピーして変換を行い、変換後のインスタンスに対して操作を行った方が結果として高速に処理できる場合があります。また、すでにデータが格納されているインスタンスをあるメソッドの引数として渡したいが、型が異なるためそのまま渡すことができない場合も、型の変換が必要となります。 Tipsでは型の異なるCollection同士、または型の異なるMap同士の変

    Collection Framework同士の相互変換を行う
    yukisalto
    yukisalto 2014/12/13
    arraylist -> hashset
  • yachinco.net

    yachinco.net Buy this domain. 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • Java Set/HashSetよくある使い方 - Java入門

    特徴 ◇ 重複のないコレクション。重複のあるデータを追加しようとしても、追加されません。重複であるかどうかの判定は、格納要素のequalsメソッドで行います。 ◇ null要素。null要素を許容しますが、禁止する実装もあります。許容する場合、重複要素を持たないため、null 要素を最大 1 つしか持ちません。因みに、Setインタフェース実装の一つHashSetは、null要素を許容します。なので、格納した要素はnullであることもありますので、細心の注意が必要です。 構造 java.util.Collection        [I] ∟java.util.Set            [I]  ∟java.util.SortedSet        [I]  ∟java.util.EnumSet  ∟java.util.HashSet  ∟java.util.LinkedHashSe

    yukisalto
    yukisalto 2014/12/10
    hashset
  • enum(列挙型) - ソフトウェアエンジニアの日常の雑記

    enumとは型付き定数を作る為の機能です。JDK1.5から取り入れられた機能らしく、 ここでは、下記のように記述します。 public enum enumSample { January,February,March,April,May,June,July,August,September,October,November,December } 通常"class"になるところが、"enum"となっています。これで中に、定数としたいものを列挙していきます。サンプルソースでは、月を置いています。 下記ソースでは、その取り出し方や使い方を書いています。 public class enumMain { public static void main(String[] args) { enumSample es = enumSample.April; // enumSample es1 = 4; こ

    enum(列挙型) - ソフトウェアエンジニアの日常の雑記
    yukisalto
    yukisalto 2014/12/10
    enum
  • yachinco.net - このウェブサイトは販売用です! - yachinco リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • java:Javaコーディング標準:命名規則|てんねんのSE備忘録

    てんねんのSE備忘録 てんねんのためのSE備忘録 間違い指摘いただけると助かります また、拍手なんかしていただけると喜びます ●今回は以下のJavaコーディング標準より「3.命名規則」について http://objectclub.jp/community/codingstandard/CodingStd.pdf命名規則とは… 各パッケージ名やクラス名などの名前の付け方 ●パッケージ名 「.」で区切られる ●ファイル名 public クラス名のとき、クラス名.javaとなる ●クラス名 先頭大文字・区切りを大文字 例:public AddValueToIt{} ●例外クラス名 最後にException 例:public AddValueException{} ●インターフェイス名 基はクラスと同じで、先頭大文字・区切りを大文字 →クラスと区別したい場合:先頭に「I」を付ける 例:IAd

  • Javaプログラミング徹底入門--基礎編-- プログラム問題集

    Java e-Learning Systemに戻る 神奈川大学工学部 内田研究室に戻る 【免責】 私たちは細心の注意を払い問題を作成しておりますが、この問題集に含まれる内容の利用による結果については いっさいの責任を負いませんので、よろしくお願いいたします。また、分かりにくい点、誤りなどがありましたら、 ご連絡いただくと助かります。 Copyright (C) 2004 神奈川大学工学部経営工学科 情報システム工学研究室(内田智史研究室)

  • Java - equals()メソッドとhashCode()メソッド

    class Test{ static boolean hikaku(int a, int b){ if(a == b){ return true ; } else{ return false ; } } public static void main(String[] args){ System.out.println(hikaku(3,5)); } }