#author("2023-11-24T18:41:16+09:00","default:irrp","irrp")
#author("2024-03-23T11:41:53+09:00","default:irrp","irrp")
→言語・開発環境



#contents

* サブトピック [#g0383e60]
-Java一般

-Java関連Tips
--Java関連Tipsサンプル集

-Java文法系Tips
--Javaのリフレクション

-JavaのWebアプリ開発

-DI(依存性注入)
--[[S2AOP]]
-Spring Boot関連

-[[EJB関連]]
-JSF(JavaServer Faces)関連

-Java関連開発ツール
--log4j関連

-JBoss Seam関連


-Eclipse関連
-Struts関連


*高速化/性能 [#uc0ee8c2]
-[[Spring Nativeの紹介 - Google スライド>https://docs.google.com/presentation/d/1yLNTffctZQd-42FmYNNSeQ5PU9MugO26qtIrVf2FGTA/edit#slide=id.p1]] 2021

-[[JDK Flight Recorder入門 - Speaker Deck>https://speakerdeck.com/chiroito/jdk-flight-recorderru-men]] 2022
-[[Java Flight Recorder(JFR)について調べてみた - Qiita>https://qiita.com/ohsoko-hiroshi/items/66825c8f3e2fdbe697c4]] 2017

-[[Introduction to GraalVM | PPT>https://www.slideshare.net/jyukutyo/introduction-to-graalvm]] 2019
-[[業務でGraalVMとKotlinを使ってサーバレス開発やってみたのでちょっとハンズオンしてみる - Qiita>https://qiita.com/koyamakazuaki/items/ea890f57d72747cce1d9]] 2022.12

-[[ネイティブJavaに向けてウォーミングアップする-1- - エキサイト TechBlog.>https://tech.excite.co.jp/entry/2022/12/08/164705]] 2022.12
-[[CRaCによるJavaの高速化 | 豆蔵デベロッパーサイト>https://developer.mamezou-tech.com/blogs/2022/12/02/jdk-crac/]] 2022.12



*Javap/逆コンパイル/デコンパイル [#c35f5fa3]
-[[javap の隠しオプション - Qiita>https://qiita.com/YujiSoftware/items/f734cf656e6c01195f92]] 2023.5

-[[Java Runtime (De)compilerの紹介 - 赤帽エンジニアブログ>https://rheb.hatenablog.com/entry/java-runtime-decompiler]] 2023.4
--https://github.com/pmikova/java-runtime-decompiler
--[[Byteman Homepage · JBoss Community>https://byteman.jboss.org/]] 2023.4

-[[Javaの難デコンパイル化用ClassLoader|watahiro|note>https://note.com/watahiro395/n/n024c3c5c165f]] 2023.2

-[[究極の問題解析ツール、逆コンパイラJD-Eclipseとは>http://www.atmarkit.co.jp/fjava/rensai4/devtool13/devtool13_1.html]]
--http://java.decompiler.free.fr/?q=jdeclipse

-[[Javaの「暗黙的に」を可視化してみた - DIVX engineer gateway>https://engineering.divx.co.jp/entry/2022/04/27/091038]] 2022.4
-[[Javaバイトコードの読み方>http://d.hatena.ne.jp/Nagise/20100207/1265522562]] 2010.2.7



* Java EE/Jakarta EE [#o1ad940f]
-[[Jakarta EE 10 Downloads | Java EE 10 Compatible Products & Specifications | The Eclipse Foundation>https://jakarta.ee/release/10/]] 2022.9
-https://docs.oracle.com/javaee/7/index.html

-[[JakartaEE 10への準備 – まずは9.1へのバージョンアップ | 豆蔵デベロッパーサイト>https://developer.mamezou-tech.com/blogs/2022/09/25/ready-to-ee10/]] 2022.9

-[[アプリケーションサーバー - 【Spring Hack】>https://springhack.com/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC/]] 2022.5

-[[JavaEEとJakartaEE、どう違うの?>https://qiita.com/tkxlab/items/e2cd8919aa1a30592c81]] 2021.7

-[[Jakarta EEをはじめよう!>https://qiita.com/tkxlab/items/07083168be6400d71fd4]] 2020.11

-[[JavaEE使い方メモ>https://qiita.com/opengl-8080/items/aeda0d8bad42af3113bd]] 2014〜

-[[Jakarta EEを知る! オープンソース化されたエンタープライズJavaの現状と今後、バージョン9公開>https://employment.en-japan.com/engineerhub/entry/2020/07/07/103000]] 2020.7

-[[Java EE 8 新機能まとめ>http://qiita.com/SightSeekerTw/items/d4e597b81e3678de0ef0]] 2017.8.17

-[[Java EE環境における非同期プログラミング>http://nekop.hatenablog.com/entry/20120417/1334654442]] 2012.4
--Java EE環境ではスレッド単位で管理されているものがいっぱいあるためにスレッド作成が禁止されていることを理解しましょう
--非同期処理にはMDBか@Asynchronous EJB使いましょう
--(動く保証はないですが正常に動作する確率を最大化するために)どうしても別スレッドをスタートしたいなら必ずServletContextListenerが呼ばれたスレッド上から別スレッドをスタートしましょう

-[[クラスローダーとJ2EEパッケージング戦略を理解する: 第1回 「クラスローダーを理解する - クラスはどこからやってきた?」 >http://www.ibm.com/developerworks/jp/websphere/library/java/j2ee_classloader/1.html]] 

-[[Concurrency Utilitiesを使った並列処理・マルチスレッドのおさらい>http://argius.hatenablog.jp/entry/20131226/1388068061]] 2013.12

-[[Concurrency Utilities for Java EEのポイント>https://blogs.oracle.com/wlc/entry/javaee_c150]]
-- 「Java EE 6までは、EJBコンポーネントやサーブレットの中から新しいスレッドを生成することは仕様として禁止されていた。新しいスレッドを作った場合、同じJVM上でスレッドが作られるものの、アプリケーション・サーバが管理するスレッドとは別のスレッドとして生成されるため、アプリケーション・サーバからそのスレッドを管理する手段がなかったのだ」(寺田氏)

-[[今そこにあるJava EE>http://dev.ariel-networks.com/articles/workshop/javaee1/]]


*Java新機能 [#ca8858ff]
-[[Java 22新機能まとめ #Java - Qiita>https://qiita.com/nowokay/items/3b8307a911f014038873]] 2024.3

-[[Java 言語仕様・JVM仕様のバージョンごとの差分を見れるページを作りました。 #Java - Qiita>https://qiita.com/YujiSoftware/items/d6fe6cc9296a345b7111]] 2023.10

-[[Java21がリリースされたので新機能の用途を考える(Sequenced Collections編) | 豆蔵デベロッパーサイト>https://developer.mamezou-tech.com/blogs/2023/10/03/java21_jep431/]] 2023.10
-[[Java 21新機能まとめ - Qiita>https://qiita.com/nowokay/items/174f75b9e48cc7a80838]] 2023.9

-[[Java8→Java19でいいなと思った機能 - MicroAd Developers Blog>https://developers.microad.co.jp/entry/2023/05/26/180000]] 2023.5

-[[Java 19新機能まとめ - Qiita>https://qiita.com/nowokay/items/b903c10502f9ffe50c3a]] 2022.9
-[[【連載】イマドキのJava徹底入門 | TECH+>https://news.mynavi.jp/techplus/series/imajava/]] 2022.5
-[[Java 18新機能まとめ - Qiita>https://qiita.com/nowokay/items/17d990aa8a5b1c5223c8]] 2022.3
-[[Java 17新機能まとめ>https://qiita.com/nowokay/items/ec58bf8f30d236a12acb]] 2021.10


*Java8 [#r95b16e2]
-[[Java8練習問題>https://tech.pjin.jp/blog/tag/java8%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c/]]

-[[Java SDK8 Download>http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html]]

-[[知っといてムダにならない、Java SE 8の肝となるラムダ式の基本文法 >http://www.atmarkit.co.jp/ait/articles/1403/17/news105.html]] 2014.3.19

-[[初心者のためのJavaラムダ式入門とJDKのインストール、IDEの環境構築 (1/4)>http://www.atmarkit.co.jp/ait/articles/1402/18/news010.html]]  2014.2.19


*Java7 [#jf70fae0]
-[[JDK 7 Milestone 5、並行処理とパフォーマンスに関してアップデートされたが、Feature Completeには至らず>http://www.infoq.com/jp/news/2009/12/jdk7m5]]
--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のサポート。

-[[Parallel Array>http://www.ibm.com/developerworks/java/library/j-jtp03048.html?S_TACT=105AGX01&S_CMP=LP#2.0]]
-[[Java 7におけるFork/Joinとの並列性>http://www.infoq.com/jp/news/2008/03/fork_join]]


*JVM/メモリ管理 [#v6fdfa44]
-[[Javaのメモリ解放は誰がやっているのか - RAKUS Developers Blog | ラクス エンジニアブログ>https://tech-blog.rakus.co.jp/entry/20231108/java-memory]] 2023.11

-[[JavaでFargateのOutOfMemoryを引き起こした話 - Mirai Translate TECH BLOG>https://miraitranslate-tech.hatenablog.jp/entry/fargate-oom-by-java-app]] 2022.12

-[[JavaVMで使用するメモリ空間の構成とJavaVMオプション>http://itdoc.hitachi.co.jp/manuals/link/cosmi_v0951/03Y0450D/EY040139.HTM]] 2020.4

-[[Javaはどのように動くのか〜図解でわかるJVMの仕組み>https://gihyo.jp/dev/serial/01/jvm-arc]] 2013

-[[メモリの最適化について - Java SE Embedded 8>https://blogs.oracle.com/javajp/-java-se-embedded-8]] 2020.2

-[[第1回 JVMはどのようにメモリ空間を利用するのか>https://gihyo.jp/dev/serial/01/jvm-arc/0001]] 2020.2

-[[JVMのヒープサイズとコンテナ時代のチューニング>https://i-beam.org/2019/08/15/jvm-heap-sizing/]] 2019.8


*関連Web [#dbb68838]
-[[The Java Tutorial>https://docs.oracle.com/javase/tutorial/]]

-[[PATHの設定及び環境変数JAVA_HOMEの設定>http://www.javadrive.jp/install/jdk/index4.html]]
 設定例)
 JAVA_HOME=C:\Program Files\Java\jdk1.8.0_05

-[[Java SE Specifications>http://docs.oracle.com/javase/specs/]]

-[[Java SE 日本語ドキュメント>http://www.oracle.com/technetwork/jp/java/javase/documentation/index.html]]

-[[findJAR.com>http://www.findjar.com/index.x]]
--ClassNotFoundException の原因を調べるのに使える

-[[富士通の総合システム開発体系「SDAS」技術情報>http://jp.fujitsu.com/solutions/sdas/technology/]]
--Java中心に様々な読み物あり

-[[Java EE 5 Tutorial>http://java.sun.com/javaee/5/docs/tutorial/doc/p1.html]]
--[[(日本語訳)Java EE 5 テクノロジ入門>http://www.netbeans.org/kb/55/javaee-intro_ja.html]]
-[[Javaの道>http://www.javaroad.jp/index.htm]]
-[[Java EE 5 マイグレーションプラクティス>http://www.atmarkit.co.jp/fjava/rensai3/jaee5mgrtn01/jaee5mgrtn01_1.html]]


*Download [#x2381238]
-[[Javaのインストール2023年版 - きしだのHatena>https://nowokay.hatenablog.com/entry/2023/01/12/211150]] 2023.1

-https://adoptium.net/
--OpenJDKバイナリを配布している
-[[【Javaアップデート徹底解説?】Adoptium OpenJDK (旧 AdoptOpenJDK)のインストール>https://dan-chan.com/java-update-04/]] 2021.8

-OpenJDK@Redhat
--https://developers.redhat.com/products/openjdk/download

-http://java.sun.com/j2se/1.5.0/ja/download.html
-http://java.sun.com/javase/downloads/index.jsp


*JDBC [#l932089c]
-[[SpringJDBCでデータソースをJNDI経由で取得する(Spring):技術空間>http://www.teqspaces.com/Spring/4]] 2016
-[[JNDIを使ったデータベース接続設定のXMLファイル定義 - Qiita>https://qiita.com/zaki-lknr/items/2bd955df62d4de0528ac]] 2019

-[[入門JDBC &#12316;Java RDBアクセスの仕組み&#12316; | ドクセル>https://www.docswell.com/s/MasatoshiTada/K7MM75-jdbc-intro]] 2022

-[[Microsoft SQL Server 2000 + JDBC における更新ロックを伴った検索および更新の実現方法>http://homepage2.nifty.com/igat/igapyon/diary/2005/ig050429.html]]

-[[for updateをJDBC経由で>http://homepage2.nifty.com/igat/igapyon/diary/2003/ig031008.html]]

-[[JDBCとデータベース・プログラミング>http://kamakura.cool.ne.jp/oppama/swjd/index.html]]
-[[J2EE.dicon と jdbc.dicon>http://d.hatena.ne.jp/htada/20060705/1152076566]]

-[[JDBC解説>http://ft-lab.ne.jp/cgi-bin/wiki.cgi?page=JDBC]]
--JDBCドライバをビルドパスに追加しているのにTomcatで動かすとclassnotfoundになる場合、EclipseのPreferencesのTomcatのVM設定のところでjarを追加する必要がある。
--もしくは、catalina.propertiesでクラスパスの参照先として設定したフォルダに置くか。

-JDBCのautoトランザクションはConnectionインターフェイスのAutoCommitプロパティのtrue/falseで設定可能
-[[MySQLの常識を知りセットアップしてJSPからDB操作>http://www.atmarkit.co.jp/fjava/rensai4/webjousiki08/webjousiki08_1.html]]
-[[JDBC接続設定集>http://japan.internet.com/developer/20070502/26.html]]
-[[接続プールマネージャについて@MS>http://support.microsoft.com/kb/313173/ja]]
-[[JDBCによるSQL Serverへの接続>http://support.microsoft.com/kb/313100/ja]]

-S2JDBCについては→O/Rマッピング

-JPAについても→O/Rマッピング


*JavaFX [#xda61e37]
-[[JavaFXでHello World!>http://itpro.nikkeibp.co.jp/article/COLUMN/20100430/347672/?ST=develop]] 2010.4.10
-[[JavaFX+NetBeansでWidgetFXアプリを作るには>http://www.atmarkit.co.jp/fjava/special/widgetfx02/widgetfx02_1.html]]
-[[JavaFXを使ってブラウザアプリを作る>http://labs.unoh.net/2009/03/javafxmidi.html]]
-[[JavaFX:現状とこれから>http://www.infoq.com/jp/news/2008/01/javafx-chet-haase]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS