タグ

javaに関するaritekuのブックマーク (135)

  • あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(後編) - Taste of Tech Topics

    こんにちは。 アキバです。 日3/18、ついに、Java8が正式リリースされますね! もうダウンロードされましたか?ってまだですかね?私はまだです(だって公開前にエントリ書いてるんだもんね) 2014/03/19追記:Oracleのページが更新されました!→こちら さて、前回に続いて、Java8で追加された地味で便利なAPIを紹介していきます。 今回は、みんな大好きMapとConcurrent、あとちょびっとComparatorです。 3. Map操作編 (1) Map#getOrDefault() これまでは、Mapから値を取得してnullだったらデフォルト値を使用する、みたいなコードを以下のように書いていたと思います。 Map<String, String> map; // 何らかのMap String value = map.get("key"); if (value == nul

    あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(後編) - Taste of Tech Topics
    ariteku
    ariteku 2014/11/27
  • 楽天のアーキテクトが説く、J2EEからJava EEへの移行を“今すぐ"始めるべき理由 - builder by ZDNet Japan

    バージョン5以降、開発コンセプトを大きく転換したJava EE。世界的には、この新世代のJava EEがエンタープライズJava開発のメインストリームを成している。だが国内を見渡してみると、まだ多くの企業システムが旧世代のJava EE(J2EE)で稼働している。日オラクルが2014年5月に開催した「Java Day Tokyo 2014」では、旧来のJ2EEを使い続ける企業や開発者に対して、その弊害と最新のJava EEへの移行メリットを説明するセッションが実施された。講師を務めたのは、楽天でアーキテクトとして活躍する岩崎浩文氏(DU Financial Service Department Group Manager)である。 岩崎氏はこれまで15年間以上にわたり、さまざまな業種の大規模Java EEシステムの企画/開発に携わってきた。その経験から、特にバージョン6以降のJava E

    ariteku
    ariteku 2014/09/22
  • Javaトラブルに備えよう #jjug_ccc #ccc_h2

    GraalVMJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao

    Javaトラブルに備えよう #jjug_ccc #ccc_h2
  • JAX-RS(Jersey)を使ってみる - azuki note

    JaveEE6に対応しているGlassfish 3.0を使う方が手っ取り早いとは思いますが、、サーブレットコンテナとしてTomcat6.0を使った環境でJAX-RSを使ってみます。 JAX-RSの実装としては、JavaによるRESTfulシステム構築では、Jersey, Apache CXF, JBoss RESTEasyなんかが紹介されています。CXFはJAX-WSも含んでいて大きそうなので、今回は参照実装であるJersey 1.5を使ってみます。前提としてMavenを使ったWebアプリケーションのプロジェクトがあるとします。 pom.xmlでの依存ライブラリの追加 pom.xmlにrepositoryとdepenencyを追加します。jersey-jsonはJSONを使用する場合に追加します。Jacksonが使われるようです。 <repositories> <!-- 省略 --> <r

    JAX-RS(Jersey)を使ってみる - azuki note
    ariteku
    ariteku 2014/05/21
  • あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(前編) - Taste of Tech Topics

    こんにちは! アキバです。 ...T3ブログは初登場かもしれません。ハジメマシテ。 以後お見知りおきを。 いよいよ、2014年3月、Java8が正式公開されますね。 なんと言っても、Java8の注目機能はラムダ式ですので、ラムダ式や型推論に関する記事は多いです。 世の中で「Java8」と検索すると、皆さんいろいろと記事を書かれているので、おおよその事はこれで分かっちゃうような気がします。 が、 実は地味に便利なAPIが追加されていたりすることを最近知りました。 これはあまり触れられていないぞ、と。 というわけで、このエントリでは、あまり日語で情報の無い、しかし地味に便利なAPIに実際に触れてみます。 大事なところなので2回強調して書いてみました。 今回は、前編として4つ紹介します。 ※APIの紹介と言いつつ、コードにはラムダ式を使ったコードが普通に出てるので、ご了承ください。 (むしろ、

    あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(前編) - Taste of Tech Topics
    ariteku
    ariteku 2014/03/13
  • 遅延評価いうなキャンペーンとかどうか - ぐるぐる~

    遅延評価については以前も書いてるんですが、そのときは結論なしでした。 が、ちょっと考えるところがあって、言語を Java に絞って自分の考えを明確にしておきます。 結論から書きましょう。 「Java(とC#) で遅延評価って書いてあるものは遅延評価ではない」です。 Java における「評価」とは まず一番最初に、Java で「評価」って言うと、どういうことを指すのかを確認しておきます。 言語仕様の該当部分を要約すると、こんな感じでしょうか。 プログラム中の式を評価すると、結果は 変数 値 無し のうちのどれかとなる。 評価した結果が値になる、というのはいいでしょう。それ以外の 2 つを軽く説明します。 評価の結果が「変数」とは? コメント欄で指摘が入っています。 代入の結果は変数ではありません(15.26)。 結果が変数となるのは、ローカル変数、現在のオブジェクトやクラスの変数、フィールド

    ariteku
    ariteku 2013/01/02
  • Java: PermGen はヒープの外 - toyfish.blog

    今頃知った。PermGen も普通にヒープ内だと思ってました。 上記の新公式サイトで JDK 6u21 のリリースを知ってさっそく入れてみたところ、6u20 では普通に動いていた Eclipse 3.4 が、起動して少し操作しているとメモリ不足を訴えるようになった。一瞬「今日もー いつーもの ヒープ ぶそく」と思ってしまったけど、ログファイルを見ると、よく見るのとはちょっとだけメッセージが違っていた。くっ、ハズしたか……! OutOfMemoryError: PermGen space なに? PermGen 限定なの? あぁなんかそんなコマンドラインオプションがあったような。でも覚えてないな。覚えてない故の過ち。訳すと OutOfMemoryError というわけか。なるほどなるほどなるほど。 PermGen 領域のサイズを変更するには、java コマンドのオプションで HotSpot

    Java: PermGen はヒープの外 - toyfish.blog
  • 可変長引数を持つメソッドに付与する、@SafeVarargsアノテーション - CLOVER🍀

    可変長引数を持つメソッドをコンパイルした際の警告を抑制する、@SafeVarargsアノテーションというものがあるということを、前のJDK 7の言語仕様変更のエントリを書いている時に知りました。 警告されたものは、場合によっては@SuppressWarnings付けるくらいだと思っていたのですが、そんなのできたんですね。 @SafeVarargsアノテーションの宣言は、以下の通り。 @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.CONSTRUCTOR, ElementType.METHOD}) public @interface SafeVarargs {} コンストラクタ、またはメソッドに付与することができるアノテーションみたいですね。 ここで、こんなソースを用意して import java.ut

    可変長引数を持つメソッドに付与する、@SafeVarargsアノテーション - CLOVER🍀
    ariteku
    ariteku 2012/08/28
  • java.lang.Stringのメソッドをむりやり書き換える - 418 | I'm a teapot

    このブログエントリーはご覧のスポンサーの提供でお送りします。 変態アドベントカレンダー in Summer すみません。。自分の担当の日をすっかり忘れて放置してました。 というわけで、変態的なネタを考えてたらJava7から入ったinvoke dynamicを使ったmetaclass的実装を以前見た気がするのを思い出しました。 A cookbook for JSR 292 というわけで早速トライ! Mainクラスは以下のようにして、toUpperCaseを途中からtoLowerCaseにしてみたよ! これでばっちり色んな変態ないたずらができるね! package metaclass; import java.lang.invoke.MethodHandles; import metaclass.MetaClass; import static java.lang.invoke.MethodT

    ariteku
    ariteku 2012/07/22
  • Spark Framework tutorials - Spark Java tutorials

    SparkTutorials has moved to the official Spark webpage at http://sparkjava.com/tutorials/ I have stopped writing tutorials for Spark though, focusing on my new Java/Kotlin web framework Javalin

  • 引数違いのClass#forNameの挙動を確認する - CLOVER🍀

    最近、仕事でのトラブルからクラスローダー周りについて調べたことがあり、何気なく使っていたClass#forNameとかClassLoader#loadClassの挙動について1度確認したくなりました。 そういえば、Class#forNameってforName(String)とforName(String, boolean, ClassLoader)がありますよね? というわけで、簡単な例で確認してみましょう。用意したのは、以下のようなサンプルコード。 ロードされるクラス(C.java) package test; public class C { static { System.out.println("This is C StaticInitializer Block"); } { System.out.println("This is C Initializer Block"); }

    引数違いのClass#forNameの挙動を確認する - CLOVER🍀
    ariteku
    ariteku 2012/05/24
  • 「Java SE 6完全攻略」第23回 JTableクラスでのソーティング

    JTableクラスはJava SEのバージョンが上がるたびに機能拡張されています。例えば,J2SE 5.0では印刷のサポート,不連続セルの選択などの機能拡張が行われています。 Java SE 6でも以下の2点の機能が拡張されました。 カラムのセルのソーティング カラムのセルのフィルタリング そこで,今週はソーティング,来週はフィルタリングについて解説します。 J2SE 5.0でも,がんばればJTableでソーティングをすることは可能でした。例えば,Java Swing Hacks注のHack #22では「JTableにソートを実行させる」と題して,ソートを扱っています。 とはいうものの,デフォルトでソーティングができるのは大歓迎です。しかも,単純なソートであれば,あっという間です。 サンプルのソースコード TableSortingSample1.java すべてのカラムをソートするには,以

    「Java SE 6完全攻略」第23回 JTableクラスでのソーティング
    ariteku
    ariteku 2012/05/19
  • Servlet3.0でのアノテーションの使い方 - kensir0uのしくみ

    JSR315:Servlet3.0のPublic Reviewがでています。 Servlet3.0ではプラガブルWeb.xmlや Annotational Servlet マッピングが導入されます。 そこでアノテーションでのServletの設定方法を調べてみました。 Servlet3.0で導入されるアノテーションは以下の4つの アノテーションです。 import javax.servlet.annotation.WebServlet; //1. import javax.servlet.annotation.ServletFilter; //2. import javax.servlet.annotation.WebServletContextListener; //3. import javax.servlet.annotation.InitParam; //4. 1.サーブレットに付加

    Servlet3.0でのアノテーションの使い方 - kensir0uのしくみ
  • http://books.shoeisha.co.jp/book/b92647.html

    ariteku
    ariteku 2012/02/25
  • Googleカレンダーをjavaで操作 - Same Log

    引っ越し前のblogにも載せてましたが、諸事情によりこちらにも載せておきます。 最近、マッシュアップとかいうやつに興味を持って 少し勉強しようとしてます。 手始めに、Google API を使用してみたいと思ってます。 準備 Google カレンダーを作成 Google カレンダーを持ってない人は作成してください。 Google API(jarファイル)を取得 http://code.google.com/apis/gdata/client-java.html から Download the Java client library.」をクリックして「gdata-xxx.zip」を取得 プログラム作成 概要 Google APIは、gdataというAtom 1.0(またはRSS 2.0)に準じたフィードデータを使用してHTTP通信でやり取りするらしいです。 イベントの追加、変更、削除を行うア

    Googleカレンダーをjavaで操作 - Same Log
  • 403 Forbidden

    \閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう

    ariteku
    ariteku 2011/12/26
  • shin3tky blog: Spring 2.5 + Hibernate 3.3 連携設定

    2009年6月26日 Spring 2.5 + Hibernate 3.3 連携設定 Struts 2 + Spring 2 + iBATIS 連携設定 に Hibernate の検索結果から来ている人が見られるので、Spring 2 + Hibernate 3.3 連携設定も備忘録として載せておきます。 ライブラリの所在 Spring 2.5 http://www.springsource.org/ (download) Hibernate 3.3 https://www.hibernate.org/ Apache Commons http://commons.apache.org/ Apache log4j http://logging.apache.org/log4j/ SLF4J http://www.slf4j.org/ MySQL Connector/J http://dev.

    ariteku
    ariteku 2011/12/25
  • Java 的オブジェクト指向を 90 分で理解する - 偏見プログラマの語り!

    1. 分からない。いくら説明を読んでも分からない。 ● 1.1. 未だに分からない Java 的オブジェクト指向 今日び Java 的オブジェクト指向の説明なんて星の数ほどあるような気がしますが、それでもなお「これで分かった!」という説明に辿りつけない不運な人がいるようですね。まぁこんだけ色々な説明が溢れていたら逆にどれを読めば良いのかワケ分からなくなってしまうのかもしれません。じっくり読んでも理解できなかったのであれば、きっとその説明と読者の相性が悪かったんでしょう。… というわけで、僕も Java 的オブジェクト指向が全っっっっ然これっぽっちも分からないという人に向けて説明する記事を書こうと思います。そうでない人には無価値な記事ですのでブラウザの「戻る」をクリックしましょう。 ● 1.2. 「オブジェクト指向」という名の南の島がある オブジェクト指向にはいくつもの専門用語があって、学習

    Java 的オブジェクト指向を 90 分で理解する - 偏見プログラマの語り!
    ariteku
    ariteku 2011/12/25
  • JAVAヒープサイズ・GCチューニングのまとめ

    システム開発に役立ちそうな情報を日々メモしています。世の中の開発現場が少しでも平和になることを祈ります。 ■ 前提条件 ----------------------------------------------- JVMは、Sun Java (JDK 1.5-1.6)を想定。 ■ 目標 ----------------------------------------------- ・マイナーGC、フル GCがそれぞれ頻発しないこと。 ・フル GCの実行時間が1秒未満であること。 ・マイナーGCの実行時間が0.1秒未満であること。 ・連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 ・理想的な状態は、上記に加えて、フル GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジ

  • myBatisってものをいじることになった - miyohide's blog

    会社のプロジェクトでmyBatisってものをいじることになった。とりあえず、サンプルを作ってみることにした。 英語は読めないので(って、威張るな)、日語の資料を探していたらようやく発見。id:absj31のiBATIS2/iBATIS3/mybatis初期環境構築 - Shinya’s Daily Reportって記事。これを参考に色々やってみる。 DBはお手軽なderby。必要な外部ライブラリはmybatis-3.0.2.jar、derby.jar、derbyclient.jar。derby.jarは不要かも。適当に落としてきたらいいかと。 テーブルは簡単に CREATE TABLE APP.automobiles ( id INT NOT NULL, make VARCHAR(255) NOT NULL, model VARCHAR(255) NOT NULL, model_year

    myBatisってものをいじることになった - miyohide's blog
    ariteku
    ariteku 2011/12/22