2. JAVA
• Father of Java: James Gasoline
EXPANSIONS:
• API-Application Programming Interface
• SDK-Software Development Kit
• JVM-Java virtual machine
3. History of Java
• 1990 oak : To control microprocessors
Embedded in customer item
• Oak needed to be
– Platform independent
– Extremely reliable
– Compact
• 1993: Java
– Internet and web exploration
– Internet application
• 1994: Hot Java Browser
• 1995: java1. 0
4. VERSIONS OF JAVA
• 1995 version 1.0:
– The Java development kit was released for free by
the sun
– 8-packages 212-classes
– Microsoft and other companies licensed Java
• 1997 version 1.1:
– 23 -packages 504-classes
– Improvement include better event handling inner
classes , improved jvm
5. – Microsoft developed its own 1.1 compatible Java
virtual machine for internet explorer
– Many browsers in use are still compatible only
with 1.1
1999 version 1.2:
-It is also called as the Java 2 platform
-59 packages 1520 classes
-Code & tools distributed as the SDK
-A Java foundation class based on swings
for improved graphics and user interfaces
6. – Collection API included list sets and hash map
2000 VERSION 1.3:
- 76 packages 1842 classes
- Java sound
2002 VERSION 1.4:
- 135 PACKAGES 2991 classes
- Improved I , xml support etc..,
2004 VERSION 5.0 (1.5):
- 165 packages over 3000 classes
- Faster startup metadata formatted
output
7. – Generic to operate on objects of various types
2006 JAVA SE 6:
– Scripting language support
2011 JAVA SE 7:
– JVM support for dynamic language
– String in switch
– Allowing underscores in numeric literals
FUTURE RELEASES:
JAVA SE 8:
– LAMBDA OPERATOR is expected in summer 2013
JAVA SE 9:
– Under planning
9. FEAUTURES OF JAVA TECHNOLOGY
PLATFORM INDEPENDENT:
– Write once run anywhere
OBECT ORIENTED:
– No coding outside of class definitions including
main ()
– An extensive class library available in the core
language packages
10. COMPILER AND INTERPRETER:
– Code is compiled to byte codes that are
interpreted by a JVM
– This provides portability to any machine for which
a virtual machine has been written
– The two steps of compilation and interpretation
allow for extensive code checking and improved
security
ROBUST:
– Exception handling built-in strong type checking
11. Several dangerous features of c & c++
– No memory pointers
– No pre processor
– Garbage collector
AUTOMATIC MEMORY MANAGEMENT:
– Automatic garbage collection memory
management handled by the JVM
SECURITY:
– No memory pointers
– Programs run inside the virtual machine sandbox
12. CODE PATHOLOGIES REDUCED BY:
Byte code verifier:
– Checks classes after loading
Class loaders:
– Confines object of unique namespace
Security manager:
– Determines what resources a class can access
13. Java
Source
(. Java)
Java compiler
Java byte
code
(. Byte)
Java byte
code
move
locally or
through
the
network
Class loader
byte codes
Verifier
Java class
libraries
Java
interpreter
Just in
time
compiler
Run time system
Operating system
Hardware
14. Difference
c
• Focus on logic
• Procedure or structure
oriented
• Top – down approach
(Based on variable declaration)
c++
• Focus on both logic and
data
• Object oriented
programming language
• Bottom – top approach
(Variable declaration
15. C++
• Partially object oriented
language
• Pointers concept and
Preprocessor are available
• Operator overloading is
available
• Platform dependent
• A destructor is used to free
the memory
• The compiler is present
JAVA
• Purely object oriented
language
• Pointers concept and
Preprocessor is not
available
• Operator overloading is not
available
• Platform independent
• Automatic garbage
collection
• Both compiler and
interpreter is present
16. Markup language
• HTML, XML
• Design based language
Programming language
• C, C++, JAVA etc..,
• Logic based language
17. XML
• User defined tags
• Focused on data storage
• Case sensitive
HTML
• Predefined tags
• Focused on design
• Non case sensitive
18. Difference between function member
function and method
Function:
• Independent calling (in c)
Member function:
• Partially dependent on object (in c++)
(Members of class)
Methods:
• Fully dependent on object (Java)
19. Version 1.7 (string in switch)
Import Java. Io. *;
Class strswitch
{
Public static void main(string g[])
{
String s=“aaa”;
Switch (s)
{
Case “aaa”:
system.out.println(“from aaa”);
Case “bbb”:
system.out.println(“from bbb”);
Default:
system.out.println(“from default”);
}}}
23. Special Keywords in Java
• Static
• Final
• Volatile
• Transient
• Strictfp
• Assert
• Byte
• Native
• Boolean
24. Final:
– Final is also like constant the give value can not
change throughout the program
Transient:
– Used within a certain period of time So it's not used
more
Strictfp:
– Display the exact result in a float
Assert:
– Implementing our assumption
25. Native:
– A program created in c can be accessed in Java
Byte:
– Between range (-128 to 0 to 127)
– Eg: byte b=123 is accepted
Byte b=129 is not accepted
Boolean:
– Assigning true or false to a statement or block
27. Example for static and volatile
Eg Program:
Class samp
{
int a;
Static int b;
Volatile int c;
}
{
Samp s1.new samp;
Samp s2.new samp;
Samp s3.new samp;
}
28. Static memory allocation
a=1 ,b=2 ,c=3
s1 s2 s3
a
c
b (b is declared as static so it is
used in common)
1 0 0
3 3 3
2
30. Java literals
Integer literal:
Eg: int a=10;
int b=010;
In integer literal if the first value is ‘0’ compiler
will take that as octal value.
Perform the operation and display the output
Output:
8
31. int a=1;
int b=2;
int c=0x10;
In integer literal if the first value is ‘0x’ compiler
will take that as hexadecimal value.
Perform the operation and display the output
Output:
16
34. String literals
string s=“erode”;
String s=“erobde”(o/p:erde(since /b is defined
as backspace))
Eg:
int a=10;
int b=20;
int c=30;
string s=“hai”;
s.o.p(“a+b+c+s”);
s.o.p(“a+b+s+c”);
s.o.p(“a+s+b+s”);