言語・開発環境

Eclipse関連

JBoss Seam関連

Struts関連

サブトピック

Java一般

  • Java 11 時代の Java プログラミングスタイルガイド 2019.1
  • Javaの歴史的転換点となる2018年9月となりました | わかりやすくまとめる 2018.9
    • Oracle Java 7/9はもう無償アップデートされていない
    • Oracle Java 10は2018年9月までで公開終了
    • Oracle Java 8は2019年1月までで公開終了
    • Oracle Java 11以降は無償公開されません
    • 2018年9月以降はJava SEの最新のバージョン(11)がOracleからダウンロードできなくなる節目となります。
    • 無償で使うには以下のどちらかしかない
      • OpenJDKに乗り換え、半年ごとにバージョンアップすることに慣れる
      • Linuxであれば、有償ディストリビューションに含まれるOpenJDKを使い、OSのサポート期間使い続ける(RedHatなど)
  • Javaコントロールパネルの場所
    C:\Program Files (x86)\Java\jre1.8.0_301\bin\javacpl.exe
    C:\Program Files (x86)\Java\jre7\bin\javacpl.exe
    C:\Program Files\Java\jre7\bin\javacpl.exe
  • Java 関連職の面接を受ける際の心構え 2010.9.3
    • 最近はとにかく Spring と Struts であることを知っておきたい。ちょっと前まではそれが EJB と CORBA だった。
    • 職歴のなかには必ず「J2EE」を入れること
  • Java 開発技術の変遷と今後の展望(安藤 幸央) 2007
    • なぜ、Javaがこのように広い応用分野で利用されるようになったか
      ・ネットワークや GUI を扱う API が標準で整っていること
      ・さまざまな分野の API が充実していること
      ・C/C++ と構文が似ており、他言語のプログラマが違和感なく利用することができたこと
      ・初めて本格的にビジネスプロモーションが行われたプログラミング言語であり、ビジネスユースとしてエンタープライズ分野で応用するための観点があったこと
      ・サーバマシンから、携帯電話までさまざまなデバイスで動作し利用できたこと
      ・オブジェクト指向プログラミング言語であり、過去の言語の良いところを引き継ぎ、しがらみのない「新しい言語」として浸透していったこと
      ・無料・無償で開発環境と実行環境を利用できること
      ・異なる OS の上でも同一のプログラムが動作することを目標とし、移植の手間が大きく減ったこと
      ・Web の浸透、書籍の充実を含め、Java の情報が数多く手に入ったこと
  • POJO(Plain Old Java Object
    • あるJavaオブジェクトがEJB(特にEJB 3より前のEJB)のように特殊なものではなく、ごく普通のJavaオブジェクトであることを強調した名称。設計はシンプルであればあるほど良いと主張する人たちが好んで使用する。
  • Java Portlet Specification V2.0 (JSR 286) の新たな内容とは?
    • ポートレットとは、ある種のマークアップを作成する、コンポーネント化された、ユーザー向けアプリケーションのことです。このマークアップは他のマークアップ・フラグメントと集約されて、より大きな 1 つのアプリケーション (例えば、図 1 に示すようなポータル・ページ) になるように意図されています。

Javap/逆コンパイル

Java EE/Jakarta EE

  • Java EE環境における非同期プログラミング 2012.4
    • Java EE環境ではスレッド単位で管理されているものがいっぱいあるためにスレッド作成が禁止されていることを理解しましょう
    • 非同期処理にはMDBか@Asynchronous EJB使いましょう
    • (動く保証はないですが正常に動作する確率を最大化するために)どうしても別スレッドをスタートしたいなら必ずServletContextListenerが呼ばれたスレッド上から別スレッドをスタートしましょう
  • Concurrency Utilities for Java EEのポイント
    •  「Java EE 6までは、EJBコンポーネントやサーブレットの中から新しいスレッドを生成することは仕様として禁止されていた。新しいスレッドを作った場合、同じJVM上でスレッドが作られるものの、アプリケーション・サーバが管理するスレッドとは別のスレッドとして生成されるため、アプリケーション・サーバからそのスレッドを管理する手段がなかったのだ」(寺田氏)

Java新機能

Java8

Java7

  • JDK 7 Milestone 5、並行処理とパフォーマンスに関してアップデートされたが、Feature Completeには至らず
    • 1. ジェネリックス型のインスタンス生成のための型推論の改善(ダイヤモンド)。クラスのインスタンス生成時には限定的な型推論を使う。これにより、コンストラクタに型パラメータを明示的に宣言する必要のある場所でも、文脈から判断できる場合には型パラメータを空にすることができる。つまり、
      Map<String, List<String>> anagrams = new HashMap<String, List<String>>();
      はこう書けるようになる。
      Map<String, List<String>> anagrams = new HashMap<>();
    • 2. 可読性向上のための2進リテラルと数値内のアンダースコア区切りのサポート。例えば、こう書けるようになる。long creditCardNumber = 1234_5678_9012_3456L
    • 3. Switch文におけるStringのサポート。

JVM/メモリ管理

関連Web

  • findJAR.com
    • ClassNotFoundException の原因を調べるのに使える

Download

JDBC

  • JDBC解説
    • JDBCドライバをビルドパスに追加しているのにTomcatで動かすとclassnotfoundになる場合、EclipseのPreferencesのTomcatのVM設定のところでjarを追加する必要がある。
    • もしくは、catalina.propertiesでクラスパスの参照先として設定したフォルダに置くか。

JavaFX


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-12-08 (木) 23:02:50 (20h)