タグ

Javaに関するTakahashiMasakiのブックマーク (106)

  • Java8の新機能を徹底解説!(ラムダ式、Streamなど) | 侍エンジニアブログ

    こんにちは!フリーランスのオータケです。 Java8が最初にリリースされてからすでに3年以上が経ちました。 しかし、初心者の方々から 「新機能ってどう使えばいいのか全然わからない」 「どんな場面で使えばいいのかわからない」 といったお困りの声をお聞きします。 そこで、今回は初心者向けにJava8の新機能をわかりやすく解説します! この記事では、Java8の新機能について ・Javaとは ・Java8の新機能 ・Java8の環境構築 という基的な内容から ・ラムダ式 ・Stream API ・Optional ・日付時刻API ・interface ・アノテーション など応用的な内容についても解説していきます。 今回はJava8の新機能について、使い方をわかりやすく解説します! なお、Javaの記事については、こちらにまとめています。 1 Javaとは Java歴史 1990年代にSun

    Java8の新機能を徹底解説!(ラムダ式、Streamなど) | 侍エンジニアブログ
  • なぜJavaはC#と比べて駄目なのか - 負け犬プログラマーの歩み

    Javaは決して悪い言語ではない。 C++からポインターの「*」やアロー演算子の「->」とかスコープ演算子の「::」とか気持ち悪いものを廃止・整理して、比較的読み易いシンタックスになったと思う。1995年当時から見れば、十分に出来の良い言語だったと思われる。 でも後発のC#でコーディングする機会が増えてきたら、如何にJavaが駄目(というか保守的な)言語かってのもまた同時に痛感してしまう。2005年リリースの2.0の時点で既にJavaをほぼ完全に上回っていると思うのに、その後ラムダ式・LINQ・拡張メソッドなど数多くの新機能が加わった現行C#とは最早比べるまでもないと思う。 以下は根拠。 ■注(2014年2月18日) このエントリーは殴り書きに等しい状態で放置してましたが、最近は思わぬところで読まれ始めたりしたので、ちょっと加筆修正しました。 ①そもそも純粋なオブジェクト指向言語ではない。

    なぜJavaはC#と比べて駄目なのか - 負け犬プログラマーの歩み
    TakahashiMasaki
    TakahashiMasaki 2014/03/06
    (総称の配列が作れないのがmjクソやのう
  • 可変引数 - メソッドの利用 - Java入門

    JavaではJ2SE5.0のバージョンから新しく可変個の引数を持つメソッドを定義できるようになりました。書式は次の通りです。 public static void main(String args[]){ メソッド名(値1); メソッド名(値1, 値2); メソッド名(値1, 値2, 値3); } 修飾子 戻り値の型 メソッド名(データ型... 変数名){ /* メソッド内で実行する処理 */ } ※メソッド定義の引数のところに書かれている「...」は省略を意味するものではなくドット「.」を3つ並べて記述します。 このメソッドの場合、メソッドを呼び出す時の引数を任意の数だけ記述することができるようになります。メソッド側では引数の箇所に記述した変数名を持つ配列を受け取ったように処理が行われます。 例えば次のように使用します。 public static void main(String ar

  • developerHobbies: Java 拡張for

  • JavaではじめるUML ( 第 3 回 ) | オブジェクトの広場

    今回は、構成要素がいかに振る舞うのかを表現するために使用される 「相互作用図」として、「シーケンス図」、「コラボレーション図」を取り上げます。 ケース・スタディのテーマであるスケージュラ・ソフトのソース・コードを基に、 シーケンス図とコラボレーション図の作成に挑戦してみましょう。 まず初めに、前回の内容を簡単におさらいしましょう。 前回はシステムの論理的な ( 静的な ) 構造をきちんと把握するために、 既存のソース・コードを基に、クラス図とパッケージ図を書き上げました。 こうやって図に書き出すことにより各クラス間の関係が一目瞭然になり、 いちいちソース・コードを追いかけるよりも、 このように図による表現のほうが理解し易いことがわかりました。 スケジューラの論理構造が把握できた Chen 君は、 次にプログラムの振る舞い ( 機能 ) がどう実現されているかを調べてみることにしました。

  • - Java ソースと見るUML入門

    章では、UMLのダイアグラム(図)の基的な描き方を取り上げます。 Java言語入門レベルを卒業した方が対象ということなので、 Java言語を題材にUMLを学んで行きましょう。 厳密なものではありませんが、ソースコード付きの例を示すことで、 この章を参考にしながら図を描けることを目的としています。 ソースコードと言いましても、文法的に難しいものは出しませんので、 Java言語に対する知識がない方でも、オブジェクト指向言語に対する知識をお持ちであれば 問題なく理解できると思います。一般に取り上げられる順序とは多少異なるかもしれませんが、 今回は以下の順で図を扱います。 クラス図(パッケージ図を含む) オブジェクト図 シーケンス図 コラボレーション図 状態図 ユースケース図 アクティビティ図 コンポーネント図 配置図 それでは始めましょう。

  • 3-6. synchronized とレースコンディション

    <body> </body>

  • Java 入門 | インタフェース

    Revised: Feb./09th/2003: Since: Dec./31st/2001 Java インタフェースとは何か 内容に抽象メソッドしか持たないクラスのようなものをインタフェースと呼びます。クラスと並んで、パッケージのメンバーとして存在します。インタフェースはクラスによって実装 (implements) され、実装クラスはインタフェースで宣言されている抽象メソッドを実装します。 abstract public修飾された、メソッドのシグネチャのリスト まず第一に、インタフェースは、ロジックを持たずに、パッケージpublicなメソッドのシグネチャのリストです。 final public static修飾された、メンバ変数のリスト 次に、インタフェースは、public static finalな定数のリストです。 インタフェースは、抽象メソッドのシグネチャを定義します。また、メンバ

    TakahashiMasaki
    TakahashiMasaki 2010/04/12
    (わかりやすい
  • nextindex.jp

    nextindex.jp 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

  • 第18章:staticメソッド Java入門 (Java言語編) Accel Works

    今回は今まで何度か出てきていましたが、そのつど無視してきた「static」について紹介します。 staticはメソッドとメンバ変数につけることのできる修飾子です。 staticをつけたメソッドを「静的メソッド」、staticをつけたメンバ変数を「静的(メンバ)変数」といいます。 この「静的メソッド」「静的(メンバ)変数」はクラスをインスタンス化しなくても使用することができます。 構文は クラス名.メソッド名(); クラス名.変数名; となります。 これだけでは何のことだかかわかりませんので、具体的に見ていきましょう。 まずは静的メソッドからです。 class StaticTest{ //staticメソッド static void showMessage(){ System.out.println("Staticメソッド"); } } showMessage()という名前の

  • JavaではじめるUML ( 第 2 回 ) | オブジェクトの広場

    前回から始まった連載、今回からいよいよ Java のソースコードと対比しながら、 UML の各ダイアグラムについて解説していきたいと思います。今回は、 UML の中でも最も使用される「クラス図」と「パッケージ図」についてとりあげます。「クラス図」と「パッケージ図」はシステムの論理的な ( 静的な ) 構造を表すダイアグラムです。 記事で使用しているソースコード(スケジューラ)の完全版がダウンロードできます。ご活用ください。 scheduler-20020628.zip 1. ケース・スタディのおさらい まず最初に、前回提示したケース・スタディを簡単におさらいしておきたいと思います。 ある中堅ソフトウェア会社に勤める Chen 君は、リーダーの Jun 先輩から、チームで使用しているスケジューラのドキュメント作成と機能追加を依頼されました。これは、転勤してしまった Mika さんが、以前

  • Javaの道:クラス(5.メソッド)

    クラスには、そのクラスの"状態"と"振る舞い"を定義します。メソッドは、その内クラスの"振る舞い"を定義するものです。 メソッドの宣言は以下の枠内のフォーマットで構成されています。メソッドは宣言部分と体に分けることができます。宣言部分はフォーマットの「戻り型 メソッド名 (引数型 引数名)」にあたる部分でそのメソッドに対する他の構成要素との関連、属性を記述します。体はフォーマットの「{ メソッド体 }」にあたる部分でそのメソッドの実際の処理を記述します。

    Javaの道:クラス(5.メソッド)
  • Javaの道:クラス(13.final)

    概要 final修飾子はクラス、メソッド、変数の宣言時に付与することができます。以下ではそれぞれのケースにおいてfinal修飾子の説明をします。 クラス宣言時にfinalを使用 final修飾子を付与してクラスを宣言するとそのクラスはサブクラスで継承できなくなります。finalを使用する理由の一つとしてセキュリティ上の問題があります。プログラムに不正動作を与えようとするハッカーたちの一つの手段としてあるクラスのサブクラスを作成し、そのサブクラスに不正な動作を行う処理を記述すると言うのがあります。サブクラスを作成することにより、スーパークラスで想定される動作とはまったく異なる動作を行わせるものです。 また、セキュリティ上の観点だけからでなく、技術力のあまりない人がサブクラスを作成し、予期せぬ動作をするプログラムが作成されることを防ぐためにも使用します。Javaで初めから用意されているStri

    Javaの道:クラス(13.final)
    TakahashiMasaki
    TakahashiMasaki 2008/12/08
    (いっつもfinalがわからなくなるので
  • Cepheid [Blog] JavaにおけるSleep処理

    Javaでスリープ処理をしたい場合、Thread.sleep()を使用します。 現在実行中のスレッドを、指定されたミリ秒数の間、スリープ (一時的に実行を停止) させます。 /** Sleepのサンプルコード */ class SleepSample { public static void main(String[] args) throws InterruptedException { SleepClass s = new SleepClass(); Thread t = new Thread(s); t.start(); } } class SleepClass implements Runnable { public void run() { System.out.println("Sleep Start"); try { Thread.sleep(3000); //ミリ秒単位で設

  • 目指せプログラマー!

    目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。

  • Java 2 Platform SE 5.0

    Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.

  • Java3D

    Java3D自分FAQ これは、私がJava3Dを始めるに当たってぶち当たった壁を列挙し、 可能ならばそれを解決した方法をあげたページです。 よってあんまり正しいFAQの形式をとってません。 よってこの解法が正しいかどうか保証はありません。 よって鵜呑みにするとひどいめにあうかもしれません。 Q1. Java3Dを始めるには何が必要でしょうか? JavaSoftページ Java 3D(TM) API Home Page を参照しましょう。ここから必要最低限の情報は得られます。 とりあえず、Win環境でJava3Dプログラムを始めるには、以下のものが必要です。 Java3D 1.1 implementation Java3DのJavaSoftによるインプリです。 正式公開版が出たので、JDC(Java Developer Connection)に入る必要もなくなりました。 上のページから

  • @IT:Javaプログラミング・ワンポイントレクチャー:配列の宣言(1)

    配列とは、集合型データを扱うことができるデータ型の1つで、その特徴は以下のようになります。 1つの配列では1つのデータ型しか扱うことができません。 宣言されて大きさが決まった配列はサイズを変更することができません。 配列は以下の手順で作成、使用します。 (1)配列を宣言 代入する値の型で配列を宣言します。宣言方法は以下の2通りあります。

    TakahashiMasaki
    TakahashiMasaki 2008/06/02
    (はいれつのせんげん
  • Java が使いにくいのは静的だからではない - kwatchの日記

    Java が使いにくい言語であるというのは、世界中の LL ファンが皆思っていることだろうから改めていうことでもないけど、使いにくいのは静的言語だからというのは間違っている。Java が使いにくいのは単に Java の設計者のセンスが悪かっただけであり、静的言語のせいではない。 たとえばこんなコード。 public Map<String, List<String>> example() { List<String> list = new ArrayList<String>(); list.add("foo"); list.add("bar"); list.add("baz"); Map<String, List<String>> map = new HashMap<String, List<String>>(); map.put("names", list); return map; }

    Java が使いにくいのは静的だからではない - kwatchの日記
    TakahashiMasaki
    TakahashiMasaki 2008/03/06
    (関係ないがなんで"List<String> list = new ArrayList<String>();"てかくのが多いンだろ("ArrayList<String> list = new ArrayList<String>();"じゃだめなのか
  • Java 仮想マシン (JVM) のチューニング

    JVM のヒープ サイズとガベージ コレクション ガベージ コレクションは、Java ヒープ内の使用されていない Java オブジェクトを解放する JVM のプロセスです。Java ヒープは Java プログラムのオブジェクトが存在している場所であり、ライブ オブジェクト、デッド オブジェクト、およびフリー メモリのリポジトリです。実行中のプログラムでどのポインタからもアクセスされなくなると、オブジェクトは「ガベージ (廃棄物)」と見なされ、コレクションの対象となります。 JVM ヒープ サイズによって、ガベージ コレクションを行う頻度とその時間が決定されます。ガベージ コレクションの適切な実行頻度はアプリケーションによって異なるので、ガベージ コレクションの実際の時間と頻度を解析して調整する必要があります。大きいヒープ サイズを設定した場合、ガベージ コレクション全体は低速化しますが、実

    TakahashiMasaki
    TakahashiMasaki 2008/02/08
    Java VMのコマンドオプション