Submit Search
Upload
Fundamental Java
•
0 likes
•
61 views
Kenji HASUNUMA
Follow
Fundamental Java (2016-04-20)
Read less
Read more
Software
Report
Share
Report
Share
1 of 33
Download now
Download to read offline
Recommended
フロントエンド開発環境
フロントエンド開発環境
Masaki Kawaguchi
Modern frontend overview_r3
Modern frontend overview_r3
makotunes
Javaの速度比較
Javaの速度比較
Satoshi Kubo
つながるjavaとTFS ぱーと2
つながるjavaとTFS ぱーと2
__Black
自動テストのすすめ
自動テストのすすめ
Katsunori Kanda
Vagrantでwindows仮想環境を構築しよう
Vagrantでwindows仮想環境を構築しよう
Yuta Matsumura
Java EE 再入門
Java EE 再入門
minazou67
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
Recommended
フロントエンド開発環境
フロントエンド開発環境
Masaki Kawaguchi
Modern frontend overview_r3
Modern frontend overview_r3
makotunes
Javaの速度比較
Javaの速度比較
Satoshi Kubo
つながるjavaとTFS ぱーと2
つながるjavaとTFS ぱーと2
__Black
自動テストのすすめ
自動テストのすすめ
Katsunori Kanda
Vagrantでwindows仮想環境を構築しよう
Vagrantでwindows仮想環境を構築しよう
Yuta Matsumura
Java EE 再入門
Java EE 再入門
minazou67
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
Hiroko Tamagawa
What is java_se_7
What is java_se_7
TakumiIINO
Java SE 再入門
Java SE 再入門
minazou67
OSv噺
OSv噺
Takuya ASADA
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
Takuya ASADA
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
LLoT2016 Java Update
LLoT2016 Java Update
torutk
Swiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲーム
聡 中川
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
クラウド化が進む今だから読み解くHyper-Vアーキテクチャ
クラウド化が進む今だから読み解くHyper-Vアーキテクチャ
Tsukasa Kato
「愛されたい!」と思ったときにJavaで書くRubyクラス
「愛されたい!」と思ったときにJavaで書くRubyクラス
Koichiro Ohba
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
Nishimotz pycon2011jan
Nishimotz pycon2011jan
Takuya Nishimoto
Scalaでのプログラム開発
Scalaでのプログラム開発
Kota Mizushima
Harmoware-VIS Tutorial
Harmoware-VIS Tutorial
Nobuo Kawaguchi
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Kengo Toda
Fn project爆誕
Fn project爆誕
Hiroshi Hayakawa
Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2
Takuya Nishimoto
2014.7 LT java
2014.7 LT java
enptukezuri1
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
How to adapt MicroProfile API for generic Web applications
How to adapt MicroProfile API for generic Web applications
Kenji HASUNUMA
Life of our small product
Life of our small product
Kenji HASUNUMA
More Related Content
Similar to Fundamental Java
What is java_se_7
What is java_se_7
TakumiIINO
Java SE 再入門
Java SE 再入門
minazou67
OSv噺
OSv噺
Takuya ASADA
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
Takuya ASADA
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
LLoT2016 Java Update
LLoT2016 Java Update
torutk
Swiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲーム
聡 中川
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
クラウド化が進む今だから読み解くHyper-Vアーキテクチャ
クラウド化が進む今だから読み解くHyper-Vアーキテクチャ
Tsukasa Kato
「愛されたい!」と思ったときにJavaで書くRubyクラス
「愛されたい!」と思ったときにJavaで書くRubyクラス
Koichiro Ohba
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
Nishimotz pycon2011jan
Nishimotz pycon2011jan
Takuya Nishimoto
Scalaでのプログラム開発
Scalaでのプログラム開発
Kota Mizushima
Harmoware-VIS Tutorial
Harmoware-VIS Tutorial
Nobuo Kawaguchi
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Kengo Toda
Fn project爆誕
Fn project爆誕
Hiroshi Hayakawa
Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2
Takuya Nishimoto
2014.7 LT java
2014.7 LT java
enptukezuri1
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
Similar to Fundamental Java
(20)
What is java_se_7
What is java_se_7
Java SE 再入門
Java SE 再入門
OSv噺
OSv噺
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
LLoT2016 Java Update
LLoT2016 Java Update
Swiftアプリ制作入門 かんたんシューティングゲーム
Swiftアプリ制作入門 かんたんシューティングゲーム
全部入り!WGPで高速JavaScript+HML5体験
全部入り!WGPで高速JavaScript+HML5体験
クラウド化が進む今だから読み解くHyper-Vアーキテクチャ
クラウド化が進む今だから読み解くHyper-Vアーキテクチャ
「愛されたい!」と思ったときにJavaで書くRubyクラス
「愛されたい!」と思ったときにJavaで書くRubyクラス
Play jjug2012spring
Play jjug2012spring
Nishimotz pycon2011jan
Nishimotz pycon2011jan
Scalaでのプログラム開発
Scalaでのプログラム開発
Harmoware-VIS Tutorial
Harmoware-VIS Tutorial
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Fn project爆誕
Fn project爆誕
Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2
2014.7 LT java
2014.7 LT java
PlayFramework1.x基礎編
PlayFramework1.x基礎編
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
More from Kenji HASUNUMA
How to adapt MicroProfile API for generic Web applications
How to adapt MicroProfile API for generic Web applications
Kenji HASUNUMA
Life of our small product
Life of our small product
Kenji HASUNUMA
Jakarta EE: The First Parts
Jakarta EE: The First Parts
Kenji HASUNUMA
Introduction to MicroProfile Metrics
Introduction to MicroProfile Metrics
Kenji HASUNUMA
Introduction to JCA and MDB
Introduction to JCA and MDB
Kenji HASUNUMA
Basic method for Java EE Web Profile
Basic method for Java EE Web Profile
Kenji HASUNUMA
Introduction to JavaFX Dialogs
Introduction to JavaFX Dialogs
Kenji HASUNUMA
Brand New Date and Time API
Brand New Date and Time API
Kenji HASUNUMA
Virtualization Fundamental
Virtualization Fundamental
Kenji HASUNUMA
JLS Myths - If-then-else statement -
JLS Myths - If-then-else statement -
Kenji HASUNUMA
Introduction to Date and Time API 4
Introduction to Date and Time API 4
Kenji HASUNUMA
Collections Framework Beginners Guide 2
Collections Framework Beginners Guide 2
Kenji HASUNUMA
Introduction to Date and Time API 3
Introduction to Date and Time API 3
Kenji HASUNUMA
Introduction to Date and Time API 2
Introduction to Date and Time API 2
Kenji HASUNUMA
Introduction to Date and Time API
Introduction to Date and Time API
Kenji HASUNUMA
More from Kenji HASUNUMA
(15)
How to adapt MicroProfile API for generic Web applications
How to adapt MicroProfile API for generic Web applications
Life of our small product
Life of our small product
Jakarta EE: The First Parts
Jakarta EE: The First Parts
Introduction to MicroProfile Metrics
Introduction to MicroProfile Metrics
Introduction to JCA and MDB
Introduction to JCA and MDB
Basic method for Java EE Web Profile
Basic method for Java EE Web Profile
Introduction to JavaFX Dialogs
Introduction to JavaFX Dialogs
Brand New Date and Time API
Brand New Date and Time API
Virtualization Fundamental
Virtualization Fundamental
JLS Myths - If-then-else statement -
JLS Myths - If-then-else statement -
Introduction to Date and Time API 4
Introduction to Date and Time API 4
Collections Framework Beginners Guide 2
Collections Framework Beginners Guide 2
Introduction to Date and Time API 3
Introduction to Date and Time API 3
Introduction to Date and Time API 2
Introduction to Date and Time API 2
Introduction to Date and Time API
Introduction to Date and Time API
Fundamental Java
1.
Fundamental Java HASUNUMA Kenji Vice
president, GlassFish Users Group Japan k.hasunuma@coppermine.jp Twitter: @btnrouge
2.
What’s Java?
3.
Javaの特徴 • オープンな規格である • 常に進化している •
互換性を重視している
4.
Javaはオープン規格 • 言語、標準API、仮想マシン仕様 • Java
Community Processで標準化 • 現在はオープンソース (GPLv2)
5.
•Write Once, Run
Anywhere •言語レベルでマルチスレッド対応 •厳格な例外処理機構 •Unicodeを全面的に採用
6.
Write Once, Run
Anywhere • OS、Java VM実装に依存しない • 古いコードが最新のJavaでも動く • Blu-rayから巨大システムまで
7.
当初: OSの差異をJava VMが吸収する 現在:
Java VMが多言語の共通基盤へ
8.
Essential Java
9.
Javaのエコシステム
10.
クラスとインタフェース
11.
クラスの継承
12.
Polymorphismとは?
13.
プロセスとスレッド
14.
プロセスとスレッド
15.
Javaの入出力(Stream) 現在では文字列データに特化したReader/Writerや、 高速I/Oを実現するChannelもよく使われている
16.
Javaのパッケージ
17.
クラス名の表記方法 •原則: パッケージを含む完全名 (例) java.util.List •import宣言:
特定のパッケージを省略可 (方法1) import java.util.List; (方法2) import java.util.*; •java.lang…常にパッケージを省略可
18.
Javaクラスの同一性 • クラス名が同一である • パッケージ名が完全に一致している •
同じクラスローダーから読み込まれた
19.
Java Core Parts
20.
クラスとオブジェクト • クラスは定義のみ…実体がない • オブジェクト(インスタンス) …クラスから作成した実体のこと •
フィールドとメソッドはオブジェクトに 属する( staticはクラスに属する)
21.
java.lang.Object • Javaの全クラスのスーパークラス • クラスの根幹に関わるメソッドを持つ •
プリミティブ型に対してリファレンス型 と呼ばれることもある
22.
java.lang.Object のメソッド equals 同一チェックに使う ※原則としてオーバーライドする hashCode toString
文字列表現を返す ※用途は様々 wait スレッド制御用メソッド ※通常はConcurrency Utilitiesを経由 して使用する(オーバーライド不可) notify notifyAll clone コピー(最近は使われない) finalize 後処理(通常はオーバーライドしない)
23.
Object o =
new Object();
24.
Object o =
new Object();
25.
Object o =
new Object(); 右辺と同じクラス or スーパークラス or 実装インタフェース
26.
Object o =
new ArrayList();
27.
キャスト Object o =
new ArrayList(); • objの定義はObject、実体はArrayList • アクセスは定義を通じて行う • 実体への直接アクセス→キャスト ArrayList list = (ArrayList) o; • キャスト=サブクラスの定義でアクセス • キャスト後は実体に直接アクセス可能
28.
プリミティブ型 • クラスではないデータ型 • 対応するクラス(ラッパー)を持つ •
auto-boxing/unboxing: プリミティブ型とラッパーの相互変換
29.
プリミティブ型 ラッパークラス boolean Boolean byte
Byte char Character short Short int Integer long Long float Float double Double
30.
配列 • 同じクラスorプリミティブ型の連続 • 演算子
[ ] で要素にアクセスする • 内部的にはjava.lang.Arrayクラス
31.
Object[] o =
new Object[8]; o は Objectの配列 (要素数は指定しない) 配列の要素数は 8 (必ず定数=後で変更不可) 配列の場合、左辺と右辺は同じクラス
32.
その他の重要なトピック • Generics (J2SE
5.0) • Annotation (J2SE 5.0) • Project Coin (Java SE 7) • Collections Framework (J2SE 1.2) • New I/O (J2SE 1.4 & Java SE 7) • Concurrency Utilitites (J2SE 5.0 & Java SE 7)
33.
Fundamental Java HASUNUMA Kenji k.hasunuma@coppermine.jp Twitter:
@btnrouge
Download now