[go: up one dir, main page]

0% found this document useful (0 votes)
2 views24 pages

Final Report

Download as docx, pdf, or txt
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 24

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

JNANA SANGAMA, BELAGAVI - 590 014

An Internship Report on

“Java programming fundamentals”

Submitted by

Vamshi M
1AY21EC127

Under the Guidance of

Mrs. Kumbhar Trupti


Assistant Professor
Dept. of ECE

2022-2023

DEPARTMENT OF ELECTRONICS & COMMUNICATION


ENGINEERING
Acharya Institute of Technology
Acharya Institute of Technology Acharya Dr. Sarvepalli Radhakrishnan Road, Soladevanahalli, Bengaluru-560107
ACHARYA INSTITUTE OF TECHNOLOGY
Hesaraghatta Road, Dr. Sarvepalli Radhakrishnan Road
Bengaluru 560107
DEPARTMENT OF ELECTRONICS AND COMMUNICATION
ENGINEERING.

CERTIFICATE
Certified that the Internship entitled “Embedded system and IOT” is
carried out by Vamshi M bearing USN 1AY21EC127 in the partial fulfillment
for the award of degree of Bachelor of Engineering in Electronics and
Communication Engineering of Visvesvaraya Technological University,
Belagavi during the year 2022-2023. It is certified that all
corrections/suggestions indicated for the assessment have been incorporated in
the report deposited in the departmental library. The Internship Report has been
approved as it satisfies the academic requirement in respect of Internship
work (21INT49) prescribed for the Bachelor of Engineering Degree.

…………… ………………

Signature of Guide Signature of HOD


Mrs.Kumbhar Trupti Dr.Rajeswari
Assistant Professor Prof and Head of Dept.
Dept. of ECE, AIT Dept. of ECE, AIT
Internship Certificate
ACHARYA INSTITUTE OF TECHNOLOGY
Hesaraghatta Road, Dr. Sarvepalli Radhakrishnan Road
Bengaluru 560107
DEPARTMENT OF ELECTRONICS AND COMMUNICATION
ENGINEERING.

2022-2023

DECLARATION
I, Vamshi M, 1AY21EC050, hereby declare that the Internship work entitled “JAVA
programming fundamentals” has been independently carried out by me under the
supervision of Mrs. SUMA C Assistant Professor Dept. of ECE, AIT, Department of
Electronics and Communication Engineering, Acharya Institute of Technology in partial
fulfilment of the requirement for the award of the degree of Bachelor of Engineering in
Electronics and Communication Engineering by Visvesvaraya Technological
University, Belagavi during the year 2022-23.

Place: Bangalore Vamshi M


Date: 1AY21EC127
ACKNOWLEDGEMENT
The satisfaction and euphoria that accompany the successful completion of a task would be
incomplete without the mention of the people who made it possible and without their
constant guidance and encouragement, success would not have been possible.

I am grateful to the institute Acharya Institute of Technology and management with its
ideas and inspiration for having provided us with the good infrastructure, laboratory,
facilities and inspiring staff which has made this seminar report complete successfully.

I would like to express my sincere gratitude to Dr. Rajath Hegde M, AIT for all the
facilities that he has extended throughout my work.

I heartily thank and express my sincere gratitude to Dr. Rajeswari, Professor and HOD,
Dept. of ECE, AIT for her valuable support and a constant source of enthusiastic
inspiration to steer us forward.

I would like to express my sincere gratitude to the Internal Guide Mrs.Kumbhar Trupti
Assistant Professor, Dept. of ECE, AIT for her invaluable guidance and support.

I would like to express my sincere gratitude to the Internship Coordinators Mrs. Suma C ,
Assistant Professor, Dept. of ECE, AIT and Mrs. Sumangala S Assistant Professor,
Dept. of ECE, AIT for their valuable guidance and support.

Finally, I would like to express my sincere gratitude to my parents, all teaching and
nonteaching faculty members and friends for their moral support, encouragement and help
throughout the completion of the Technical Seminar.

