タグ

Javaに関するamano41のブックマーク (79)

  • Sign in - Google Accounts

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

    amano41
    amano41 2015/09/16
  • java.util.function以下の関数インターフェース使い方メモ - Qiita

    package java8sample; import java.util.function.Function; public class Java8Sample { public static void main(String[] args) { Function<String, String> wrapDoubleQuotation = str -> "\"" + str + "\""; Function<String, String> wrapSingleQuotation = str -> "'" + str + "'"; Function<String, String> wrapDoubleAndSingleQuotation = wrapDoubleQuotation.compose(wrapSingleQuotation); String result = wrapDoubl

    java.util.function以下の関数インターフェース使い方メモ - Qiita
    amano41
    amano41 2015/09/03
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    amano41
    amano41 2015/06/18
  • Effective Java 読書会 14 日目 「シリアライズ!シリアライズ!」 - IT戦記

    お前をシリアルにしてやろうか! this photo is licensed by Horia Varlan はじめに いよいよ最後のページになりました!!! はりきっていきましょう!! 今回の範囲 279 ページ 〜 305 ページ 前回はこちら Effective Java 読書会 13 日目 「Java の例外めんどくさい」 - IT戦記 シリアライズって何? シリアライズとは、構造を持ったデータ(Java では、オブジェクトやプリミティブ)を、バイト列にすること。 たとえば、 オブジェクトをファイルに保存したい! 通信先にこのオブジェクトを送りたい! (具体的には、)ゲームデータをセーブしたい!(とか) などなどの用途で使えます。 Java のシリアライズ ObjectOutputStream にオブジェクトを書き込むと、 ObjectOutputStream がラップしているオブ

    Effective Java 読書会 14 日目 「シリアライズ!シリアライズ!」 - IT戦記
    amano41
    amano41 2015/06/18
  • Javaのクラスファイルをjavapとバイナリエディタで読む | DevelopersIO

    はじめに こんにちは、虎塚です。 この記事はJava Advent Calendar 2014 の22日目の記事です。昨日はすふぃあ (@empressia) さんの「JavaEEなWebアプリケーションを作ろうとしたときのお話: すふぃあの記憶」でした。 この記事では、「Javaクラスファイルの読み方・増補版」と題しまして、12月20日(土)に開催したJavaクラスファイル入門という勉強会でお話しした内容の補足をお届けします。なお、勉強会のターゲットは、 Javaプログラムは書いたことがあるけど、JVMのことは全然知らない Javaクラスファイルのバイナリを見たことがない といった初心者の方や新人さんでした。なので、Javaに興味さえあれば、どなたでもお読みいただける内容かと思います。 JVM仕様とは JavaとJVM Javaプログラム(.java)をコンパイルすると、中間コードと呼ば

    Javaのクラスファイルをjavapとバイナリエディタで読む | DevelopersIO
    amano41
    amano41 2015/05/27
  • Javaであまりしないコーディング - 日々常々

    Java Advent Calendar 2014 - Qiita の9日目です。9日ったら9日です。 なんか難しいエントリが多い中ですが、空気を読まずに軽めでいきます。 Javaでは色々なコードの書き方ができるけど、実際あまりやらないよなーって思うコーディングについて、やらない理由を無理矢理書いてみた。 決して「やってはいけないコーディング」と言う意味ではないです。単に「私はあまりしない」程度で、一般的な(?)業務開発でもあまり見ない、くらいの位置付け。理解した上でやる分には全く問題無いですし、そう言うもんだと思って使っても良いとは思います。 複数変数を同時に宣言する int i, j = 2, k; 同じ型の変数(フィールドでもローカル変数でも)は同じ文で宣言できます。 けど、あまり使ってるのは見ません。 同じ型でしか使えないし、フィールドだとJavaDocコメント書き辛いし、初期化式

    Javaであまりしないコーディング - 日々常々
    amano41
    amano41 2015/05/27
  • Javaで書くBuilderパターンのパターン - Qiita

    個人的にBuilderパターンはオブジェクトの生成制御や、ものによっては可読性が高くて好きなパターンなんですが、その実装には用途によっていくつかパターンがあるので、まとめてみました。 生成するオブジェクトの条件 クラス名:People フィールド:String name(必須), Integer age(必須), String hobby(オプション) 必須要素はnullを禁止 PeopleクラスはStringを返り値とするhelloメソッドを持つ 今回はBuilderパターンの比較のため、パターン上必要でない限りgetterなどのメソッドは省略 Native Builder Builderパターンではなく、ただのコンストラクタ。Builderパターンを使いたくなるのはこれをやりたくないからだけど、比較のために記載。 class People { private String name;

    Javaで書くBuilderパターンのパターン - Qiita
    amano41
    amano41 2015/05/18
  • Cygwin上でJavaコマンドを快適に使用する環境 プロジェクト日本語トップページ - OSDN

    Cygwin上でWindows用のJava(JDK)を使用すると、パス表記形式の違いで非常に使い勝手が悪いです。そこで、パス表記形式の違いなどを吸収し、Cygwinのコマンド環境で快適にJavaを使うためのちょっとした仕組みを作成します。 システム要件 Windows OS上にCygwinおよびWindowsJava開発キット(JDK)をインストールした環境で使用します。 Cygwinは1.7.6-1には致命的な障害があるので、それ以外のバージョンを使用して下さい。 インストール インストール手順* ダウンロードしたjava_wrapperファイルをCygwin上の/usr/local/bin下に置きます。 * java_wrapperに実行権限を付与します。 * カレントディレクトリを/usr/local/binに移動し、java_wrapper cr... インストール方法を見る

    Cygwin上でJavaコマンドを快適に使用する環境 プロジェクト日本語トップページ - OSDN
  • CygwinでJavaを快適に使う

    CygwinでJavaを快適に使う 2004.4.25よりアクセス WindowsとUNIXでは、コマンドライン環境におけるさまざまな違いがあります。Cygwin環境では、基的にUNIXと同じです。Cygwin環境においてCygwinプログラムだけを使用している限りは問題はありません。しかしながら、Cygwin環境からWindows用プログラムを使用する場合、Windows用プログラムに対してコマンドラインオプションを渡す場合や環境変数の指定内容はWindowsの流儀を使用する必要があります。Cygwin環境においてWindows流儀のコマンドラインオプション記述や環境変数設定をする場合の注意点と対処方法について整理します。 目次 java_wrapper公開 Cygwin環境とWindows環境のコマンドライン流儀 Java系コマンドのコマンドラインオプションの指定 ディレクトリ区切り

  • Gof デザインパターンの勉強メモ記事とブックマークまとめ

    はじめに# 今年の目標は, デザインパターンの攻略! ということで, この一年でまとめた情報や書いた記事のブックマークページです. 過去記事は, RubyJava が入り混じっていたり, 気まぐれでどんどん更新していったので, とてもまとまりがないとおもう. 強引に一つのページにまとめてみた感じ… (*‘д`*) 一年の振り返り# Rubyist になる# 去年の 12 月から Rubyist になった. Rubyist になった日 | Futurismo そして, オブジェクト指向開発に触れることになった. 楽しかったので, 何も考えずにデザインパターンを使ってみたりした. しかし, これはのちに後悔することになった. 保守性よりもスピードを重視するべきだったのに, デザインパターンをつかって, 仕事が遅れてしまったという悲しい思い出. POSA を学ぶ# coursera で P

    Gof デザインパターンの勉強メモ記事とブックマークまとめ
    amano41
    amano41 2015/05/13
  • あなたの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
    amano41
    amano41 2015/04/30
  • あなたの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
    amano41
    amano41 2015/04/30
  • JVMベースのコマンドラインツールをHomebrewで配布する - GeekFactory

    JavaVMで動くコマンドラインツールをHomebrewで配布する方法を説明します.JavaScala,Groovyなどで書かれたツールをMacユーザに配布する際に役立ちます. Homebrewとは Mac OS Xで使えるパッケージ管理システムの一つにHomebrewがあります. Homebrewを使うと,ユーザは brew コマンドを実行するだけで新しいパッケージをインストールできます.また,デベロッパーはわざわざインストーラを用意する必要がなくなり,パッケージ体とメタデータ(Formula)を公開するだけでソフトウェアを提供できるようになります. 例えば,OS Xでopensslを使いたい場合は,下記のコマンドを実行するだけでパッケージのダウンロードやビルドを行ってくれます. brew install openssl また,開発中の最新版を使いたい場合は,--HEAD引数を渡すこ

    JVMベースのコマンドラインツールをHomebrewで配布する - GeekFactory
  • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、

    恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
    amano41
    amano41 2015/02/03
  • Program Island

    Program Island へようこそ! このサイトでは、プログラムに関する様々な情報を載せています。 Android (2010/12/25) Limy Eclipse Plugin (2012/02/25) Check! Ruby on Rails (2009/04/01) Limyweb (2010/01/27) Limy Articles (2009/02/14) Eclipse簡易マニュアル (2008/12/23) / Eclipseプラグイン開発 (2008/12/23) Java (2012/03/10) New! Tomcat (2007/06/29) Linux (2010/04/14) Git (2012/02/26) New! / Subversion (2007/01/11) J2EE , JBoss (2007/01/13) / JBoss + EJB3 (2

  • SMC: The State Machine Compiler

    SMC - A state machine compiler for automatically generating State patterns based on a state machine description into a target object-oriented language.

  • https://www.ishikawa-lab.com/montecarlo/4shou.html

  • Java8 で java.lang.Object#hashCode() の生成アルゴリズムが変更されていました。 - 地平線に行く

    java.lang.Object#hashCode()の性質という記事で書いたのですが、Java の Object#hashCode() の値はただの乱数となっています。 この乱数のアルゴリズムが、Java SE 8 で「線形合同法」から「XORシフト方式」に変更になっていました。 といっても、変更されたのはたった1文字。 VMオプションのデフォルト設定が -XX:hashCode=0 から -XX:hashCode=5 に変わっただけでした。 hotspot-rt Udiff hotspot/src/share/vm/runtime/globals.hpp どういうこと? もともと、Java の以前の実装*1 *2から、Object#hashCode() のアルゴリズムはVMオプション -XX:hashCode=? で選べるようになっていました。 ですが、デフォルトは長いこと 0(=線形

    Java8 で java.lang.Object#hashCode() の生成アルゴリズムが変更されていました。 - 地平線に行く
    amano41
    amano41 2014/09/23
  • Javaのメソッド名によく使われる単語・接頭辞 - 地平線に行く

    Javaの標準APIjava.*, javax.*)に含まれるメソッド名を分析して、よく使われている単語や接頭辞を抜き出してみました。 これで、もうメソッド名を決めるのに迷わない!はず…。 接頭辞 順位 単語 意味 代表例 出現回数 1 get 取得する List#get() 21198 2 set 設定する List#set() 8197 3 is 〜かどうか List#isEmpty() 4373 4 remove 取り除く List#remove() 2403 5 add 追加する List#add() 2213 6 create 作成する URI#create() 853 7 paint 描画する Component#paint() 731 8 update 更新する Component#update() 573 9 contains 含んでいるか List#contains()

    Javaのメソッド名によく使われる単語・接頭辞 - 地平線に行く
    amano41
    amano41 2014/09/23
  • 内部クラスの使いどころ

    話のネタを仕入れたはいいものの、使いどころに困ってはいませんか? バーでの会話で話題に絡めた小洒落た話を咄嗟にひろげられると粋ですよね。 内部クラスの階層の話ではクラスにも階層があるね、というお話でした。 今回はそのエンクロージング内部クラスの使いどころのお話です。 プログラミングというのは美術などと同じく、画材を知ったからと言って即、作品になるわけではありません。 新しい道具を得たからと言って、それを使ってどう新しい創作をするかというのは難しい問題です。 エンクロージング内部クラスは親のインスタンスへアクセスを許可された特別なクラスですが、 では、どういったときにこの特権を使えばいいのでしょうか? 今回はそのサンプルを挙げてみようと思います。 内部クラスのメリットは、外部クラスと秘密のやり取りができるというところです。 外部クラスはそのさらに外に情報を公開することなく、しかし、内部クラス

    amano41
    amano41 2014/09/19