A high-level programming language developed by Sun Microsystems. Java was originally called OAK,and was designed for handheld devices and set-top boxes.Oak was unsuccessful so in 1995 Sun changed the name to Java and modified the language to take advantage of the burgeoning World Wide Web.

    Java is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Java source code files (files with a .java extension) are compiled into a format calledbytecode (files with a .class extension), which can then be executed by a Javainterpreter.


       The Java programming language and environment is designed to solve a number of problems in modern programming practice. Java started as a part of a larger project to develop advanced software for consumer electronics.

    These devices are small, reliable, portable, distributed, real-time embedded systems. When we started the project we intended to use C++, but encountered a number of problems. Initially these were just compiler technology problems, but as time passed more problems emerged that were best solved by changing the language.


    This trail covers the fundamentals of programming in the Java programming language. Object-Oriented Programming Concepts teaches you the core concepts behind object-oriented programming: objects, messages, classes, and inheritance. This lesson ends by showing you how these concepts translate into code.

    Feel free to skip this lesson if you are already familiar with object-oriented programming. Language Basics describes the traditional features of the language, including variables, arrays, data types, operators, and control flow.



    Java omits many rarely used, poorly understood, confusing features of C++ that in our experience bring more grief than benefit. These omitted features primarily consist of operator overloading, multiple inheritance, and extensive automatic coercions. We added automatic garbage collection, thereby simplifying the task of Java programming but making the system somewhat more complicated.

    A common source of complexity in many C and C++ applications is storage management: the allocation and freeing of memory. By virtue of having automatic garbage collection the Java language not only makes the programming task easier, it also dramatically cuts down on bugs.



    Java is intended for writing programs that must be reliable in a variety of ways. Java puts a lot of emphasis on early checking for possible problems, later dynamic (runtime) checking, and eliminating situations that are error prone.One of the advantages of a strongly typed language (like C++) is that it allows extensive compile-time checking so bugs can be found early.

    Unfortunately, C++ inherits a number of loopholes in compile-time checking from C, which is relatively lax (particularly method/procedure declarations). In Java, we require declarations and do not support C-style implicit declarations.




    The emerging infrastructure of smart devices and computers interconnected by networks represents a new environment for software--an environment that presents new challenges and offers new opportunities to software developers.


    Java is well suited to help software developers meet challenges and seize opportunities presented by the emerging computing environment, because Java was designed for networks.

    Its suitability for networked environments is inherent in its architecture, which enables secure, robust, platform- independent programs to be delivered across networks and run on a great variety of computers and devices.     Java was designed to support applications on networks.


    JavaBeans are reusable software components for Java that can be manipulated visually in a builder tool. PXractically, they are classes written in the Java programming language conforming to a particular convention.

    They are used to encaXpsulate many objects into a single object (the bean), so that they can be passed around as a single bean object instead of as multiple individu al objects. A JavaBeans is a Java Object that is serializable, has a nullary constructor, and allows access to properties using&nbspD;getter and setter methods.


    Programs written in Java are called applets.The first browser that could show applets was introduced in 1994, as WebRunner- later known as The HotJava Browser You do not need to know Java to install applets on your pages. There are thousands of free applets available on the internet for almost any purpose. Most of them can be customized without programming.

    An applet can be embedded into a webpage. Usually the applet has several settings that will allow you to personalize it. For instance, if you insert an applet that will work as a menu, you can specify which options should be in the menu, and which pages should be loaded upon click on an option.


    Beans are developed with a Beans Development Kit (BDK) from Sun and can be run on any major operating system platform inside a number of application environments (known as containers), including browsers, word processors, and other applications.

    To build a component with JavaBeans, you write language statements using Sun's Java programming language and include JavaBeans statements that describe component propertiessuch as user interface characteristics and eventsthat trigger a bean to communicate with other beans in the same container or elsewhere in the network. JavaBeans gives Java applications the compound document capability that the OpenDoc and ActiveX interfaces already provide.


    Java Data Mining is a standard Java API for developing data mining applications and tools. JDM defines an object model and Java API for data mining objects and processes. JDM enables applications to integrate data mining technology for developing predictive analytics applications and tools. .

    The emerging infrastructure of smart devices and computers interconnected by networks represents a new environment for software--an environment that presents new challenges and offers new opportunities to software developers.




    An application is created from classes. A class is similar to a RECORD in the Pascal language or a struct in the C language in that it stores related data in fields, where the fields can be different types. So you could, for example, store a text string in one field, an integer in another field, and a floating point in a third field. The difference between a class and RECORD or struct is that a class also defines the methods to work on the data.