Vamshi M
1AY21EC127
ABSTRACT
Java programming language was developed by Sun Microsystems in the early 1990s. Although
it is primarily used for Internet-based applications, Java is a simple, efficient, general purpose
language. Java was originally designed for embedded network applications running on multiple
platforms. It is a portable, object-oriented, interpreted language.

The use of compiled byte-code allows the interpreter (the virtual machine) to be small and
efficient (and nearly as fast as the CPU running native, compiled code). In addition, this
bytecode gives Java its portability: it will run on any JVM that is correctly implemented,
regardless of computer hardware or software configuration. Most Web browsers (such as
Microsoft Internet Explorer or Netscape Communicator) contain a JVM to run Java applets.
Java programming language was developed by Sun Microsystems in the early 1990s. Although
it is primarily used for Internet-based applications, Java is a simple, efficient, general-purpose
language. Java was originally designed for embedded network applications running on multiple
platforms. It is a portable, object-oriented, interpreted language.
JAVA programming fundamentals 2022-2023

TABLE OF CONTENTS
ACKNOWLEDGEMENT I

ABSTRACT II

TABLE OF CONTENTS III

LIST OF FIGURES
IV

CHAPTERS PAGE NO.

1. INTRODUCTION
1.1 JAVA PROGRAMMING FUNDAMENTALS 08-09

1.2 JAVA TERMINOLOGIES 09-10

2. TOOLS & TECHNOLOGIES


2.1 BEST JAVA TOOLS FOR DEVELOPMENT 11-16
2.2 BEST TECHNOLOGIES A JAVA DEVELOPER

3. LEARNING OUTCOMES 17-18


4. CONTRIBUTION WITH RESULTS AND DISCUSSIONS 19-21

5. SUMMARY 22
6. REFERENCES 23

Dept. of ECE, AIT, Bangalore Page 7


JAVA programming fundamentals 2022-2023

CHAPTER 1

Introduction

1.1 Java Programming Fundamentals:

JAVA was developed by James Gosling at Sun Microsystems Inc in the year 1995,
later acquired by Oracle Corporation. It is a simple programming language. Java makes
writing, compiling, and debugging programming easy. It helps to create reusable code
and modular programs. Java is a class-based, object-oriented programming language and
is designed to have as few implementation dependencies as possible. A general-purpose
programming language made for developers to write once run anywhere that is compiled
Java code can run on all platforms that support Java. Java applications are compiled to
byte code that can run on any Java Virtual Machine. The syntax of Java is similar to
c/c++.

History: Java’s history is very interesting. It is a programming language created in


1991. James Gosling, Mike Sheridan, and Patrick Naughton, a team of Sun engineers
known as the Green team initiated the Java language in 1991. Sun Microsystems
released its first public implementation in 1996 as Java 1.0. It provides no-cost -run-
times on popular platforms. Java1.0 compiler was re-written in Java by Arthur Van Hoff
to strictly comply with its specifications. With the arrival of Java 2, new versions had
multiple configurations built for different types of platforms.
In 1997, Sun Microsystems approached the ISO standards body and later formalized
Java, but it soon withdrew from the process. At one time, Sun made most of its Java
implementations available without charge, despite their proprietary software status. Sun
generated revenue from Java through the selling of licenses for specialized products
such as the Java Enterprise System[1]

On November 13, 2006, Sun released much of its Java virtual machine as free,
opensource software. On May 8, 2007, Sun finished the process, making all of its
JVM’s core code available under open-source distribution terms. The principles for
creating java were simple, robust, secured, high performance, portable, multi-threaded,
interpreted, dynamic, etc. In 1995 Java was developed by James Gosling, who is known
as the Father of Java.

Dept. of ECE, AIT, Bangalore Page 8


JAVA programming fundamentals 2022-2023

Dept. of ECE, AIT, Bangalore Page 9


JAVA programming fundamentals 2022-2023

Java programming language is named JAVA. Why?

