Home > Explaining Java Technology > Explaining Java Technology

Explaining Java Technology

  

Module 1 – Explaining Java Technology.

 

Objective:

Upon completion of reading this post, you should be able to know:

  • Key concepts of Java programming language.
  • Three Java technology product groups.
  • Seven stages of product life cycle.

 

 

Key concepts of Java programming language:

Java programming language originated in Sun Microsystems in 1999 as part of a research project to develop a programming language calld oak that would bridge the communication gap between many consumer devices such as video casette recorders & TV. Specifically, a team called green team wanted to create a software programming language enabling consumer devices with different CPU to share same software enhnacements.

 

 

1. green team

 

Initial concept failed as several deals with consumer companies were unsuccessful. So green team had to find another market. At that time www was becoming popular, and green team recognized tht the Oak language was perfect for developing web multimedia components to enhance web pages. Initially, small programs called applets became extensively used and gradually internet developers adopted what now is known as Java.

2. green team with internet

 

 

Java was designed to be:

 

1. Object Oriented: Java programming language was designed from beginning to be object oriented. wht is object-oriented?  To know about that, we shall go back to an era when procedural programming was used.

Procedural:  Programs in the past were using procedural process for development where a program performed in series of steps , in a linear fashion  and the focus was on steps as shown below:

3. procedural pgming

Object oriented:  In object-oriented, focus is on real world objects which interact with each other. Objects in turn have state, attributes & operations. 

 

4. obj orient

 

 

2. Distributed:  Unlike programs of the past, where all the pieces of the program had to be available at the beginning of the execution of the program. A java program can have its pieces scattered all over the place, even all over internet. And as it executes, it brings all the pieces together as it needs them.

This is achieved using: 

  • Remote Method Invocation (RMI)
  • Common object request broker architecture (CORBA)
  • Universal resource locator (URL)

5. distributed

 

3. Simple:  One of the design considerations of Java programming language was that it should be simple. it was meant to be simpler in comparison with c or c++. In following ways,

  • Refernce instead of pointers – takes care of memory addresses internally.
  • Garbage collectors – No longer one has to de-allocate memory.
  • Single inheritance – No multiple inheritance.
  • Boolean datatype – either true or false literal values & not 1 or 0.

 

4. Multi-threaded: Another consideration was that, Java programming language should support multi-threading. What is multi-threading? Basically, its  a means for a Java program to do many things at the same time. For ex, one thread is accessing database, another is printing through printer, another is updating UI.

6. multi threaded

 

5. Secure:  Another feature is Java’s buit-in security, every Java program is executed in JVM (Java Virtual Machine).  A JVM interprets Java code & executes it. And before it does so, it makes sure that the code doesn’t have anything unsafe in it. For ex, JVM doesn’t allow the code to directly manipulate memory, it does not allow an  applet to read /write from your hard disk.

 

7. security 

 

6. Platform – independant:  Another feature is platform independance. Its a most important design feature. To understand this feature better, we shall first see how programs in past have been compiled & executed. Previously, you would take your source code, run it thro’ a compiler, and that complier had to be for a specific platform. That compiler would give out a binary file, it would again be platform dependant and before executing the binary it had to run thro’ the linker which was again platform dependant. That linker would take binary files and libraries to give an .exe file. It can be then run only on a specific platform. For ex: win exe on a windows workstation.

 

8. platform independance

Unlike languages like C, java program language provides platform independance using which you can write once, compile once, & execute on variety of platforms. All you need to do is to take your source code, run it thro’  a java compiler whose output is platform-independant intermediatary bytecode.  This bytecode gets interpreted by JVM. JVM is specific to given platform so a bytecode can be run on different platform as desired.

8. b platform indepe

 

 

 

 

Three Java technology product groups:

 

Using java technology, you can build wide range of applications. But in order to do that, you need to know which Java technology product group to download & install.

  • J2SE –  Java 2 Standard Edition – This edition is used to build desktop solutions, such as stand-alone applications, like your word processor or spread-sheet, and distributed applications.  For ex: Applet.
  • J2EE –  Java 2 Enterprise Edition – This edition is used to build powerful multi-tier enterprise applications such as e-commerce sites. Many popular sites are built using J2EE.
  • J2ME – Java 2 Micro Edition – This edition is used to write programs with small memory foot print. For ex: cellphone, pda etc.

9. java product group

In this section, we will be covering J2SE. So we will concentrate on this product group for rest of the posts in this category.

 

Using Java 2 platform Standard Edition:

 J2SE – This is also known as the development kit. This allows to write stand alone applications & distributed applications such as applets. It contains the following:

1. JRE – Java Runtime Environment – This environment allows to run java programs. It includes JVM & java class libraries. Its also available as a seperate download, so that you can just download this alone if you want to just run java programs.

  • JVM
  • Java class libraries

2. Java compiler – This is available as a binary file called javac.exe  –  This command allows to write & compile java programs.

3. Class library documentation (downloaded seperately) – This is documentation that has been generated from the class libraries available. Its also referred to as API (Application Programming Interface). This can be best used as a reference to learn more about the class libraries.

4. Additional utilities – There are other utilities also available in this package.

5. Program examples – There are readily available java examples.

 9. a j2se

 

 

 

 

Product Life Cycle:

 There are seven stages in a product life cycle:

10 - plc

 

1. Analysis stage:

In this stage, the development team will be responsible for identifying an already existing problem which needs to be solved or finding a new idea for an application. Once that problem or idea has been identified,  the development team need to determine the scope of the problem or its boundary. Once the scope or boundary is identified, they can then identify the key major components that fall within the boundary / scope & within the project scope.

 

10. a - analysis

 

2. Design stage:

In the design phase, the development team will determine how the components will fit together to solve the problem or to create the idea. Once that is done, individual components can be designed & thier specification / blue-print can be created.

 

 10. b - design

 

3. Development stage:

In the development stage, the development team will take indvidual blue-print & create each individual component. This is where java programming is applicable. Its when the product is actually created.

 

10. c development

 

4. Testing stage:

In the testing phase, a new group comes into action and this group is known as the testing group. And the testers in the testing group’s  job is to take each of the component & run them thro’ variety of tests to see if the component makes it or breakes it.

 

 10. d testing

5. Implementation stage:

In the Implementation stage, the development and testing of the product is assumed to be complete and this is when the product is taken to the end users or customers.

 

10. e impl

6. Maintainence stage:

In the Maintainence stage, as the product has been out there for a while with the customers / end users, we may find not everything works in the way it should. In that case, the broken things are fixed.

10. f maint

 

7. End of life stage:

If the product becomes old or outdated & if there can be better enhancements to it, a newer product will be emereged.  It replaces the old version with the new version. This is end of life for the old product.

10.g eol

 

 

Note:

 

Source: Sun Microsystems Educational Services Course – Introduction to java programming language WJ-1101A

 

 

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: