New to Java?

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?

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?

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: 

  1. 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.  
  1. 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. 
      
  2. 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.  
  3. 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. 
  4. 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.  
  5. 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. 
  6. 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.