Java is certainly best programming language available to serious programmers out there. It is one of the best and most widely used programming language. Java is a powerful language with great features. Talking in terms of technology, Java is not a language, it is a full featured platform. If we talk about high level features then Java platform contains a wide variety of Java Libraries. These libraries has lot of useful reusable code already written. It also has execution environment within it which provides security, simplicity, portability. Its one good feature is automatic garbage collection which makes Java easier to use. If we talk about some other features then this language provides huge API’s (Application Programming Interface) , great syntax and semantics to code. It has everything that makes it a language to get addicted.
Java has very wide features. Many of the features provides the language power to code applications, software and services.
Watch this video tutorial below :-
Some of the characteristics or say features of Java are as follows:-
Simple
Java was developed to have a language which is simple and programmed easily. Java was designed to have all features of c++, plus removing all the limitation of c++. Java removes confusing features and poor standards of c++. It uses syntax which is quite clean and effective as there are no header files, pointers, structures, unions, virtual base classes and concept of operator overloading etc. However with Java you have to code a lot because it doesn't have drag-and-drop features as Visual Basic. But now-a-days there are third-parties which provides drag-and-drop features in Java Development Environment. Java helps programmer to develop a software which can run stand-alone in small machines.
Portable
Java is portable programming language. Portability is one of the most loved feature of this programming language.Generally portability means that we can run same program or code on different machines, i.e. we write code once and result have no affects whether machine is of Windows, Mac, or Unix etc. C language lacks portability to a wide range. In C we have to recompile the code when using it with different operating systems. Java provides three types of portability : 1.source code portability, 2. CPU architecture portability and 3. OS/GUI portability.
Object Oriented
Java is 99.9% object-oriented programming language. It is not purely object-oriented because of extensive use of primitive data types such as int, float, long etc, which are not objects. Object Oriented Programming language has all its main focus on data i.e. Objects. It also focuses on the interfaces that creates those objects. Every thing in java has been encapsulated into an Object. It provides many benefits such as code reusability, faster and flexible programs, less errors and isolation to programmers to work individually.
Interpreted
Java is an Interpreted Programming Language. Interpreted languages provides advantages of platform independence. Generally Java program is first compiled into bytecode and this bytecode is been interpreted by the interpreter installed on different JVM's. So Java language being interpreted also provides advantage of dynamic typing i.e runtime execution rather than compile time execution.
Network Oriented
Java is a Network-Savvy Programming Language. By this we mean that Java has an excellent library of routines which helps us coping with TCP/IP protocols like HTTP and FTP. By the help of Java's Network capabilities applications with the help of URL's can access and open objects across the network. This feature is as simple as accessing a local file over the ssystem. Networking tasks have become very much easy with the extensive use of Java , an example can be opening and closing of a socket connection and remote method invocation for establishing communication between the distributed objects.
High Performance
Java is one of the most preferred language when it comes to performance. It is an interpreted language, so the bytecodes interpretation is of high performance.At runtime these bytecodes are easily translated to machine code by just-in-time compilers. They provide higher performance than the old compilers because they have additional information available to them that which code needs to be executed again-and-again, so they optimize only those parts of code.
Robust
Java is a Robust Programming Language. Java was designed to write reliable programs. Its main aim was to become a language which can detect as many as possible errors early rather than at runtime. Java detects many such issues at compile time only as compared to many other programming language which have issues at runtime. Java is considered to be Robust because it overcomes problem of memory leakage and data corruption. Other languages like C that use pointers to access structures like arrays, strings, objects and VB which use no pointers, so it worries less about the memory allocation for above structures. While VB faces problem when accessing data structures as being the pointerless language. So Java was designed so as to work with data structures without any pointers. Thus problem of Bad pointers were avoided which caused data corruption and memory leakage.
Secure
Java is one of the most highly secured programming language. The creation of Java was done keeping security on high priority. As Java is language designed to be used with networked/distributed environments much of the steps were taken to make it virus free. Few issues had come when this language was out in market. Issues by worms and viruses making the runtime stack overrun, corrupting memory space and reading of files for which they don't have permission even. As of now this issues have been fixed and now the classes written comes with digital signatures of the author so that you can give permission to run it own your machine by seeing the digital signature.
Dynamic
Java is highly dynamic programming language. It is far ahead than other languages such as C or C++. Generally by Dynamic we mean that the language is designed in such a way that when suppose we want to extend or add, it does not create any problem for the environments. Many of Java libraries have added methods and instance variables which have no affect on the person using that library. This feature is really helpful when we want to add code in runtime such as gui builders and debuggers.
Multithreaded
Java is highly Multithreaded Programming Language because it has to output better real-time behavior and response. Java's platform dependency weakens when coming to implement threads. As compared to other programming language Java makes it easier to use threads. Java is platform independent only in calling multithreaded code and generally loads all its multithreaded implementation on underlying operating system. Basically if we look at the ease to use threads then Java is powerful language and has an attraction for server side development.
Architecture
Java is Architectural Neutral Programming Language. Generally compiler generates bytecode from the source code, this byte-code is considered to be architecturally neutral and it requires no additional CPU architecture to execute the byte-code , other than JVM. The byte-code is computer architecture independent and it needs only the interpreter which could translate it to native executable instructions.
Click here to download complete ppt
I am Jonty (Dinesh Varyani), an addicted blogger, software developer and tech savvy. I am SCJP and SCWCD certified. I write blogs on Java Programming Language. I am also instructor at Udemy. Below are the links to my courses -