Features of java - Buzzwords
The developers of java wanted to develop a language which could offer solutions to some of the problems encountered in modern programming. They wanted a language that is simple, secure, reliable, portable, distributed, interactive and robust. All of these features are present in java language. The features of Java are also known as java buzzwords. Here are the key features of Java:
The buzzwords of Java:
Java is a simple language. The sources of unreliable code are not a part of java that were present in C and C++. For example as compared to C and C++, java does not use pointers, preprocessor header files, goto statement and many others. It also elimnates operator overloading. Since java is free from pointer, its execution time of application is improved. It contains user friendly syntax for developing any applications. It has a rich set of application protocol interface (API).
Platform Independent :
Bytecode is generated on the compilation of a java program. The bytecode generated by the compiler is platform indepedent and can be run on any device. Any device with Java Runtime Environment(JRE) can run bytecode. The bytecode format also provide security. Programming languages such as C, C++ etc are specific to a platform . Java is the programming language that guarantees us to “Write once and run anywhere”.
Java is a robust programming language. It provides us many safegaurds to ensure a good reliable code and has a strict checking of data types during compile and run time. It has automatic garbage collection function for all memory mangement problem. It eliminates the risk of crashing of the system and captures serious errors by using the concept of exception handling.
Java is an object-oriented programming language. In java everything is almost an object. Within objects and classes all the program code and data are present. In java programs are huge set of classes, arranged in packages. The software development and maintenance processs is simplified by using object-oriented programming (OOPs) methodology.
Basic concepts of OOPs are:
Java is a dynamic language. Methods, objects and new class libraries can be dynamically linked in java program. It supports dynamic memory allocation which improves the performance of the application and reduces the wastage of memory. To allocate memory space dynamically the "new" operator is used , It is also known as dynamic memory allocation operator.
The type of class can also be determined through a query and depending on the response, It is possible to either dynamically link or abort the program. It supports functions written in other languages such as C and C++. These functions are known as native methods.
Java is the foremost choice ,when it comes to security. It helps us to develop a system which is free from virus and cannot be tempered easily. It ensures that no viruses are communicated with an applet and also verifies all the memory access . The absence of pointers in java ensures that without proper authorization the program cannot gain access to memory location. Java programs runs in JRE without any interaction with the system OS, that is why it is more secure . So, java is used in banking applications.
Multi Threading :
Multithreading is a technique that allows execution of multiple tasks(here threads or parts of program) simultaneously to maximize CPU utilization. Java supports multithreaded programs. This means we need not wait for one application to finish one task before beginning another. Such, that it execute multiple threads at the same time utilizing the same memory and other resources like while listening a audio file, we can download a movie and browse the internet. A common memory area is shared in java. Threads are important for many different applications like gaming, web application, etc.
The portability is the most significant feature of java over other language. Java programs can be
easily moved from one system to another. Java programs are not affected by the changes and
upgrades in the operating systems and system resources. This is the reason why java has become a
popular programming language for the internet which connects different system worldwide.
It ensures protability because of two main reason :
- Java compiler generates bytecode instructions which is platform independent.
- The primitive data types size are machine independent.
Java is designed for distributed environment of Internet as it supports TCP/IP protocols and Remote Method Invocation (RMI). Both data and programs can be shared across the network. Java application can open and access remote objects on internet as easily as they can do in local system. So, distributed applications are created using RMI and EJB. This enables multiple programmmers from different location in world to collaborate and work on a single project.
Web based applications are the main reason for the development of java. For developing network based applications J2EE is used . It is the most preferred language for the network applications such as banking systems.
Architectural Neutral :
Architecture represents processor of the system. Java Language is said to be architectural neutral as it can compile and run on any device or processor without much consideration of their compilation and development.
High performance :
The use of intermediate bytecode increases the performance of java which is faster than the ordinary pointer code. During runtime overheads is reduced due to its architecture design. There is an improvement in the performance of the application due to the garbage collector, that collect the unused memory space. The overall execution speed of java programs increases due to the inclusion of the concept of multithreading.
Advantages of java
The advantages of java are as follows :
- Java is much simpler than C and C++. It was designed to be easy to use, write, compile, run, debug and learn than other programming languages.
- It allows us to create reusable code and modular programs.
- It is platfrom independent and portable.
- It is designed to make distributed computing easy with the networking capability and has the ability to share both data and programs across the network.
- The Java language is the foremost choice when it comes to security. Security was the main thing that was considered while the development of its compiler, interpreter and runtime environment.
- It has the feature of allocation of stack that helps the data to be stored and can be restored easily and has the capability to perform multiple task simultaneously.
- It has the feature of automatic garbage collection and memory allocation.
Disadvantages of Java
The disadvantages of java are as follows :
- Compared to natively compiled languages such as C or C++, the performance of java is significantly low and more memory is consumed.
- The development of GUI applications using the swing toolkit in java is very different from the native applications.
- It is a single-paradigm language with the inclusion of static imports in Java 5.0 and the procedural paradigm is better accommodated than in earlier versions of Java.