Server Side Java Technologies
-
Upload
hiroshi-yamaguchi -
Category
Documents
-
view
221 -
download
0
Transcript of Server Side Java Technologies
-
8/7/2019 Server Side Java Technologies
1/26
What is Java?
-
8/7/2019 Server Side Java Technologies
2/26
Java IS ...
2
Simple
Object Oriented
Distributed
Robust
Secure
Architecture NeutralPortable
Integrated
High-Performance
Multi-Threaded
Dynamic
-
8/7/2019 Server Side Java Technologies
3/26
TIOBE Programming Community Index
3http://www.tiobe.com/index.php/content/paperinfo/tpci/
-
8/7/2019 Server Side Java Technologies
4/26
Position
Feb 2010
Position
Feb 2009
Delta in
Position
Programming
Language
Ratings
Feb 2010
Delta
Feb 2009
Status
1 1 Java 17.35% -2.05% A2 2 C 16.60% +0.76% A3 5 PHP 10.00% +1.22% A4 3 C++ 9.45% -0.19% A5 4 (Visual) Basic 7.05% -1.79% A6 6 C# 5.02% -0.05% A7 7 Python 4.31% -0.25% A8 8 Perl 3.60% -0.52% A9 9 Delphi 2.66% -0.97% A10 10 JavaScript 2.64% -0.90% A11 11 Ruby 2.44% -0.84% A12 32 Objective-C 1.78% +1.60% A13 - Go 1.78% +1.78% A-14 14 SAS 0.77% -0.06% A15 13 PL/SQL 0.74% -0.25% A16 17 ABAP 0.66% +0.09% B17 16 Pascal 0.61% -0.08% B18 18 ActionScript 0.58% +0.04% B19 23 Lisp/Scheme 0.56% +0.13% B20 24 MATLAB 0.54% +0.12% B
TIOBE Programming Community Index
4http://www.tiobe.com/index.php/content/paperinfo/tpci/
http://www.tiobe.com/content/paperinfo/tpci/MATLAB.htmlhttp://www.tiobe.com/content/paperinfo/tpci/MATLAB.htmlhttp://www.tiobe.com/content/paperinfo/tpci/MATLAB.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Lisp_Scheme.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Lisp_Scheme.htmlhttp://www.tiobe.com/content/paperinfo/tpci/ActionScript.htmlhttp://www.tiobe.com/content/paperinfo/tpci/ActionScript.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Pascal.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Pascal.htmlhttp://www.tiobe.com/content/paperinfo/tpci/ABAP.htmlhttp://www.tiobe.com/content/paperinfo/tpci/ABAP.htmlhttp://www.tiobe.com/content/paperinfo/tpci/PL_SQL.htmlhttp://www.tiobe.com/content/paperinfo/tpci/PL_SQL.htmlhttp://www.tiobe.com/content/paperinfo/tpci/SAS.htmlhttp://www.tiobe.com/content/paperinfo/tpci/SAS.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Go.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Go.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Objective-C.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Objective-C.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Ruby.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Ruby.htmlhttp://www.tiobe.com/content/paperinfo/tpci/JavaScript.htmlhttp://www.tiobe.com/content/paperinfo/tpci/JavaScript.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Delphi.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Delphi.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Perl.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Perl.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Python.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Python.htmlhttp://www.tiobe.com/content/paperinfo/tpci/C_.htmlhttp://www.tiobe.com/content/paperinfo/tpci/C_.htmlhttp://www.tiobe.com/content/paperinfo/tpci/(Visual)_Basic.htmlhttp://www.tiobe.com/content/paperinfo/tpci/(Visual)_Basic.htmlhttp://www.tiobe.com/content/paperinfo/tpci/C__.htmlhttp://www.tiobe.com/content/paperinfo/tpci/C__.htmlhttp://www.tiobe.com/content/paperinfo/tpci/PHP.htmlhttp://www.tiobe.com/content/paperinfo/tpci/PHP.htmlhttp://www.tiobe.com/content/paperinfo/tpci/C.htmlhttp://www.tiobe.com/content/paperinfo/tpci/C.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Java.htmlhttp://www.tiobe.com/content/paperinfo/tpci/Java.html -
8/7/2019 Server Side Java Technologies
5/26
Release History
5
Date Release
1/23/1996 JDK 1.0
2/19/1997 JDK 1.1
12/8/1998 J2SE 1.25/8/2000 J2SE 1.3
2/6/2002 J2SE 1.4
9/30/2004 J2SE 5.0
12/11/2006 Java SE 6
10/16/2008 Java SE 6, update 10
1/13/2010 Java SE 6, update 18http://en.wikipedia.org/wiki/Java_version_history
-
8/7/2019 Server Side Java Technologies
6/26
Java VM - Performance
6
-
8/7/2019 Server Side Java Technologies
7/26
Java VM Architecture
7
0011111110101110101011111001010010101010010010100101010010110100101001
------------------------------------------------------------------------------------
Java Bytecode
Class Loader
Bytecode Verifier
Interpreter
Runtime System
OS
Hardware
Java VM
Java source code
compile execute
-
8/7/2019 Server Side Java Technologies
8/26
Simple Java Program
8
-
8/7/2019 Server Side Java Technologies
9/26
-
8/7/2019 Server Side Java Technologies
10/26
10
Java Compiler Improvements- Bytecode optimization
- Bytecode inlining
Java Interpreter Improvements- JIT (Just in Time) Compiler
- HotSpot Performance Engine
- Garbage Collection Algorithms
- Locking Mechanism
Class Library Improvements
Performance Improvements
-
8/7/2019 Server Side Java Technologies
11/26
Performance Improvements
11
0
200
400
600
800
J2SE 1.2.2 J2SE 1.3.1_16 J2SE 1.4.2_11 J2SE 5.0_06 Java SE 6.0
Server benchmark: Volano 2.5.0.9
Sun JVMs are 32-bitSun Fire V490: Solaris 9 / SPARCVolano Website: http://www.volano.com
Source: Java Performance Engineering
1998
2001 2003
2004
2005
http://www.volano.com/http://www.volano.com/ -
8/7/2019 Server Side Java Technologies
12/26
Computer Language Benchmark Game
12http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php
-
8/7/2019 Server Side Java Technologies
13/26
Java (HotSpot) v.s. Java (Interpreter)
13
-
8/7/2019 Server Side Java Technologies
14/26
Java v.s. Fortran
14
-
8/7/2019 Server Side Java Technologies
15/26
Java v.s. GNU g++ (C++)
15
-
8/7/2019 Server Side Java Technologies
16/26
COBOL to Java
16
-
8/7/2019 Server Side Java Technologies
17/26
COBOL Program - Display File Contents
17
-
8/7/2019 Server Side Java Technologies
18/26
Java EE overview
18
-
8/7/2019 Server Side Java Technologies
19/26
Java EE Tiered Applications
Client Tier
Web Tier
Business Tier
EIS (Enterprise Information System) Tier
19
Client Web Business EIS
-
8/7/2019 Server Side Java Technologies
20/26
Client Tier
Web Browsers- HTML
- Java Applet
- AJAX
Rich Client Applications- Java Web Start Applications
- Desktop (Java) Client
20
-
8/7/2019 Server Side Java Technologies
21/26
Web Tier
Web Server Applications
Servlet
JSF (JavaServer Faces)
JSF Facelet
EL (Expression Language)
JSP (JavaServer Pages)
JSP Standard Tag Library
JavaBeans Components
21
-
8/7/2019 Server Side Java Technologies
22/26
Business Tier
Enterprise JavaBeans
JAX-RS RESTful Web Services
JAX-WS Web Services Endpoints
Java Persistence API
22
-
8/7/2019 Server Side Java Technologies
23/26
EIS Tier
JDBC (Java Database Connection)
Java Persistence API
Java EE Connector Architecture
Java Transaction API
23
-
8/7/2019 Server Side Java Technologies
24/26
Java EE 6 Technologies
EJB 3.1
Servlet 3.0
JSP 2.2
EL 2.2
JMS 1.1
JTA 1.1
JavaMail 1.4
Connector 1.6
Web Services 1.3
JAX-RPC 1.1
JAX-WS 2.2
JAX-RS 1.1
JAXB 2.2
JAXR 1.0
Java EE Management 1.1
Java EE Deployment 1.2
JACC 1.4
JASPIC 1.0
JSP Debugging 1.0
JSTL 1.2
Web Services Metadata2.1
JSF 2.0
Common Annotations 1.1
Java Persistence 2.0
Bean Validation 1.0
Managed Bean 1.0
Interceptors 1.1
Contexts andDependency Injection forJavaEE 1.0
Dependency Injection forJava 1.0
24
-
8/7/2019 Server Side Java Technologies
25/26
Future Topic Candidates
25
-
8/7/2019 Server Side Java Technologies
26/26
Future Topic Candidates
26
Java EE Details
Spring Framework
Testing
Source Code Management
COBOL and Java ?
...