After the name OAK, the team decided to give a new name to it and the suggested
words were Silk, Jolt, revolutionary, DNA, dynamic, etc. These all names were easy to
spell and fun to say, but they all wanted the name to reflect the essence of technology. In
accordance with James Gosling, Java the among the top names along with Silk, and
since java was a unique name so most of them preferred it.
Java is the name of an island in Indonesia where the first coffee (named java coffee)
was produced. And this name was chosen by James Gosling while having coffee near
his office.
Note that Java is just a name, not an acronym.

1.2 Java Terminology

Before learning Java, one must be familiar with these common terms of Java.

1.2.1Java Virtual Machine (JVM):


This is generally referred to as JVM. There are three execution phases of a program.
They are written, compile and run the program.
• Writing a program is done by a java programmer like you and me.
• The compilation is done by the JAVAC compiler which is a primary Java
compiler included in the Java development kit (JDK). It takes the Java program
as input and generates bytecode as output.
• In the Running phase of a program, JVM executes the bytecode generated by the
compiler.
• Now, we understood that the function of Java Virtual Machine is to execute the
bytecode produced by the compiler. Every Operating System has a different
JVM but the output they produce after the execution of bytecode is the same
across all the operating systems. This is why Java is known as a platform-
independent language.

Dept. of ECE, AIT, Bangalore Page 10


JAVA programming fundamentals 2022-2023

1.2.2. Byte code in the Development process:


As discussed, the Java c compiler of JDK compiles the java source code into bytecode
so that it can be executed by JVM. It is saved as .class file by the compiler. To view the
bytecode, a disassembler like java p can be used.

1.2.3. Java Development Kit (JDK):


While we were using the term JDK when we learn about bytecode and JVM. So, as the
name suggests, it is a complete Java development kit that includes everything including
compiler, Java Runtime Environment (JRE), java debuggers, java docs, etc. For the
program to execute in java, we need to install JDK on our computer in order to create,
compile and run the java program.

1.2.4. Java Runtime Environment (JRE):


JDK includes JRE. JRE installation on our computers allows the java program to run,
however, we cannot compile it. JRE includes a browser, JVM, applet supports, and
plugins. For running the java program, a computer needs JRE.

1.2.5. Garbage Collector:


In Java, programmers can’t delete the objects. To delete or recollect that memory JVM
has a program called Garbage Collector. Garbage Collectors can recollect the objects
that are not referenced. So, java makes the life of a programmer easy by handling
memory management. However, programmers should be careful about their code
whether they are using objects that have been used for a long time. Because Garbage
cannot recover the memory of objects being referenced.

1.2.6. Class Path:


The class path is the file path where the java runtime and Java compiler look for .class
files to load. By default, JDK provides many libraries. If you want to include external
libraries, they should be added to the class path.

Dept. of ECE, AIT, Bangalore Page 11


JAVA programming fundamentals 2022-2023

CHAPTER 2

Tools and Technologies Used

There are many tools available for Java management. These software ease the entire
process of developing, testing and deployment in Java.

Following is a handpicked list of Java Tools for Developers, with their popular features
and website links. The list contains both open source(free) and commercial(paid) tools.

2.1 Best JAVA Tools for Development:

2.1.1 Site24x7

Monitor the performance of your Java applications with Site24x7 APM Insight. Site24x7
is a SaaS-based all-in-one monitoring solution for DevOps and IT. With Site24x7 APM,
you can get a holistic view of your application performance in real-time and debug errors
with ease.
Key Features:

• Get a bird’s eye view of Java app performance with application dependency maps
• Support for monitoring individual methods or functions in code using custom
instrumentation
• Support for distributed tracing – identify errors across microservices and
distributed architecture
• Real-time reports on JVM performance including key metrics like JVM CPU
usage, garbage collection, run-time memory, heap memory, with alerting.
• It provides Java, .NET, Ruby, PHP, Node.js, and Python languages supports
• Seamlessly integrates with ServiceNow, PagerDuty, Ops genie, Jira, Moog soft,
ConnectWise Manage, Zoo Desk, ManageEngine Alarms One, Webhooks, Slack,
Microsoft Teams, and more.

