New to Java technology and you want to learn Java and make career in the Java technology then this page is for you.
New to Java?
If you are new to Java
technology and you want to learn Java and make career in the Java technology then this page is for you. Here we have explained how to learn Java and master the Java technologies.
Java is a vast language and it requires a lot of effort to learn and master the necessary Java technology to start your real life projects.
Here at RoseIndia.Net, we have developed hundreds of tutorials, examples and articles to help you learn Java quickly and easily. We have tried to put support examples related to each Java technology that will help you master the concepts.
These tutorials and examples are arranged in a sequence, so that you can learn Java step by step and master the Java and JEE technologies.
Basics of Java Technology
This section provides an overview of Java technology as programming language and
a platform. Java technology is a simple, secure, robust, complete object
oriented and platform independent high level programming language. It is
also portable, high performance, multithreaded and networksavy that enable it in
constructing software that can run along in small machines. The whole
technology is based on the concept of Java Virtual Machine (JVM) that
acts as a translators of byte code into machine language. In other words JVM converts the
java byte codes into platform specific machine language.
Video Tutorial: New to Java?
Understanding the Java Technology
Java technology is high-level, object-oriented, very robust programming
language. Java is platform independent programming language and you can run your
compiled code on any operating system without recompiling your source code. Java technology is based on the concept of a single Java virtual machine (JVM) -- a translator between the language and the underlying software and hardware. All implementations of the programming language must emulate the JVM, enabling Java programs to run on any system that has a version of the JVM.
If you want to start java programming then you need to use a text editor to
create and edit the source code. By using the Java complier, you can change the
source code into byte code. The byte code can be run
on any platform having Java interpreter that can convert the byte code into
codes suitable for the operating system.
Why Java Technology is so important?
This high-level powerful programming language provides a powerful software
platform as the JVM installed on different platform understand the same byte
code. This is ideal for server side web programming and runs in a secured manner
over internet. It enhance the computing power of the users by taking merely from
desktop to the resource of the web. It contains JVM and Java Application
Programming Interface (API) that are kinds of readymade software components, and
for using any component, the need is just to import a related package in your
program use the functionality. It offers
development tools that can be used in compiling, running, debugging and documenting
the application, making the Java programming fun and easy. The automatic garbage collection mechanism helps in avoiding
memory leaks and its coding takes less development time than other programming
languages like C++.
Different Editions of Java Technology
a) Java SE - Java SE or Java Standard Edition provides tools and API's
that you can use to create server applications, desktop applications, and even applets.
These programs developed using Java SE can be run on almost every popular operating system, including Linux, Macintosh, Solaris, and Windows.
b) JEE - Based on the foundation framework of the standard edition,
Java Enterprise Edition helps in web application service,
component model and enterprise class service oriented architecture (SOA).
c) JME - Java Micro Edition or JME for short is an
accumulation of Java APIs that are used for the development of software for
devices like mobile phones, PDAs, TV set-top boxes, game programming. The
platform of micro edition generally consists of an easy user interface, a robust
security model and a wide variety of built-in networks for running Java based
application.
Components of each edition
JSE Components
JavaBeans - It is the component architecture for J2SE platform and one
can develop and assemble these software programs for better web application. It
is a reusable software component that can be manipulated visually in a builder
tool. This software assists visual builder tools in using reflection,
introspection, and also analyze and customize JavaBeans.
Java Foundation Classes (JFC) - It is a part of Java class libraries based on the Java platform used for developing graphical user interface (GUI). JFC helps in 2D graphics, imaging, text formatting and printing with the help of Abstract Window Toolkit (AWT), Swing and Java2D. With the help of input method framework, the JFC technology assists in preparing application that can be accessible to all users around the world in different languages. Drag and Drop is another feature of JFC that supports data transfers between different Java applications.
JavaHelp - It is a platform independent and a feature oriented software system that offers developer an automated help component. JavaHelp 2.0 API is useful while building online documentation and presenting online information to the application users.
Java Web Start - It is framework in the Java platform that assists in
starting Application software directly from the internet by using a web browser.
As we know Java applet can run in a browser but in case of Java Web Start, it
doesn't run inside and solve many complex problems associated with Java plugins
and JVM. It also provide many classes that in turn provides various services and
allow better access to resources. Version 1.0 was introduced in the year 2001.
Now with the release of J2SE 1.4, Java Web Start is included with Java Runtime
Environment and does need any separate installation.
Java Database Connectivity (JDBC) - JDBC API is a part of Java Standard
Edition that helps in accessing data from a SQL based database. Besides, it also
process the result and allows in using the programming language with "Write
Once, Run Anywhere" feature. Some of its key features are like full access
to metadata, no special installation and database identification.
Java Media Framework (JMF) - Its an advanced API that allows Java
developers to process and add audio-video source to Java application and
applets. It is useful for multimedia developers to capture, playback, transcode different
media formats.
JEE - Components:
Enterprise JavaBeans (EJB) - This technology is a server side component
of Java platform used for the construction of enterprise application. It
is one of the Java APIs attached with the enterprise edition. By using Java
technology, EJB helps in quick development of small, distributed, transactional
and secure application.
JavaMail - This JavaMail API technology allows to build mails and messaging application in a platform independent and protocol independent framework. It is both a part of JSE and JEE platform. Thus, JavaMail uses an extensible platform for transferring all kinds of Multimedia Internet Mail Extension (MIME).
Java Message Service (JMS) - Developed under Java community process,
JMS technology is used for sending messages between users. Basically, it
is an enterprising messaging tool used for building enterprising application.
The JMS API is a combination of Java technology and enterprising messaging that
provides facilities for building small message based application. It functions
under two models: Point-to-Point and Publishing & Subscribing
model.
JavaServer Pages (JSP) - The JSP technology enables web developers in
developing and maintaining web content pages in formats like HTML and XML. With
the help of JSP, it becomes very easy to build server and platform independent
web based application. This uses HTML and XML tags that offers logical solution
for the content. This separately user interface and content development from
each other, which allows the designer to change page layout without changing the
content.
Java Servlets - This enables a developer in adding content to a web
server by using Java platform. This provides the mechanism for enhancing the
functionality of web server. In short, servlets provides platform independent
and component based web based application without the performance limiting of
CGI program.
JME - Components:
Connected Limited Device Configuration (CLDC) - It is one of the
configurations of Java Micro Edition. 'Configuration' describes minimal features
of a complete Java. The CLDC specifies the capabilities of JVM, the base set of
API for resource limited devices like pager and mobile phones. There are two
version of CLDC: version 1.0 was released in 2000 and came to be known as Java
Specification Request (JSR)30. Later version 1.1 or JSR 139 but 1.0 is more
widely used. The Connected Limited Device Configuration and the Mobile
Information Device Profile (MIDP) together provides solid Java platform for
developing application to run on less processing power devices.
Mobile Information Device Profile (MIDP) - This is another configuration
of Java Micro Edition and coupled with CLDC, it provides a farm Java Runtime
Environment for various mobile devices and other personal digital assistance
(PDA). With the help of MIDP, developers can develop application once and then
redistribute them into various mobile information devices in a very small period
of time. Its principal functions include the user interface, network
connectivity data storage and overall application process management. There are
two versions of MIDP: one is MIDP 2.0 or JSR 118 and the second one is the MIDP
1.0 or JSR 37.
Connected Device Configuration (CDC) - Developed under the Java Community
Process (JCP), it is a standard framework of Java technology used for building
and delivering application that can be shared in a wide range of networks and
devices ranging from pagers, mobile phones, set top box and other PDA devices.
It is in two versions: the JSR 36 (CDC 1.0) and the latest one is the JSR 218 (CDC
1.1).
What should be my learning path:
- Learn Core Java - The Core Java Technology is the foundation of Java Platform of JSE. It is used in all classes of Java programming from desktop to Java Enterprise Edition. This include Java APIs, Java Application, JVM, JavaBeans, JavaScript, JSP etc.
- Learn JSP
- JSP technology assists developers in generating HTML, XML web pages. It
uses Java code and some predefined actions while creating web content. This
helps in the creation of JSP tag libraries that acts as extensions to HTML
and XML tags.
- Learn Servlets
- In a Java Platform, Servlets assists developers in adding content to a web
server. Servlets with Java server pages acts as a competitor to various
dynamic web content technologies like CGI, ASP.NET, JavaScript
etc.
- Learn about Tomcat and other servers
- Developed by Apache Software Foundation Tomcat is a Java based web
application server used to run Servlet and JSP. It is not merely limited to
application server and provides an open platform to develop extensible web
and content management service.
- Learn Open Source technologies (Struts,
Hibernate, Spring) -
Basically in Java there are three open source technologies known as
frameworks; these are Spring, Hibernate and Struts. These open source
application frameworks solves many problems related to JSE and J2EE, and
helps in effective development of web application.
- Learn
EJB - Enterprise Java Beans are a part
of J2EE and also a server sided component used mostly in large projects. It
helps in easy and rapid development of distributed, transactional and small
application based on Java technology.
- Learn about Database Management System
- It is a software designed to manage and run a database. Generally, it is
used in company back office work, accounting, customer support system and
several other purposes.