タグ

ブックマーク / yujisoftware.hatenablog.com (4)

  • Java9 でも String クラスがリファクタリングされていました (JEP 254: Compact Strings 編) - 地平線に行く

    日、ついに JavaSE 9 がリリースされました! そこで、かねてから噂になっていた JEP 254: Compact Strings がどのように実装されているのか調べてみました。 Compact Strings の概要 これまで String クラスや StringBuilder クラスなどの内部では、文字列を UTF-16 でエンコードして char 配列で保持していました。 つまり、一文字あたり*1常に char ひとつ = 2バイト分のメモリを使っていました。 しかし、これだと 1 バイトで表せる LATIN1(ASCII コード + ラテン文字)の文字列の場合、その半分が 0x00 になるという無駄がありました。 そこで、内部表現を変更し、文字列が LATIN1 のみで構成されるときは 1 文字を 1 バイトで保持するようにリファクタリングされました。 ちなみに、LATIN

    Java9 でも String クラスがリファクタリングされていました (JEP 254: Compact Strings 編) - 地平線に行く
    peketamin
    peketamin 2017/09/23
  • JJUG CCC 2015 Spring ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く - 地平線に行く

    JJUG CCC 2015 Spring に行ってきました! 今回、印象的だったのが「Java 8、私たちはこういう風に使っています!」という話が多数出てきたこと。 去年の JJUG CCC Spring だとまだ言語仕様の紹介程度だったので、この一年で一気に広がったんだなぁというのを感じました。 もちろん、JJUG で発表するような会社だからというのもあるかもしれませんが(笑) 毎回のことですが、残念ながら時間がかぶってしまって参加できなかったセッションもあったので、あとで読むために現時点で発表者の方が公開されている資料一覧をまとめしました。*1 (あとで JJUG CCC 2015 Spring のページにもリンクが載ると思うんですが、とりあえず自分の方で調べました) Room A+B+C+D JJUG CCC 2015 Spring 総会 K-1 基調講演1 Java 20年史 /

    JJUG CCC 2015 Spring ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く - 地平線に行く
  • JJUG CCC 2014 Fall ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く

    JJUG CCC 2014 Fall に行ってきました! 今回は、前回とちょっと変わって、技術的な話だけでなくビジネス的な話もあってすごい面白かったです! (JJUG CCC なのに、Javaの話はあんまりないですよーw っていうお断りをたびたび聞きましたw) ちょっと意外でしたが、こういうビジネスを絡めた話があるのが、Java らしいなって思いました。 Java を物事を前に進めていくための「道具」として使う、という風にみている方も多いのかな、と。 今回も、残念ながら時間がかぶってしまって参加できなかったセッションもあったので、あとで読むために現時点で発表者の方が公開されている資料一覧をまとめしました。*1 (あとで JJUG CCC 2014 Fall のページにもリンクが載ると思うんですが、とりあえず自分の方で調べました) 基調講演 K-1 これからのJavaエンジニアの生きる道 /

    JJUG CCC 2014 Fall ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く
  • 「null」をフラグとして使うのは、やめた方がいい - 地平線に行く

    null をフラグとして使うのは、やめた方がいいと思います。 null は、ただ変数が初期化されていないことを表しているだけです。 この意味以外で、null を使わない方がいいと思います。 null をフラグとして使う 「null をフラグとして使う」というのは、「null なら xxxx」というように、null が何らかの意味を持って使われていることを指します。 例えば、下記のコードでは「null はゲストユーザを指すフラグ」として使われています。 /** * ユーザ用のヘッダを作る処理 */ public String createHeader(User user){ (…中略…) String name; if(user != null){ name = user.getName(); }else{ name = "Guest"; // null ならゲストユーザ } 問題点 これの

    「null」をフラグとして使うのは、やめた方がいい - 地平線に行く
    peketamin
    peketamin 2013/04/15
  • 1