Dept. of ECE, AIT, Bangalore Page 12


JAVA programming fundamentals 2022-2023

• This tool also provide mobile access, SLA management, Hosted status pages, For
Managed Service Providers, Alerts and reports, Root cause analysis, Web Page
Speed,
Website Monitoring, DNS Server Monitoring, 120+ Global Monitoring Locations,
Website Availability Monitoring (HTTP / HTTPS), Website Defacement Monitoring, and
more.
• Offers plugin support MySQL, WebLogic, Glass Fish, Tomcat, Apache, Nagios
databases, load balancers, message brokers and caches
• It provides customer support via Chat, Contact Form, Email and Phone
• Supported Platforms: Windows and Linux

• Price: Plans start at $9 a month


• Free Trial: 30 Days Free Trial

2.1.2 Manage Engine Applications Manager

ManageEngine Applications Manager helps proactively monitor Java applications and


the infrastructure performance.
Features:

• Monitor, optimize and troubleshoot Java application performance with the help of
code-level insights, distributed traces, and more.
• Supports monitoring of Java Virtual Machine (JVM), Java Runtime Environment
(JRE), Java application server, JDBC, JMX and Java thread dumps.
• prevent fault occurrence and unnecessary oversight.
• Automatic corrective actions using web hooks to start external actions.
• Machine learning enabled analytics which helps anticipate future resource
utilization and growth.
• It provides GO, C++, Python, Java, JavaScript, and Swift languages supports
• Seamlessly integrates with Op Manager, Alarms One, Analytics Plus,
ServiceDesk Plus, ServiceNow and Slack
• This tool also provides Application Discovery and Dependency Mapping,
Business
Service Management, Fault Management and Alerts, Application Analytics,
Mobile Application and REST APIs
Dept. of ECE, AIT, Bangalore Page 13
JAVA programming fundamentals 2022-2023

• Offers plugin support Op Manager, APM plugin


• It provides customer support via Chat, Email and Phone
• Supported Platforms: Windows, Mac and Linux
• Price: Plans start at $395 for 10 Monitors with 1 User
• Free Trial: 30 Days Free Trial

2.1.3 Junit

JUnit is an open sources unit testing tool for Java programming language. It is important
Java development tool for test-driven development and deployment.

Features:

• Preparation of input data and setup/creation of fake objects


• Loading databases with a specific known set of data
• It provides annotations so that test classes can have fixture run before or after
every test
• JUnit provides support for writing and running tests
• It provides annotations to identify test methods
• Provides assertions for testing expected results
• JUnit tests allow writing codes faster, which increases quality
• It provides Java, React, Go, Python, Node.js languages support
• Seamlessly integrates with Eclipse, NetBeans, Mockito, etc.
• This tool also provided hierarchical test structures, Display names and tags •
Offers plugin support Gradle, Project Report, and Project Build Plugins
• It provides customer support via email.
• Supported Platforms: Windows, Mac and Linux
• Price: Open sources Tool Free to Download

2.1.4 NetBeans

NetBeans is FREE, open-source IDE. It is one of the best Java developer tools which
allows developing desktop, mobile and web applications.

Dept. of ECE, AIT, Bangalore Page 14


JAVA programming fundamentals 2022-2023

Features:

• It offers complete support for Latest Java Technologies


• Support for fast & smart code editing
• Easy & Efficient Project Management process
• Rapid User Interface Development
• Helps to write bug-free code
• NetBeans IDE offers superior support for C/C++ and PHP developers
• It provides Java, JavaScript, PHP and HTML languages supports
• Seamlessly integrates with Databases, and Source Code Management tools
• This tool also provides Contributing code, Validating issues and Reporting issues
• Offers plugin support NetBeans CSV Editor, NB Figletize, NB Spring Boot,
Codename One NetBeans Plugin, jVi for NB Update Center, Twig Linter, Upload
Files Button, External Java Code Formatters for NetBeans, Yoda Quote and
GUI Popup & Inspect
• It provides customer support via email.
• Supported Platforms: Windows, Mac and Linux
• Price: Open Sources Tool Free to Download

