2

Similar documents
Oracle Corporation

Javaで体験するスクリプト言語の威力

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

untitled

Java言語 第1回

Java Bridgeを利用した他言語によるデータロード&プロットデモ

javaone.fla

Oracle Policy Automation 10.0システム要件

ADempiere (3.5)

How to Use the PowerPoint Template

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

BLOOMBERG PROFESSIONAL™

WEBサービス超入門 mask.key

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

Source Insight

EnSight UGM

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

- 4 -

PowerPoint プレゼンテーション

IBM の Java 活用ガイド_rev2

ガイダンス

SLAMD導入手順

WiFiの現状

Python によるジオプロセシング スクリプト入門

署名ツール検証報告書

自宅でJava言語の開発環境を作る方法

2 1 Web Java Android Java 1.2 6) Java Java 7) 6) Java Java (Swing, JavaFX) (JDBC) 7) OS 1.3 Java Java

ORCA (Online Research Control system Architecture)

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

新・明解Java入門

Java言語環境Java2SEついて

3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World");

17章 プログラムの提供

WebReportCafe

IceWall SSO 10.0 Enterprise Edition 動作環境

cocos2d-x #cocos2d-x

IceWall SSO 10.0 サポートマトリクス

BricRobo V1.5 インストールマニュアル

V5.0 V4.2 から V5 への 変更点 1.1 版 2010 年 03 月 26 日

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

untitled

1. 検証概要 目的及びテスト方法 1.1 検証概要 PostgreSQL はカルフォニア大学バークレー校で開発された POSTGRES, Version 4.2 をベースにしたオープンソースのリレーショナルデータベース管理システムです PostgreSQL はオープンソースでありながら 商用リレー

Eclipse マニュアル <作成目的> Eclipse のインストール方法などを紹介したページはいろいろありますが 専門用語がわからない初心者でもわか りやすく Eclipse のインストール方法 基本操作などをまとめたマニュアル作成を目的としています <目次> 1 Eclipse のインストール

WebアプリケーションサーバJBoss入門

Python によるジオプロセシング スクリプト入門

PHP4の今 日本語対応と最近のトピックス

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Microsoft Word - Writing Windows Installer's DLL.doc

10 (1) s 10.2 rails c Rails 7 > item = PlanItem.new => #<PlanItem id nil, name nil,...> > item.name = "" => "" > item.valid? => true valid? true false

マニュアル訂正連絡票

Transcription:

Java Festa in 2007 OPEN JAVA: IMAGINE THE POSSIBILITIES

2

3

4

Java SE のダウンロード数の比率 1996/12 からのダウンロード数 5

JavaOne 2007 5/7: CommunityOne > NetBeans Day, GlassFish, OpenSolaris, OpenJDK, Web 2.0 5/8-11: JavaOne > 今年のテーマは "Open Posibilities" > 9 トラックのセッション/BOF > Business Day > TV Day > Hands On Lab > パビリオン 6

7

8

Java のオープンソース化 2006/5 JavaOne 2006 > "It's not a matter of WHEN but HOW." 2006/11 > GPL v2 + Classpath Exception > 一部のソースコードをオープンソース化 2007/5/8 JavaOne 2007 > オープンソース化の完了宣言 > ビルド可能な JDK をオープンソース化 > OpenJDK.java.net 9

10

11

12

13

14

近代的なプログラミング言語の特徴 オブジェクト指向である メモリー管理は不要 自動 何からの VM 上で動作する 15

動的プログラミング言語の特徴 オブジェクト指向である メモリー管理は不要 自動 何からの VM 上で動作する 1行でできる事が多い 変数の宣言が不要 1つの変数に複数の型を格納できる 事前のコンパイルが不要 16

Java C C++ (Visual) Basic PHP Perl Python JavaScript Ruby http://www.tiobe.com 17

