Final Report
Final Report
Final Report
An Internship Report on
Submitted by
Vamshi M
1AY21EC127
2022-2023
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.
…………… ………………
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.
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
LIST OF FIGURES
IV
1. INTRODUCTION
1.1 JAVA PROGRAMMING FUNDAMENTALS 08-09
5. SUMMARY 22
6. REFERENCES 23
CHAPTER 1
Introduction
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++.
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.
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.
Before learning Java, one must be familiar with these common terms of Java.
CHAPTER 2
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.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.
• 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
• 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
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:
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.
Features:
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
Specially in
b. Exception Handling
c. Multithreading.
d. String Handling
e. OOPS
2. JNDI, JDBC:
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):
c. Web Services
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.
• 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.
CHAPTER 4
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
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.
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;
and you could use another Bean to display the result. Or you could have a set of Beans
that
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.
CHAPTER 5
Summary
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