2.1.5 Apache Maven

Apache Maven is a software Project Management Tool. It is based on the Project


Object Model (POM) concept.

Features:

• Simple project setup that follows best practices to get a new project or module
started in seconds
• This Java programmer software allows easy writing of plugins using Java
• Instant access to new features with very few extra configuration
• Ant tasks for dependency management and deployment outside of Maven
• Release management and distribution publication
• It encourages the use of a central repository of JARs and other dependencies
• It provides Java, C, C++, Perl, Tcl and Python languages supports
• Seamlessly integrates with Eclipse IDE, JetBrains
Dept. of ECE, AIT, Bangalore Page 15
JAVA programming fundamentals 2022-2023

• This tool also provides Simple project setup, Superior dependency management,
Manages a project’s Build, Reporting and Documentation

• Offers plugin support clean, compiler, deploy, failsafe, install, resources, site,
surefire and verifier
• It provides customer support via email
• Supported Platforms: Windows, Mac and Linux
• Price: Open Sources Tool Free to Download

2.2 Best Technologies a Java developer must know:

What are the technologies a Java developer must know?

A java Developer must know the fallowing technologies.

1. Core java: Perfect in core java.

Specially in

a. Collection Frame work.

b. Exception Handling

c. Multithreading.

d. String Handling

e. OOPS

2. JNDI, JDBC:

Operations on JDBC, and JNDI.

3. SQL queries (Basics)

4. Servlets and JSP:

A good understanding of Servlet and JSP

Dept. of ECE, AIT, Bangalore Page 16


JAVA programming fundamentals 2022-2023

Frame Work:

a. Struts or Spring,

But now a days no new projects are developed using Struts, so prefer to gain knowledge
of Spring.

b. Hibernate (JPA):

You should have knowledge on hibernate for java persistence.

c. Web Services

You should have knowledge of Web Services for Distributed aap.

5. Knowledge of HTML and CSS

For a java developer one should know the above technologies.

Dept. of ECE, AIT, Bangalore Page 17


JAVA programming fundamentals 2022-2023

CHAPTER 3
Learning Outcomes

Course Description

Covers software design, implementation, and testing using Java. Introduces object-
oriented design techniques and problem solving. Emphasizes development of secure,
well-designed software projects that solve practical, real-world problems.

Intended Outcomes for the course

Upon completion of the course students should be able to:

• Use an integrated development environment to write, compile, run, and test simple
object-oriented Java programs.
• Read and make elementary modifications to Java programs that solve real-world
problems.
• Validate input in a Java program.
• Identify and fix defects and common security issues in code.
• Document a Java program using Javadoc.
• Use a version control system to track source code in a project.

Course Activities and Design

This course is presented by means of lecture/discussion sessions, assignments, exams,


and Java projects.

Outcome Assessment Strategies

Students will complete software projects comprised of an object-oriented design,


implementation, and test plan.

Dept. of ECE, AIT, Bangalore Page 18


JAVA programming fundamentals 2022-2023

• Designs will demonstrate the use of good object-oriented design principles


including encapsulation and information hiding.
• The implementation will demonstrate the use of a variety of basic control
structures including selection and repetition; classes and objects in a tiered
architecture (user interface, controller, and application logic layers); primitive and
reference data types including composition; basic AWT components; file-based
I/O; and one-dimensional arrays.
• Test plans will include test cases demonstrating both black box and glass box
testing strategies.[3]

Dept. of ECE, AIT, Bangalore Page 19


JAVA programming fundamentals 2022-2023

CHAPTER 4

Contributions and Discussions

Java contribution to the internet:

The application-level safety features of Java make it possible to develop new kinds
of applications that were infeasible before now. A web browser that implements the
Java runtime system can incorporate Java applets as executable content inside of
documents. This means that web pages can contain not only static hypertext
information but also full-fledged interactive applications. The added potential for use of
the Web is enormous. A user can retrieve and use software simply by navigating with a
web browser. Formerly static information can be paired with portable software for
interpreting and using the information. Instead of just providing some data for a
spreadsheet, for example, a web document might contain a fully functional spreadsheet
application embedded within it that allows users to view and manipulate the
information.

