Objective :-
- What are the features of Java?
- What are the key features of Java?
- Which features are supported by Java?
- What Object Oriented Features (OOPs features) of Java?
Following are the key features of the Java Programming Language :-
- Platform Independent
- Simple
- Object Oriented
- Robust
- Distributed
- Portable
- Secure
- Multithreaded
- Compiled & Interpreted
- Automatic Garbage Collection
- Built in Networking
- Dynamic Operations
- High Performance
- Free From
- Free Editor
- Case Sensitive
Platform Independent :
The concept of Java is “Write Once, Run Anywhere”. Here the term platform refers to the operating system, to run any java program we need JVM (Java Virtual Machine) and is not dependent on any of the tools & components provided by the operating system, therefore Java is platform independent.
Simple :
It is simple to understand i.e. user can write & update the code easily since many syntaxes are similar to C & C++, hence they are familiar too. Java also eliminates the several poor programming features of C & C++ like goto statements, header files, structures, operator overloading, multiple inheritance and pointers.
Object Oriented :
Java is based on the concepts on Object Oriented Programming Language such as Inheritance, Encapsulation, Polymorphism, Dynamic Binding, etc.
Robust :
The Java is strongly typed & allows the Java Compiler checks the program whether there any error and the Java Interpreter checks any run time error and makes the system secure from crash. These features make the java language robust.
Distributed :
Java supports different network connectivity such as HTTP, & FTP. They are also built in Java.
Portable :
The java language portable provided that the system must have interpreter for the JVM. Java also have the standard data size irrespective of operating system or the processor.
Secure :
Java does not use memory pointers explicitly. Programs run inside the virtual machine sandbox. Bytecode verification process in Java to ensure that the code loaded over the network does not violate Java security constraints such as;
- No memory pointers
- Array index limits
- Access restrictions, etc.
Multithreaded :
Java supports multithreading. Thread is nothing but the Lightweight process. When two or more than two threads runs concurrently, then they are said to be Multithreaded. Java also support synchronization of threads.
Compiled & Interpreted :
Java requires two steps to run a program;
- Compilation &
- Interpretation
The Java Compiler (javac) compiles the java code & produces the bytecode. The file generated after successful compilation containing the bytecode is known as Class file (“.class”) or Byte Code File.
The generated class file is then interpreted by the Java Interpreter (java) which gives the output.
Automatic Garbage Collection :
Java supports automatic memory management, it is done by JVM.
Built in Networking :
Java support networking as of it was designed keeping networking in mind & has many classes which help to create network & internet applications very easily.
Dynamic Operations :
Java supports various dynamic operations on demand such as;
- Linking of files from all over the world
- Loading of new classes & libraries
- Compilation of classes & libraries, etc.
High Performance :
Java uses native code & “just-in-time compiler” which converts the bytecode to machine code & since java is interpreted it gives high performance.
Free Form :
It is a free form language i.e. we can write multiple statements in a single line.
Free Editor :
It is free editor language i.e. we can edit Java programs in Notepad, Text pad, Dos editor, WordPad, VI editor, etc.
Case Sensitive :
Java is a case sensitive language i.e. it differs in small letters & capital letters.
All the above are the main features of the Java programming language.
Hello Sir,
Great post, didn’t know that java has so many features, our textbooks & java book didn’t mention all of them. I just loved it.
Thanks a lot.
Hey Raj,
These are just key features of Java, there are many on the list.
Hope you are enjoying Tutorials on Java.
test blasts
Thanks Test Blast.
Never knew Java had so many features! WOW! 🙂
Hey, these are just key features of Java whereas Java has enormous features.
I think most people know these by now.
Hello Gautam,
Yes, most people know these by now. I posted it since many of students were asking me about the features of Java, they don’t know these many features as they are not mentioned in their text books for Java prescribed by University for Bachelor of engineering & Board of Technical Education for Diploma in Engineering too. Also there is a compulsory question on features of java in exam & they were unable to answer it properly, that is why I posted this thinking that it may help many other students too.
As far as I know, there isn’t a goto command in C++
There is ”goto” in C++.
To most of us, a Dynamic Langauge refer to a Dynamically Typed language (see http://en.wikipedia.org/wiki/Dynamic_typing#Dynamic_typing). Java is a Statically typed language (which should be one of the features).
Thanks…
Thanks. Yes Java is Statically Typed Language & its also a feature of Java.
I think there’s something wrong with the RSS feed here. Seems like a missing link to me?
Sorry Timothy but I can’t help you on this.
This design is spectacular! You obviously know how to keep a reader amused. Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!) Wonderful job. I really loved what you had to say, and more than that, how you presented it. Too cool!
Hey Thanks a lot
Hmm it appears like your blog ate my first comment (it was extremely long) so I guess I’ll just sum it up what I wrote and say, I’m thoroughly enjoying your blog. I too am an aspiring blog blogger but I’m still new to the whole thing. Do you have any recommendations for first-time blog writers? I’d genuinely appreciate it.
Hey first of all thanks a lot & happy to hear that you are enjoying my blog. Hmm so you are also a blogger? If you don’t mind please let me know what topics you blog about & other details, also your blog URL so that I can have a look at it. I would love to help you in writing effective blogs & will definitely tell you many stuffs.
Thank you for sharing excellent informations. Your site is very cool. I’m impressed by the details that you have on this blog. It reveals how nicely you understand this subject. Bookmarked this website page, will come back for extra articles. You, my friend, ROCK! I found simply the information I already searched all over the place and just couldn’t come across. What a perfect website.
Hey Thanks for the appreciation & glad you like the post & blog too. Also thanks for the bookmark.
My companion and I actually loved reading this blog submit, I used to be just itching to know do you trade featured posts? I am all the time looking for somebody to make trades with and merely thought I would ask.
Thanks !
What do you mean of trading blog posts?
Hiya. Very nice blog!! Guy .. Excellent .. Amazing .. I will bookmark your site and take the feeds also…I am happy to find a lot of useful information right here in the post. Thanks for sharing..
Thanks 🙂
To continue reading such useful posts you can also subscribe the blog.
Thanks for posting, I like this blog!
Thanks UGG
Love this blog. I just wanted to let you know how much I appreciate how much time and effort you’ve put into the site. All of the content is absolutely wonderful and a joy to read. I just wish there were more sites likes these around. Anyway, thanks again and keep up all the great work. Cheers!
Thanks Justin
Hello, I think your website might be having browser compatibility
issues. When I look at your blog in Firefox, it looks fine but when opening in Internet Explorer, it has some overlapping.
I just wanted to give you a quick heads up! Other then that,
superb blog!