タグ

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

  • Java 9の先、Java 10/11では最新のハードウェアやOSに最適化したデータのメモリ配置が可能になる。JavaOne 2015

    Java 9の先、Java 10/11では最新のハードウェアやOSに最適化したデータのメモリ配置が可能になる。JavaOne 2015 サンフランシスコで「JavaOne 2015」が開幕。基調講演の後半では、2018年かそれ以降になると見られるJava 10やJava 11に向けて開発中のプロジェクトが紹介されています。 最新のハードウェアに最適化されたデータ構造の実現により、実行速度の向上などが見込まれる「Project Valhalla」と「Project Panama」です。 基盤となるハードウェアやOSに適合していく Java Platform Group Java LanguageアーキテクトBrian Goetz氏。 Java 9の先、Java 10、11を見ていこう。 JavaVMにとってハードウェアの進化は重大なことだ。JavaVMはその基盤となるハードウェアやOSに適合

    Java 9の先、Java 10/11では最新のハードウェアやOSに最適化したデータのメモリ配置が可能になる。JavaOne 2015
  • String非推奨の勧め - minghaiの日記

    Javaプログラムにおいて,クラスを作ることを厭う人たちが多い. そのような人たちの多くはデータを桁数依存にて構造が存在する文字列にして扱うことを好む. しかしJavaにおいてStringを解析することは多くの例外の原因となり,ひいてはシステム障害の原因となることが多い. またStringの演算は重く,Stringはメモリ消費量が多い. この文章では,Java利用システムにおいてStringの濫用を戒め,適切な型の利用と適切なクラス設計を行うことを勧める.*1 Stringの問題 多発する例外 Stringを利用することにより発生する例外には次のものがある. NullPointerException StringIndexOutOfBoundsException IndexOutOfBoundsException IllegalArgumentException UnsupportedEn

    String非推奨の勧め - minghaiの日記
  • Semicolonless Java を実現する話 - Doge log

    Semicolonless Java を実現する話 デンジャラス!ゾンビ!!! こんにちは!ゲームマスターこと 檀 黎斗 です! 2000 年問題でバグスターウィルス見つけたの僕ですから!! からのー ジュリアナー!!トーキョー! こんにちわ、ジョン・ロビンソンこと半ズボンの宇宙人です。 ↓ ↓ ↓ ↓ ↓ ↓ ↓ どうです?なんていうかアメブロっぽい感じっていうの?ムカつくでしょ?? そうでしょう!そうでしょう! ところでみなさん、Java 書いてますか?Generics 理解してますか? 無駄にドリコムのスライドに釣られてませんか? 今回は Semicolonless Java について書いてみたいと思います。 Semicolonless Java Semicolonless Java とはその名の通り、セミコロンを使わずに Java でプログラミングすることです。 ある種のパズル、コ

    Semicolonless Java を実現する話 - Doge log
  • Java勉強部屋

    JavaSE5でのアノテーションの使い方 ここではJavaSE5でのアノテーションの使い方を説明しています。 アノテーションの自作方法、アノテーションの種類、アノテーションの取得方法を説明します。 またアノテーションの簡単な使用例も示します アノテーション作り方 アノテーションは以下のように作成します。 public @interface Marker {} 簡単ですね! アノテーションは値を持つものと持たないものを作成できます。 値を持たないアノテーション(上記)を、マーカーアノテーションとも言ったりします。 値を持つアノテーションの作り方は以下のように行います。 なお{default "nothing"}は、値を指定されなかったときに設定するデフォルト値です。 defaultを付けることで、アノテーション使用時に値の指定を非必須と出来ます。 public @interface Sing

  • Javaヒープサイズのチューニングについて(世代別の場合) | いずれの道にも

    一定期間更新がないため広告を表示しています

    Javaヒープサイズのチューニングについて(世代別の場合) | いずれの道にも
  • Java9のModule機能について

    こんにちは。飲領域で開発統括をしている小林です。 現在、私が担当している領域のプロダクトの中にはサーバーサイド開発において、Java6を使用しているものもあり、Javaのバージョンアップについて、少しずつ議論を進めています。 有力な候補はJava8であるのは間違いないのですが、今年2017年にJava9がリリース予定ということで 今日はJava9で追加される大きな新機能のうちの一つModule機能について、プレリリース版で調べてみたことを書いてみたいと思います。 Module機能とは 従来のJava(8まで)が抱えるclasspathの問題の解決する新機能になります。 Project Jigsawと呼ばれているようです。 言葉で説明する前に、実際の動きを確認した方がわかりやすいと思いますので試していきましょう。 classpathを辿ればライブラリの作者が意図してないAPIまで触れる 外

    Java9のModule機能について
  • ハッシュは本当に遅いのか?いや、遅くない(反語) - プログラマはサイコロを振らない

    この記事を簡潔にまとめた記事「ハッシュは二分木(ツリー)より速い」を掲載しました。(2008-08-04) ハッシュと二分木(ツリー)*1では普通はハッシュの方が速いとされる(ハッシュは挿入、参照、削除の時間計算量がO(1)、二分木はO(log N))。しかし、ハッシュは動作が複雑なため、実際はあまり二分木と速度が変わらないとも言われる。 それをC++で検証した記事を見つけた。結論は、二分木よりハッシュの方が遅いというものだ。 ハッシュは当に速いのか? - S34 http://www.s34.co.jp/cpptechdoc/article/hash/ ハッシュは当に遅いのか - 山に生きる http://d.hatena.ne.jp/pmoky/20050502/1114966341 では、JavaのHashSetとTreeSet(またはHashMapやTreeMap)でも同じこと

    ハッシュは本当に遅いのか?いや、遅くない(反語) - プログラマはサイコロを振らない
  • テストケースを動的に生成してJUnitで実行する | DevelopersIO

    AWSチームに参画して2ヶ月ほど経ちました。ところが、AWSの構築などにはあまり関わらず、ひたすらAWSに関連するプロダクトの開発を行う毎日です。そんな折、ボスより次のようなリクエストをいただきました。 ユーザが参照できない情報について、参照できないことを検証して欲しい ・・・「出来ないことの検証」です。 「出来ることの検証」であれば、その例をテストケースとして記述してテストを実行すれば検証出来ます。しかし、出来ないことを証明することは非常に困難です。ただ、情報は有限なんで、総当たりにでもやればできるかもしれません。 !? システムのインフラは当然のようにAWSです。テストのためのリソースが足りなければ増やせばいいじゃないですか。時間がかかるならば並列化すればいいじゃないですか。テストの時だけ増やせばいいんです。 ならば、総当たりでテストしよう という方針になりました。そして、ブログのネタ

    テストケースを動的に生成してJUnitで実行する | DevelopersIO
  • java.util.stream.Collectorの活用法 - Qiita

    目次 はじめに Collectorを作る Collectorを楽に使う Collectorをまとめる Collectorから生成する はじめに Java 8以降Stream APIはfor文に代わり広く使われる Streamには終端処理がセットになり、その代表がcollectメソッド collectメソッドの引数がjava.util.stream.Collector Collectorを作る // ArrayListに変換するCollector Collector<T, ?, List<T>> toArrayList = Collector.of( ArrayList::new, List::add, (l1, l2) -> { l1.addAll(l2); return l1; }, Characteristics.IDENTITY_FINISH); // 実行 .stream().co

    java.util.stream.Collectorの活用法 - Qiita
  • OutOfMemoryErrorの原因と対応(1) | プログラミング

    Javaアプリケーションサーバーを使っていると、OutOfMemoryErrorに遭遇することが時々ある。最近はサーバーの物理メモリサイズが2GBを超えることもあるのに、やっぱりこのエラーは発生する。 OutOfMemoryErrorは文字通り、メモリが足りないという意味だ。だけど、当然ながら物理メモリを増設する必要があるというわけではない(当にそうするしかない場合もあるけど・・・)。通常はサーバーチューニングやアプリケーションロジックの見直しでこのエラーに対処する。 今回はそのうち、アプリケーション側の原因によって発生したOutOfMemoryErrorをターゲットとし、アプリケーションの見直しにより対処する方法について話したいと思う。 Javaの関連記事: OutOfMemoryErrorの原因と対応(2) OutOfMemoryErrorの原因と対応(3)番リリース後にトラブル発

    OutOfMemoryErrorの原因と対応(1) | プログラミング
  • SnakeYAML で YAML を扱う - Qiita

    import org.yaml.snakeyaml.Yaml; public class SnakeYamlVerificaation { public static void main(final String[] args) { final Person p = new Person(); p.firstName = "John"; p.familyName = "Kay"; p.nationality = "UK"; p.age = 28; final Yaml y = new Yaml(); System.out.println(y.dump(p)); } } Exception in thread "main" org.yaml.snakeyaml.error.YAMLException: No JavaBean properties found in jp.toastkid.v

    SnakeYAML で YAML を扱う - Qiita
  • JJUG CCC 2015 FallでJDIについて話してきた : 人生、気合いと具合 - blog

    2015/11/28(土)、JJUG CCC 2015 Fallが開催されました。今回初めてCfP通ったので、登壇してきました。 ネタがかなりマイナーなこと、タイムテーブル的にきしださん(@kis)の裏番組だったことから、まあせいぜい30人くらいだろ、と高を括っていたら満席近い感じで盛況でした。来場いただいたみなさま、ありがとうございます。 SlidShare:http://www.slideshare.net/fukai_yas/jdi-55600337 デバッガのしくみ(JDI)を学んでみよう from fukai_yas スライドはScalaFX製なので、上記はスクショを並べてあるだけです。元のスライドアプリを動かしてみたい方はこちらからどうぞ。http://homepage2.nifty.com/bugworm/download/ccc2015fall.html全部一個のjarにま

    JJUG CCC 2015 FallでJDIについて話してきた : 人生、気合いと具合 - blog
  • Docker で Java アプリをデプロイする。すごい! | Atlassian Japan 公式ブログ | アトラシアン株式会社

    Vagrant を用いた Java プロビジョニングに関して私が少し前に書いたブログを思い出す方もいらっしゃるかも知れません。今日ご案内するものは、そのライバルであり、同時にそれをしっかりと補完する役割も持っています。 今回は、Docker についてお話し、またそれがいかに素晴しいものであるかの説明もしたいと思います。Docker をご存じない方のために、開発者自身によるイントロダクションを次に紹介します: 「Docker は、高度に移植可能で自己充足的なコンテナーとしてアプリケーションのデプロイメントを自動化するオープンソースのエンジンであり、ハードウェアや言語、フレームワーク、パッケージングシステム、ホスティング・プロバイダーなどには依存しません。」 私が初めて Docker の名を聞いたとき、サイトにあったデモや使用例を見てみたのですが、大いに好奇心をかき立てられました。サービスのデ

    Docker で Java アプリをデプロイする。すごい! | Atlassian Japan 公式ブログ | アトラシアン株式会社
  • AWSにJenkins環境を構築する - Qiita

    はじめに AWSのEC2にJenkins環境を構築する手順です。 Jenkinsプラグインの動作検証などにご利用ください。 構築するJenkins環境 Amazon EC2 OS : Amazon Linux AMI ID : 以下確認済み Amazon Linux 2 AMI 2.0.20180622.1 HVM Amazon Linux AMI 2016.03.1 x86_64 HVM Jenkins version : 2.7 ※ 1.651.2も同じです。 環境構築手順の流れ EC2のインスタンスを作成します。 Jenkinsをインストールします。 起動設定をします。 EC2インスタンスを作成 Amazon LinuxのEC2インスタンスを作成します。ポイントは、以下。 SSHのキーペアの秘密鍵(pemファイル)をクライアントPCに保存しておく。 PuTTYでEC2にアクセスし操作

    AWSにJenkins環境を構築する - Qiita
  • Java 8 でインスタンスを遅延して構築するいくつかの方法 - Humanity

    シングルトンを構築するには、enum を使うのがスレッドセーフだしお手軽です。 なぜなら enum の初期化は1つのスレッドから1度だけ行われると規定されているからです。 また、コンストラクタを private にしてもコンパイルエラーにはならず、何の問題もなく初期化できます。 @ApplicationScoped class EntityManagerProducer { @Produces public EntityManager getEntityManager() { return EntityManagerSingleton.INSTANCE.get(); } private static enum EntityManagerSingleton { INSTANCE; private EntityManager em; private EntityManagerSingleton

    Java 8 でインスタンスを遅延して構築するいくつかの方法 - Humanity
  • Loading...

    Loading...
  • Jacksonの便利な使い方 [初心者向け] - Qiita

    1. 概要 (1)Jacksonとは Java用のJSONパーサーライブラリの1つ JavaオブジェクトとJSONの相互変換ができる 要約すると、 ・JSONをJavaオブジェクトに変換できる ・JavaオブジェクトをJSONに変換できる (2)JSONとは ①JSON概要 「JavaScript Object Notation」の略 テキストフォーマットの一種 シンプルで軽量 null,真偽値,数値,文字列,配列,オブジェクト(連想配列)のデータを、文字列で表現できる 配列とオブジェクト(連想配列)は、ネスト(入れ子)構造で表現する事ができる null と記述すると、null 値を表現できる データは keyとvalue のペア データはカンマで区切られる 波括弧{}の中はオブジェクト 角括弧[]の中は配列 ②JSONサンプル "firstName"と"lastName"がKey "No

    Jacksonの便利な使い方 [初心者向け] - Qiita
  • Java8新機能 ラムダ式とデフォルトメソッドの導入理由 - Yuji Blog

    前々回に次回予告した内容ですw ラムダ式とデフォルトメソッドがどう関係あるのかということですが、まずはラムダ式が追加された経緯から読んでみます。 なぜJavaにラムダ式が追加されたのか Why are lambda expressions being added to Java? ラムダ式(とクロージャ)は最近の様々な言語で人気が出ています。これには様々な理由がありますが、Javaにとって最も差し迫った理由は、コレクションの処理を複数のスレッドで分散処理することです。 現在、ListやSetはCollectionから取得されたIteratorを使ってその要素が一つずつ順番に処理されるのが普通です。 もしそれぞれの要素を並列に処理しようとした場合、その責任を負うのはCollectionではなく、プログラマがそういったコードを書かなくてはいけません。 Java8では、様々な方法で要素を処理する

    Java8新機能 ラムダ式とデフォルトメソッドの導入理由 - Yuji Blog
  • POIを使ってみる/書式の扱い - 日々常々

    いろんな基的なことはすっ飛ばして、書式について書くことにします。バージョンは3.6で。 書式というと、表計算ソフトとしては数値のフォーマットが最重要のはずなのですが、現在日Excelが使われる中では、フォーマットより、フォント(サイズや色も含む)や背景色、罫線なんかの比重が非常に高くなっています。と言う事で、今回のポイントもそこになります。 さて、POIではExcelの「セルの書式設定」で扱える項目は、殆どがCellStyleで表現されます。そしてこのCellStyleは、Cellの持ち物ではなくWorkbookの持ち物です。これはPOIだからこそという話ではなく、作成されるファイルを見る限り、MicrosoftExcelも内部ではそんな感じで扱っているようです。Cellに持つほうが自然な気はしますし、実際の操作上でもあたかもCellが持っている情報のように扱われます。Workboo

    POIを使ってみる/書式の扱い - 日々常々
  • Stream APIの始め方

    この記事は、Java Advent Calendar 2013の2日目として書かれたものです。 Java SE 8では、Stream APIという新しいAPIが導入されます。Stream APIは、何らかの要素の集まり(配列やコレクション、あるいはテキストファイルを読み取るときの一行一行など)に対するさまざまな操作を抽象化した、とても便利なAPIです。 Stream APIは、Java SE 8の新機能としても特に注目されているものの1つでしょう。類似の仕組みがC#やScalaRubyなど他の言語でも広がっており、Javaにもついに、と待ち望んでいる方も多いでしょう。 ところが、Streamインターフェースが持つ様々な便利メソッド(filter、map、flatMap、collectなど)は、あちこちでよく紹介される一方で、次の2点は、あまり注目されていないように思いました(ぼくが見た限