Applets

Java applet is a compiled Java program, composed of classes just like any Java
program. While a simple applet may consist of only a single class, most large applets
should be broken into many classes. Each class is stored in a separate class file. The
class files for an applet are retrieved from the network as they are needed. A large
applet doesn’t need to retrieve all its parts or all its data before beginning to interact
with the user. Well-designed applets can take advantage of multithreading to wait for
certain resources in the background, while performing other activities.
An applet has a four-part life cycle. When an applet is initially loaded by a web
browser, it’s asked to initialize itself. The applet is then informed each time it’s
displayed and each time it’s no longer visible to the user. Finally, the applet is told
when it’s no longer needed, so that it can clean up after itself. During its lifetime, an
applet may start and suspend itself, do work, communicate with other applications, and
interact with the Web browser.
Dept. of ECE, AIT, Bangalore Page 20
JAVA programming fundamentals 2022-2023

New Kinds of Media

When it was first released, Java quickly achieved a reputation for multimedia
capabilities.

Frankly, this wasn’t really deserved. At that point, Java provided facilities for doing
simple animations and playing audio. You could animate and play audio
simultaneously, though you couldn’t synchronize the two. Still, this was a significant
advance for the Web, and people thought it was pretty impressive.

Java’s multimedia capabilities have now taken shape. Java now has CD-quality sound,
3D animation, media players that synchronize audio and video, speech synthesis and
recognition, and more. The Java Media Framework now supports most common audio
and video file formats; The Java Sound API (part of the core classes) has the ability to
record sound from a computer’s microphone.

New Software Development Models

For some time now, people have been using visual development environments to
develop user interfaces. These environments let you generate applications by moving
components around on the screen, connecting components to each other, and so on. In
short, designing a user interface is a lot more like drawing a picture than like writing
code.
For visual development environments to work well, you need to be able to create
reusable software components. That’s what the JavaBeans architecture is all about: it
defines a way to package software as reusable building blocks. A graphical
development tool can figure out a component’s capabilities, customize the component,
and connect it to other components to build applications. JavaBeans takes the idea of
graphical development a step further [4]
JavaBeans components, called Beans, aren’t limited to visible, user interface
components: you can have Beans that are entirely invisible and whose job is purely
computational. For example, you could have a Bean that does database access; you
could connect this to a Bean that lets the user request information from the database;

Dept. of ECE, AIT, Bangalore Page 21


JAVA programming fundamentals 2022-2023

and you could use another Bean to display the result. Or you could have a set of Beans
that

implement the functions in a mathematical library; you could then do numerical


analysis by connecting different functions to each other.

In either case, you could “write” programs without writing a single line of code.
Granted, someone would have to write the Beans in the first place; but that’s a much
smaller task and we expect markets to develop for “off the shelf " Bean collections.

Dept. of ECE, AIT, Bangalore Page 22


JAVA programming fundamentals 2022-2023

CHAPTER 5
Summary

• Java is the fastest growing programming language in the world. It is secure,


robust, and portable.
• The java compiler translates Java into a pseudo machine language called Java byte
code. Byte code can be run on any computer that has a Java virtual machine
installed. The Java virtual machine (JVM)is a program that behaves like a
computer-an interpreter.
• Java is an object-oriented language and lends itself to the creation of reusable
components.
• Java language supports abstract data types, encapsulation, inheritance, and
polymorphism, uses iterative and incremental methodology, and implements
design patterns.

Dept. of ECE, AIT, Bangalore Page 23


JAVA programming fundamentals 2022-2023

References

[1] https://infyspringboard.onwingspan.com.
[2] https://www.slideshare.net
[3]https://www.tutorialspoint.com/fundamentals-of-java-programming/index.asp
[4]https://www.javapoint.com/java-tutorial

Dept. of ECE, AIT, Bangalore Page 24

You might also like