Summer Training Report Java PDF
Summer Training Report Java PDF
on
Submitted by
Registration No : 11904750
Mr. Chetan
(June-July,2021)
1|Page
DECLARATION
I hereby declare that I have completed my Six weeks summer training at upGrad platform from may
28,2021 to july 15,2021 under the guidance of MR. Chetan. I declare that I have worked full
dedication during there 6 weeks of training and my learning outcomes fulfill the requirements of
training for the award of degree of B.tech. CSE , Lovely Proffesional University, Phagwara.
2|Page
ACKNOWLEDGEMENT
I would like to express my gratitude towards my University as well as upGrad for providing me the
golden opportunity to do this wonderful summer training regarding Oops in java, which also helped
me in doing a lot of homework and learning. As a result, I came to know about so many new things.
So, I am really thank full to them.
Moreover I would like to thank my friends who helped me a lot whenever I got stuck in some
problem related to my course. I am really thankfull to have such a good support of them as they
always have my back whenever I need.
I have taken efforts in this project. However, it would not have been possible without the kind
support and help of many individuals and organizations. I would like to extend my sincere thanks to
all of them.
Deepest thanks to our Trainer Mr. Chetan(Senior Trainer) for his guidance, monitoring, constant
encouragement and correcting various assignments of ours with attention and care. He has taken
pain to go through the project and training sessions and make necessary corrections as when
needed and we are very grateful for that.
3|Page
Summer Training Certificate By upGrad
4|Page
S. No. Title Page No.
1 Ìntroduction 06
2 Technology Learnt 07 - 23
4 Conclusion 25
5 Bibliography 25
5|Page
INTRODUCTION
Java is one of the programming language or technology used for developing web applications. Java
language developed at SUN Micro Systems in the year 1995 under the guidance of James.
Gosling and there team. Originally SUN Micro Systems is one of the Academic university (Standford
University Network).
Whatever the software developed in the year 1990, SUN Micro Systems has released on the name
of oak, which is original name of java (scientifically oak is one of the tree name). The OAK has
taken 18 months to develop.The oak is unable to fulfill all requirements of the industry. So James
Gosling again reviews this oak and released with the name of java in the year 1995. Scientifically
java is one of the coffee seed name.
J2SE
J2EE
J2ME
J2ME is used for developing mobile or wireless application by making use of a predefined
protocol called WAP (wireless Access / Application protocol).
6|Page
TECHNOLOGY LEARNT
It had 24 units which was further divided into chapters and then topics so during my whole 6
week course I learned the following :
INTRODUCTION TO JAVA
Overview Of Java
Define JRE
The Java Runtime Environment (JRE) is part of the Java Development Kit (JDK). It contains
set of libraries and tools for developing java application. The Java Runtime Environment
provides the minimum requirements for executing a Java application.
Define JVM
JVM is set of programs developed by sun Micro System and supplied as a part of jdk for reading
line by line of byte code and it converts into native understanding form of operating system.
Java language is one of the compiled and interpreted programming language.
Garbage Collector
Garbage Collector is the system Java program which runs in the background along with regular
Java program to collect un-Referenced (unused) memory space for improving the performance
of our applications.
Define an API
7|Page
interfaces and sub sub packages etc.
Java programming is containing user friendly syntax so that we can develop effective application
s. in other words if any language is providing user friendly syntax, we can develop error free
applications.
Definition of JIT
JIT is the set of programs developed by SUN Micro System and added as a part of JVM, to
speed up the interpretation phase
Features Of JAVA
Features of a language are nothing but the set of services or facilities provided by the language
vendors to the industry programmers. Some important features areI learnt about graphical and
mathematical explanation of theta notation. Theta notation encloses the function from above and
below. Hence it is used for analysing the average complexity of an algorithm.
8|Page
Java Classpath Setting
Path Variable
Path variable is set for providing path for all java tools like java, javac, javap, javah, jar,
appletviewer which are use in java programming. These all tools are available in bin folders so
we set path upto bin folders.
Classpath Variable
Classpath variable is set for providing path for predefined java classes which is used in our
application. All classes are available in lib/rt.jar so we set classpath upto lib/rt.jar.
The following sequence of steps represented in the diagram use compiling the java program and
executing the java programs.
Jvm, Jre, Jdk these all the backbone of java language. Each components have separate works.
Jdk and Jre physically exists but Jvm are abstract machine it means it not physically exists.
9|Page
JVM : JVM (Java Virtual Machine) is a software. It is a specification that provides runtime
environment in which java bytecode can be executed. It not physically exists.JVMs are not same
for all hardware and software, for example for window os JVM is different and for Linux VJM is
different. JVM, JRE and JDK are platform dependent because configuration of each OS differs.
But, Java is platform independent.
JRE : The Java Runtime Environment (JRE) is part of the Java Development Kit (JDK). It
contains set of libraries and tools for developing java application. The Java Runtime
Environment provides the minimum requirements for executing a Java application. It physically
exists. It contains set of libraries + other files that JVM uses at runtime.
JDK : The Java Development Kit (JDK) is primary components. It physically exists. It is
collection of programming tools and JRE, JVM.
Object is the physical as well as logical entity where as class is the only logical entity. Class:
Class is a blue print which is containing only list of variables and method and no memory is
allocated for them. A class is a group of objects that has common properties.
• Data Member
• Method
• Constructor
• Block
• State
• Behavior
• Identity
State: Represents data (value) of an object.
Behavior: Represents the behavior (functionality) of an object such as deposit, withdraw etc.
Identity: Object identity is typically implemented via a unique ID. The value of the ID is not
visible to the external user. But,it is used internally by the JVM to identify each object
uniquely.
Data Types
Datatype is a spacial keyword used to allocate sufficient memory space for the data, in other
words Data type is used for representing the data in main memory (RAM) of the computer.
In general every programming language is containing three categories of data types. They are
• Fundamental or primitive data types
byte 0 1 byte
short 0 2 byte
int 0 4 byte
long 0L 8 byte
11 | P a g e
double 0.0d 8byte
Variable
Variable is an identifier which holds data or another one variable is an identifier whose value
can be changed at the execution time of program. Variable is an identifier which can be used to
identify input data in a program.
Operator is a special symbol that tells the compiler to perform specific mathematical or logical
Operation. Java supports following lists of operators.
• Arithmetic Operators
• Relational Operators
• Logical Operators
• Bitwise Operators
• Assignment Operators
PROGRAMMING CONCEPTS
12 | P a g e
• A package is a collection of classes, interfaces and sub-packages. A sub package
contains collection of classes, interfaces and sub-sub packages etc. java.lang.*; package is
imported by default and this package is known as default package.
• Class is keyword used for developing user defined data type and every java program must
start with a concept of class.
Main( ) Method
main() method is starting execution block of a java program or any java program start their
execution from main method. If any class contain main() method known as main class.
Decision making statement statements is also called selection statement. That is depending on
the condition block need to be executed or not which is decided by condition. If the condition
is "true" statement block will be executed, if condition is "false" then statement block will not
be executed. In java there are three types of decision making statement.
• if
• if-else
• switch
Looping Statement
13 | P a g e
for loop
While loop
Do-While
Wrapper Classes
For each and every fundamental data type there exist a pre-defined class, Such predefined class
is known as wrapper class. The purpose of wrapper class is to convert numeric string data into
numerical or fundamental data.
Access modifiers:
Access modifiers are those which are applied before data members or methods of a class. These
are used to where to access and where not to access the data members or methods. In java
programming we have four access modifiers they are
Final keyword
14 | P a g e
Static keyword
The static keyword is used in java mainly for memory management. Static keyword are used
with variables, methods, blocks and nested class. Static is a keyword that are used for share the
same variable or method of a given class. This is used for a constant variable or a method that
is the same for every instance of a class. The main method of a class is generally labeled static.
This keyword
this is a reference variable that refers to the current object. It is a keyword in java language
represents current class object
Super keyword
Super keyword in java is a reference variable that is used to refer parent class object. Super is
an implicit keyword create by JVM and supply each and every java program for performing
important role in three places.
• At variable level
• At method level
• At constructor level
15 | P a g e
Synchronized Keyword
Synchronized Keyword is used for when we want to allow only one thread at a time
then use Synchronized modifier. If a method or block declared as a Synchronized
then at a time only one thread is allowed to operate on the given object.
Abstract Classes
We know that every java program must start with a concept of class that is without classes
concept there is no java program perfect.In java programming we have two types of classes
they are
1. Concrete class
2. Abstract class
The purpose of constructor is to initialize an object called object initialization. Constructors are
mainly create for initializing the object. Initialization is a process of assigning user defined
values at the time of allocation of memory space.
Types of constructors
Based on creating objects in Java constructor are classified in two types. They are
• Parameterized constructor.
16 | P a g e
Static Block in Java
Static block is a set of statements, which will be executed by the JVM before execution of main
method. At the time of class loading if we want to perform any activity we have to define that
activity inside static block because static block execute at the time of class loading.
In a class we can take any number of static block but all these static block will be execute from
top to bottom.
Relationship in Java
Type of relationship always makes to understand how to reuse the feature from one class to
another class. In java programming we have two types of relationship they are.
• Is-A Relationship
• Has-A Relationship
The process of obtaining the data members and methods from one class to another class is
known as inheritance. It is one of the fundamental features of object-oriented programming.
A class that is declared with abstract keyword, is known as abstract class. An abstract class is
one which is containing some defined method and some undefined method. In java
programming undefined methods are known as un-Implemented or abstract method.The
process of obtaining the data members and methods from one class to another class is known
as inheritance. It is one of the fundamental features of object-oriented programming.
Types of Inheritance
• Single inheritance
• Multiple inheritance
17 | P a g e
Hierarchical inheritance
• Multilevel inheritance
• Hybrid inheritance
• It's main uses are to enable polymorphism and to be able to reuse code for different
Method Overloading
Whenever same method name is exiting multiple times in the same class with different number
of parameter or different order of parameters or different types of parameters is known as
method overloading.
Whenever same method name is existing in both base class and derived class with same types of
parameters or same order of parameters is known as method Overriding.
Interface
Interface is similar to class which is collection of public static final variables (constants) and
abstract methods.The interface is a mechanism to achieve fully abstraction in java. There can
be only abstract methods in the interface. It is used to achieve fully abstraction and multiple
inheritance in Java.
19 | P a g e
If we do not know about any things about implementation just we have requirement
specification then we should be go for Interface
If we are talking about implementation but not completely (partially implemented) then we
should be go for abstract
Abstraction
Abstraction is the concept of exposing only the required essential characteristics and behavior
with respect to a context.
Hiding of data is known as data abstraction. In object oriented programming language this is
implemented automatically while writing the code in the form of class and object.
Abstraction shows only important things to the user and hides the internal details for example
when we ride a bike, we only know about how to ride bike but can not know about how it work
? and also we do not know internal functionality of bike.
Encapsulation
Benefits of encapsulation
Polymorphism is not a programming concept but it is one of the principal of OOPs. For many
objects oriented programming language polymorphism principle is common but whose
implementations are varying from one objects oriented programming language to another object
oriented programming language.
JAVA ADVANCED
Package
A package is a collection of similar types of classes, interfaces and sub-
The purpose of package concept is to provide common classes and interfaces for any program
separately. In other words if we want to develop any class or interface which is common for
most of the java programs than such common classes and interfaces must be place in a package.
21 | P a g e
Exception Handling
The process of converting system error messages into user friendly error message is known as
Exception handling. This is one of the powerful feature of Java to handle run time error and
maintain normal flow of java application.
An Exception is an event, which occurs during the execution of a program, that disrupts the
normal flow of the program's Instructions.
Type of Exception
• Checked Exception
• Un-Checked Exception
Multithreading
Multithreading in java is a process of executing multiple threads simultaneously. The aim of
multithreading is to achieve the concurrent execution.
22 | P a g e
Thread
Thread is a lightweight components and it is a flow of control. In other words a flow of control is
known as thread.State of a thread are classified into five types they are
1. New State
2. Ready State
3. Running State
4. Waiting State
5. Halted or dead State
String
String is a sequence of characters enclosed within double quotes (" ") is known as String.
Example: "Java Programming".
In java programming to store the character data we have a fundamental datatype called char.
Similarly to store the string data and to perform various operation on String data, we have three
predefined classes they are:
• String
• StringBuffer
• StringBuilder
Collection
Collections in java is a framework that provides an architecture to store and manipulate the group
of objects.All the operations that you perform on a data such as searching, sorting, insertion,
manipulation, deletion etc. can be performed by Java Collections.Java Collection simply means a
single unit of objects. Java Collection framework provides many interfaces (Set, List, Queue,
Deque etc.) and classes (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet,
TreeSet etc).
23 | P a g e
REASON FOR CHOOSING JAVA
All of the above was part of my training during my summer break I specially choose the JAVA
by upGrad for reasons stated below :
• One of the reason was the upGrad platform which is offering the course because upGrad
is one of the best platform for Computer Science Students.
• One need to learn how to make algorithm of a real life problem he/she is facing.
• It had video lectures of all the topics from which one can easily learn. I prefer learning
from video rather than books and notes.
• It was a great opportunity for me to invest my time in learning instead of wasting it here
and there during my summer break in this Covid-19 panademic.
• This was a life time accessable course which I can use to learn even after my training
whenever I want to revise.
24 | P a g e
CONCLUSION
Practical knowledge means the visualization of the knowledge, which we read in our books.
For this, we perform experiments and get observations. Practical knowledge is very
important in every field. One must be familiar with the problems related to that field so that
he may solve them and become a successful person.
After achieving the proper goal in life, an engineer has to enter in professional life.
According to this life, he has to serve an industry, may be public or private sector or self-
own. For the efficient work in the field, he must be well aware of the practical knowledge
as well as theoretical knowledge.
Due to all above reasons and to bridge the gap between theory and practical, our
Engineering curriculum provides a practical training of 45 days. During this
period a student work in the industry and get well all type of experience and
knowledge about the working of companies and hardware and software tools.
I have undergone my 45 days summer training in 5th sem at upGrad. This report is based
on the knowledge, which I acquired during my 45 days of summer training.
BIBLIOGRAPHY
• upGrad website
• upGrad Course
25 | P a g e