What is Java?
Java is a high-level object-oriented programming language developed by the Sun Microsystems. Though it is associated with the World Wide Web but it is older than the origin of Web. It was only developed keeping in mind the consumer electronics and communication equipments. It came into existence as a part of web application, web services and a platform independent programming language in the 1990s.
Earlier, C++ was widely used to write object oriented programming languages, however, it was not a platform independent and needed to be recompiled for each different CPUs. A team of Sun Microsystems including Patrick Naughton, Mike Sheridan in the guidance of James Goslings decided to develop an advanced programming language for the betterment of consumer electronic devices. They wanted to make it new software based on the power of networks that can run on different application areas, such as computers and electronic devices. In the year 1991 they make platform independent software and named it Oak. But later due to some patent conflicts, it was renamed as Java and in 1995 the Java 1.0 was officially released to the world.
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.
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.
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) J2EE – 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
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).