タグ

Javaに関するsisidovskiのブックマーク (50)

  • 検査例外再考 - Qiita

    検査例外はJavaで導入された例外に対する興味深い機構です。Javaで導入された当初、検査例外は多くの人々に素晴らしい解決策だと思われました。しかし、最近のメジャーなJVM言語で検査例外をサポートする言語はありません。JVM言語でなくとも、メジャー言語で検査例外をサポートするプログラミング言語は2014年現在1つとして存在しません*1。 何故検査例外は普及しなかったのでしょうか。結論から言えば、Javaの検査例外を用いた例外設計があまりにも難しく、ほとんどの組織にとって設計コストがペイ出来なかったためだと思われます。Javaの検査例外は例外というレイヤーで各々の処理を結びます。この時、別々の抽象度をある単一の例外で結んでしまうと、問題が発生します。つまり、抽象度の異なる処理同士を結びつけるたびに、その差異を吸収する独自例外表現が必要になります。この設計判断は不可能ではないものの、かなり難し

    検査例外再考 - Qiita
  • [PDF] ゴールドマン・サックスの Javaへの取り組み

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    [PDF] ゴールドマン・サックスの Javaへの取り組み
  • Java 的オブジェクト指向を 90 分で理解する - 偏見プログラマの語り!

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

    Java 的オブジェクト指向を 90 分で理解する - 偏見プログラマの語り!
  • いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して

    正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと

    いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して
  • キュー構造をJavaで実装してジェネリック型を理解する

    キュー構造をJavaで実装してジェネリック型を理解する:【改訂版】Eclipseではじめるプログラミング(19)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 安全なままコレクションフレームワークを利用するために 今回は、「ジェネリックス(Generics)」について説明します。 Javaでは、すべてのクラスはjava.lang.Object型から派生しているので、どのオブジェクトもObject型として扱えば、ある処理をさまざまなデータ型に対して適用できます。 ただし、この場合は型について安全であることを保証するために、自分でチェックコードを記述したりキャス

    キュー構造をJavaで実装してジェネリック型を理解する
  • 強く型付けされているJavaの理解に必修の“型変換”

    強く型付けされているJavaの理解に必修の“型変換”:【改訂版】Eclipseではじめるプログラミング(18)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります プログラマは特に知っておきたい型変換の常識 今回は、さまざまな「型変換」について説明します。また、型変換に関連する基データ型の「ラッパークラス」や文法事項についても解説します。型変換には「暗黙の変換」「明示的な変換」があるので、注意が必要です。 特に暗黙の変換について理解していないと、誤って自動変換された値を使ってしまい、プログラムの結果が思ったとおりにならず大変なことになってしまうことがあるからです

    強く型付けされているJavaの理解に必修の“型変換”
  • いぬごやねっと

    If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.

    いぬごやねっと
  • 「原罪」(Javaは、プリミティブがないほうがよかったか?)

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    「原罪」(Javaは、プリミティブがないほうがよかったか?)
  • いぬごやねっと

    If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.

    いぬごやねっと
  • Undo,Redoの実装って何十回もやってる気がする - あしあと日記

    undo,redoの実装って何十回もやってる気がする。毎回同じパターンだ。undo,redoが登場するような編集ソフトは大体同じパターンに落とせる。フレームワークも作った。ブログにそういう内容を書きたいが面倒くさい。需要があれば面倒でも書くんだけどなあ http://twitter.com/youpychan/status/994486992 という発言をしたら何人か反応を頂いたので書いてみることにする。 需要があるなら書こう。undo,redoだけじゃなくてグラフィカルな編集ソフト全般の話をいつかまとめたいと思っていたので、ちょいとシリーズで書いてみようかとおもう http://twitter.com/youpychan/status/994636764 書こうと思う。 まずUndo,Redoについて。 Unod,Redoってみなさんどういう風に実装しているでしょうか? 私はコマンドパタ

    Undo,Redoの実装って何十回もやってる気がする - あしあと日記
  • C# と Java の例外に対する考え方の違い - とある社員のチラシ裏

    http://msdn.microsoft.com/en-us/vcsharp/aa336812.aspx を勝手に翻訳 なぜ、C#では例外定義を持たないのか いくつかの言語では、例外定義をメンバの宣言に含めることができたり、要求されます。 例えば、ある言語の作りでは、メソッドが発生させる ArgumentException は次のように宣言されます。 void DoSomething(int a) throws ArgumentException {...} C# はそのような例外定義はできないし、要求もされません。 いくつかの理由で例外定義を削除しました。その理由は バージョニング 生産性とコードの品質 クラス作成者に「チェックされた例外」と「未チェックの例外」違いを強いることの非現実性 インタフェースに対して、正しく例外を規定することの困難さ バージョニング C#が例外定義を要求した

    C# と Java の例外に対する考え方の違い - とある社員のチラシ裏
  • Efficient data transfer through zero copy

    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.

    Efficient data transfer through zero copy
  • Effective Java 読書会 13 日目 「Java の例外めんどくさい」 - IT戦記

    IOException の catch に何を書いていいか分かりません><! はじめに 順番が前後しますが、今回は Java の特徴のひとつである例外機構についてです。 今回の範囲 223 ページ 〜 250 ページ 前回はこちら Effective Java 読書会 12 日目 「スレッド・セーフってなによ!!」 - IT戦記 Java の例外 throw 可能なオブジェクト Throwable インタフェースを実装したもの Exception を継承しない Throwable は基的に使わない チェック例外 メソッドの実装者が「呼び出し元が回復可能」だと考えている例外 ちゃんと「なぜ、例外だったのか」理由が提供されるべき 呼び出し元は try catch で囲むか throws 宣言を書く必要がある Exception を継承していて RuntimeException を継承していな

  • ジェネリクスの基礎と�クラス設計への応用

    1. ジェネリクスの基礎と クラス設計への応用 2013 年版 Twetter : @nagise はてな : Nagise 所属  java-ja  北陸エンジニアグループ 2. 導入 Java 1.4 までのコード ArrayList list = new ArrayList(); list.add("hoge"); String s = (String) list.get(0);

    ジェネリクスの基礎と�クラス設計への応用
  • Javaアプリケーションサーバ 構築・運用の勘所

    Javaアプリケーションサーバの歴史はそれなりに長いですが、残念ながら運用時のトラブルは後を絶ちません。 トラブルを起こしにくい・起きても解決しやすくするにはどうすべきか、これだけは押さえておきたい構築・運用時のポイントを紹介します。Read less

    Javaアプリケーションサーバ 構築・運用の勘所
  • じっくり学ぶ Java講座 [初心者向け・入門] | みるくあいらんどっ!

    「じっくり学ぶ Java講座」は、初心者向けの Java入門講座サイトです。多くのサンプルコードを目にすることでじっくり着実に Javaプログラミングの基を勉強します。 更新履歴 第01章: はじめに はじめに ウェブサイトの目標とターゲット 学習の心構え おすすめ書籍 おおまかな構成 第02章: Java概論と開発環境の構築 Javaとは 開発環境の構築 開発環境メモ 第03章: はじめての Javaプログラム ハローワールド 読みやすいソースコードを書こう 第04章: 基型と基型変数、演算子とキャスト、Math.randomメソッドと自作ライブラリ 基型と基型変数 演算子と基型のキャスト Math.randomメソッドと自作ライブラリ 第05章: 条件分岐 if文 switch文 第06章: 繰り返し for文 while文 do while文 gotoは使えない 第07

    じっくり学ぶ Java講座 [初心者向け・入門] | みるくあいらんどっ!
  • 今日から始めるJava8 - Taste of Tech Topics

    こんにちは id:cero-t です。 「なんとやらは風邪をひかない」と言われているところ 先日、インフルエンザに掛かってしまいまして。 重ね着+多段布団+電気毛布2枚のコンボで一気に悪寒を吹き飛ばし、 一日で熱を下げたものの、感染予防のために出社を控えたために時間でき、 ちょっとJava8などと戯れていました。 そう、今日はJava8の話題です。 今年の秋に正式リリースが予定されているJavaSE8ですが、 OpenJDKのサイトでは、既にEarly Access版を入手することができます。 JDK8 : http://openjdk.java.net/projects/jdk8/ ダウンロード : http://jdk8.java.net/download.html 1/31に、マイルストーン6がリリースされ Feature Complete となりました。 名前からすると 全機能開発

    今日から始めるJava8 - Taste of Tech Topics
  • 謎なMacのJavaインストール構成 - AOEの日記

    先日、ようやくMac版JDK7のGA版が登場しました。今までMacのJDKはAppleが提供していましたが、7からはOracleからの提供となります。 早速インストールしたのですが、実に奇妙な現象が見られたのでここに記録しておきます。 インストールはOracleのダウンロードサイトからダウンロードしたインストーラを使ってインストールします。特に難しいことはなく、指示に従ってインストールするだけです。 インストール後、JDK7をデフォルトのJDKにするには設定変更が必要です。ここで説明されているのですが、/Applications/Utilities/Java Preferences.app を起動し、以下のスクリーンショットのように [Java SE7] をドラッグして一番上に持って行きます。 これでJDK7がデフォルトで有効になるはず、なのですが自分の環境ではそうなりませんでした...。

    謎なMacのJavaインストール構成 - AOEの日記
  • JavaScript時代のJava #kansumiB7 #kansumi

    1. Summit Developers Developers Summit 2013 Kansai Action ! JavaScript時代のJava 裕介 株式会社サムライズム #kansumiB7 B7 ∼Java x Webを取り巻く熱いムード∼ Tuesday, September 24, 13

    JavaScript時代のJava #kansumiB7 #kansumi
  • Java言語で固定要素のListを初期化する際のイディオム - 達人プログラマーを目指して

    Generics(総称型)のプログラミングはJava言語(バージョン5以降)で最も習得が困難な文法*1の一つです。私自身、時々どうやって文法エラーを修正すべきか悩むこともあるくらいで、実際かなり複雑です。Genericsの導入は賛否両論なので、実際Javaに導入したのは間違いだったという議論もある一方で、静的な型安全性を重視するプログラマーもいます。 好き嫌いはともかくとして、Javaプログラマーとしては、一度きちんとGenericsの正しい使い方(=使い勝手のよい総称型やメソッドの正しい定義方法)について勉強しておいてもよいと思います。 Java Generics and Collections: Speed Up the Java Development Process 作者: Maurice Naftalin,Philip Wadler出版社/メーカー: O'Reilly Media

    Java言語で固定要素のListを初期化する際のイディオム - 達人プログラマーを目指して