History of java'
-
Upload
deepthisujithra -
Category
Technology
-
view
792 -
download
1
Transcript of History of java'
HISTORY OF JAVA
JAVA
• Father of Java: James GasolineEXPANSIONS:• API-Application Programming Interface• SDK-Software Development Kit• JVM-Java virtual machine
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
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
– 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
– 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
– 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
PACKAGES
• Each class has different methods is called packages
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
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
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
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
JavaSource(. 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
Differencec
• 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
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
Markup language
• HTML, XML
• Design based language
Programming language
• C, C++, JAVA etc..,
• Logic based language
XML• User defined tags
• Focused on data storage
• Case sensitive
HTML• Predefined tags
• Focused on design
• Non case sensitive
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)
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”);}}}
Output
from aaa
Integer literal
Import java.io.*;Class intliteral{Public static void main(string g[]){int a=12_78_56;System.out.println(“a=“+a);}}
Output
a=127856
Special Keywords in Java
• Static• Final• Volatile• Transient• Strictfp• Assert• Byte• Native• Boolean
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
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
Static and Volatile
Static :– A common memory allocation
Volatile:– Share the value
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;}
Static memory allocation
a=1 ,b=2 ,c=3 s1 s2 s3ac b (b is declared as static so it is
used in common)
1 0 0
3 3 3
2
Volatile memory allocation
a=1 ,b=2 ,c=3 s1 s2 s3a c (volatile value will be
shared among the object) b
1 0 0
3 3 3
2
Java literalsInteger literal:Eg: int a=10;
int b=010;In integer literal if the first value is ‘0’ compilerwill take that as octal value.Perform the operation and display the outputOutput:8
int a=1;int b=2;int c=0x10; In integer literal if the first value is ‘0x’ compilerwill take that as hexadecimal value.Perform the operation and display the outputOutput:16
Character literals
Declarations:Char c=’p’;Char c=98;Char c=‘\n’; ”\0 is not used in java”Char c=‘\u0009’; (unicode)
Float literals
Declaration:Float f=12.56f;Float f=12.; (‘f’ no need compiler will take that
as 12.0)Bytes =4;Maximum digits =6Double:double d=75.76835457786(maximum range is
not defined)
String literalsstring s=“erode”;String s=“ero\bde”(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”);
output
60hai30hai3010hai2030(still it finds the string it will add the
content or numbers)