JSR223 スクリプト言語サポート Java プログラムからスクリプトを呼び出し実行 スクリプト言語から Java のクラスを利用 > JavaScript > Ruby (JRuby) > Python (Jython) > Groovy >... JVM にスクリプト言語向けの命令を導入(JDK7?) > invokedynamic 18

Java から JavaScript を呼び出す ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getenginebyname( js ); String script = "function hello(name) { print('hello, ' + name); }"; engine.eval(script); Invocable invocable = (Invokable) engine; invocable.invokefunction("hello", "World!"); スクリプトで定義されたグローバル関数 hello を Java から呼び出し hello("world!") を実行 19

JRuby Java VM 上で動作する Ruby の処理系 > Ruby on JVM 2002 年に開発プロジェクトを開始 > Ruby 1.6 の Java へのダイレクトポーティング > 現在は Ruby 1.8 との互換性を追求 次第に性能面で優位に > Charles Nutter, Thomas Enebo の貢献大 > 2006 年 9 月より Sun のプロジェクトに > Ruby on Rails サポート (0.98) 現在 バージョン 1.01 20

require 'java' frame = javax.swing.jframe.new("hello Java") button = javax.swing.jbutton.new("click Me!") class ClickAction < java.awt.event.actionlistener def actionperformed(event) javax.swing.joptionpane.showmessagedialog( nil, "Button '#{event.getactioncommand()}' clicked" ) end end button.addactionlistener(clickaction.new) frame.add(button) frame.setvisible(true) 21

require 'java' frame = javax.swing.jframe.new("hello Java") button = javax.swing.jbutton.new("click Me!") class ClickAction < java.awt.event.actionlistener def actionperformed(event) javax.swing.joptionpane.showmessagedialog( nil, "Button '#{event.getactioncommand()}' clicked" ) end end button.addactionlistener(clickaction.new) frame.add(button) frame.setvisible(true) 21

require 'java' frame = javax.swing.jframe.new("hello Java") button = javax.swing.jbutton.new("click Me!") class ClickAction < java.awt.event.actionlistener def actionperformed(event) javax.swing.joptionpane.showmessagedialog( nil, "Button '#{event.getactioncommand()}' clicked" ) end end button.addactionlistener(clickaction.new) frame.add(button) frame.setvisible(true) 21

Ruby application code JVM bytecode JRuby Compiler HotSpot Compiler Native code Ruby code Ruby code Ruby code JRuby JRuby Ruby code JRuby Ruby code JVM JVM JRuby JVM JRuby Ruby code Full Interpreter JRuby Compiler HotSpot Compiler Time 22

現在の Java プラットフォーム JVM JVM Java Language APIs 23

将来の Java プラットフォーム Java Ruby JVM JVM Python JavaScript etc... APIs 24

25

25

SwingMark : クライアントベンチマーク J2SE 1.2.2 J2SE 1.3.1 J2SE 1.4.2 J2SE 5.0 Java SE 6 160 140 120 100 80 60 40 20 0 Java Version 26

JRE のダウンロードサイズ 12 MB Java Java Java Java Java Java 10 8 6 1.1 1.2 1.3 1.4 5.0 6 4 2 0 Java Version 27

JRE のダウンロードサイズ 12 pack2000 の導入 MB Java Java Java Java Java Java 10 8 6 1.1 1.2 1.3 1.4 5.0 6 4 2 0 Java Version 27

Java SE 6 Update N 起動時間の大幅な短縮 "Quick Starter" インストール方法と時間 "Java Kernel" 28

29

30

31

32

33

34

35

36

37

38

39

Skill Java Developers Script Developers Visual Designers JavaFX Script 40

41

42

glassfish.java.net 43

44

45

java.net Community: a fundamental human property 46

java.net But there are barriers to community 47

java.net Technology as a catalyst 48

java.net The Network is an unstoppable social force 49

java.net Imagine the possibilities... 50

java.net Get Involved 51

java.net Get Involved Contribute 52

java.net Get Involved Contribute Innovate 53

Takayuki.Okazaki@Sun.COM Hiroshi.Yamaguchi@Sun.COM