Java

Features of Java

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 :-

  1. Platform Independent
  2. Simple
  3. Object Oriented
  4. Robust
  5. Distributed
  6. Portable
  7. Secure
  8. Multithreaded
  9. Compiled & Interpreted
  10. Automatic Garbage Collection
  11. Built in Networking
  12. Dynamic Operations
  13. High Performance
  14. Free From
  15. Free Editor
  16. 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;

  1. Compilation &
  2. 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.

Java Vs. C++

Objectives :

  • What are the differences between Java & C++?
  • What are the differences between C++ & Java?
  • Java Vs. C++

Java

C++

1. Java imports class files. 1. C++ includes header files.
2. Java doesn’t support “goto” statement. 2. C++ supports “goto” statement.
3. Java allows multi-level break & continue statements. 3. C++ doesn’t allows multi-level break & continue statements.
4. Java doesn’t support multiple inheritances but provides interfaces. 4. C++ supports multiple inheritances.
5. Java does not have destructors. 5. C++ has destructors.
6. Java supports auto garbage collection. 6. C++ does not supports auto garbage collection, requires memory management.
7. Java does not provide the facility of operator overloading. 7. C++ supports operator overloading.
8. Java neither supports RTI nor namespaces. 8. C++ supports RTI & namespaces.
9. Virtual (Dynamic dispatch) method is default. 9. Virtual method is needed to be implemented explicitly.
10. It is a platform independent language. 10. It is not a platform independent language.
11. “.class” file is generated after compilation. 11. “.exe” file is generated after compilation.
12. Java doesn’t support pointers. 12. C++ supports pointers.
13. Java doesn’t support Templates. 13. C++ supports Templates.
14. Java uses compiler & interpreter both. 14. C++ uses compiler only.
15. Java is far from hardware than C++. 15. C++ is more nearer to hardware than Java.
16. Java has primitive data type boolean. 16. In C++, boolean is not available.
17. Through Java we can develop Distributed / Internet based applications. 17. Development of Distributed / Internet based applications is not possible in C++.
18. Java can only pass by reference (well except primitives) 18. C++ can pass by value (default) or by reference.
19. Java posses 49 keywords including some reserved words. 19. C++ has 48 keywords. ANSI C++ has 15 more keywords.

 

JUG Meetup : March 27, 2011

 

JUG Meetup : March 27, 2011

Time : 2pm – 4pm

Venue :

Atul Palandurkar,

125, “SHARDA”,

Parvati Nagar,

Rameshwari Road,

Nagpur – 440027.

Tushar Joshi, Atul Palandurkar, Shwetal Bahadure, Harshal Potliya, Rahul Raja

Attendees of JUG Meetup on 27-03-2011

Attendees :

(From Left to Right)

  1. Tushar Joshi
  2. Atul Palandurkar
  3. Shwetal Bahadure
  4. Harshal Potliya
  5. Rahul Raja

 

Today’s meeting was very important for all of us, mainly Shwetal Bahadure & Harshal Potliya who are about to join the group very soon.

 

Sir & we discussed about various important thing & tasks to be done via JUG Nagpur likewise what is open source project? How to create a open source projects & finish it? Ways to spread the JUG Nagpur to more people of Nagpur, and how to make world know about JUG Nagpur? Even we discussed our view about being a member of the group, opportunities we may found while being in JUG Nagpur, exchange of ideas & the things we can learn from each other while being together in this group.

 

We planned to have 17 & possibly more different YANPAs (Yet Another NetBeans Platform Application) in accordance with the NetBeans User Group, Nagpur. Here we are not planning for something great but just to make it for the first time & later on will come back with something really exciting & useful for everyone!

 

We also planned to spread the JUG Nagpur to each & every professional & student of Nagpur who is interested in Java & its technologies.

 

Here at the meeting we also discussed about managing the website & wiki of JUG Nagpur, and to manage the FAQ pages & other pages & then to change the role after sometime so that everyone can learn how to do the particular task?

 

Introduction to Java

Java is a object oriented programming language developed by a group of 6 people who were real hardcore programmers in Aspen, their names are as follows;

  1. Bill Joy,
  2. Andy Bechtolsheim,
  3. Wayne Rosing,
  4. Mike Sheridan,
  5. James Gosling and
  6. Patrick Naughton

The development was started under the name “Stealth Project”. In 1991, they launched “Oak” – name after tree outside Gosling’s window. It took nearly 18 months to build the first version of Oak. But in 1992, due to massive amount of hacking it fails. In Summer 1995, Sun Microsystems formerly launched it again with the name “Java” – named after a hot drink like tea.

The key aspect behind the development of the Java programming language, was the need of platform independent language. Many of the characteristics of Java are derived from C++. The Java syntaxes are much similar to C++.

Using Java one can develop all types of applications, likewise;

  • Desktop Application
  • Web Application
  • Distributed Application
  • Mobile Application, etc.

Java Tutorials

Hello friends,

After so many requests from friends & students for the Java Tutorials, I decided to start this series.

Whichever tutorials you like please give your views & feel free to write your suggestions.

Also can request for any topic or  tutorial you require.

Your Friend,

Atul Palandurkar

NetBeans Platform Certified Training

NetBeans User Group, Nagpur(India)
NetBeans User Group, Nagpur(India)

Standing, from left to right: Ketan Barapatre, Ayan Sinha, Prasanna Peshkar, Rahul Raja, Dhawal Saiya, Gaurav Murkute, Abhijeet Deshpande, Ameya Gharote, Abhishek Nagdeo.

Sitting, from left to right: Shivani Bhoyar, Vibhuti Pithwa, Amita Kashikar, Hrushikesh Zadgaonkar, Atul Palandurkar, Neeraj Chauriya, Chetan Gole, and Tushar Joshi (NetBeans Dream Team Member and Leader of the group above).

A group from lome, Togo

A group from lome, Togo

The participating students from Togo were: Ata Adjé LASSEY-ASSIAKOLEY, Koudjo D. APETOH-ANKOUTSE, Senu Ada ATCHINARD MESSANH-KANLIH, Komi Romain ABOLO-SEWOVI, Ata OUEGNIMAOUA, Bertin D. ABIASSI (who was in Canada during the training), Kodjovi Horacio TONOU, Folly Tata AYEBOUA, Yao Watèba APPETI, Paawilou-esso PALOUKI, Ayité Elom Alexandre KOUGBEADJO, and Horacio LASSEY-ASSIAKOLEY (Group Leader).

Agenda

Day 1:

    1. History & Purpose of the NetBeans Platform
    2. Getting Started with the NetBeans Platform
    3. Modularity & Dependency Management
    4. System FileSystem
    5. Nodes and Explorer Views
    6. Workshop

Day 2:

    1. Data Objects and Editors
    2. Window System
    3. Visual Library
    4. Contributing to Open Source Projects
    5. Ideas for Modules
    6. Workshop

 

Schedule

27th – 28th November 2010
2PM to 10PM

Day 1 – 27th November
02:00 to 05:00 -> Day 1 – Session 1

—————1Hr Tea Break—————

06:00 to 09:30 -> Day 1 – Session 2

——————–Dinner——————-

End of Day 1

Day 2 – 28th November
02:00 to 05:00 -> Day 2 – Session 1

—————-1Hr Tea Break————–

06:00 to 09:30 -> Day 2 – Session 2

———————Dinner——————

End of Day 2

Trainer

 

Geertjan Wielenga, Principal Product Manager, Oracle, Inc.

Geertjan Wielenga

Geertjan Wielenga

Principal Product Manager, Oracle Inc.

Location

NetScape Conference room

Infospectrum India Pvt. Ltd

IT Park, Nagpur.

INDIA

Goals

Learn about the NetBeans Platform and become experienced enough to be able to write a module, set of modules, and applications based on the NetBeans Platform. Also, to be able to locate pieces of code responsible for certain behaviour, change it and generate a patch that could be integrated back into official NetBeans.org source tree.

The course assumes the student wants to create distributed Swing applications, while having no knowledge of the NetBeans Platform or its idioms at all. The course is primarily focused on lectures accompanied by demos, with a workshop at the end of each day. At the end of the course, the student will have gained a global overview of the main NetBeans APIs, will have seen them in action, and will have used some of the main ones themselves in the workshops.

My Experience

Hey all,

Couple of months ago with the initiative of Tushar Sir, we started the NetBeans User Group, Nagpur (NUGNagpur). This group is of people passionate about NetBeans IDE or NetBeans Platform and who are located geographically in Nagpur, Maharashtra, India, and is the main collaboration tool for the members. Our focus is to share personal experiences, tricks, tips and learning with each other and contributing the community as and when possible, to do so we have conducted some meetings personally & via Skype too. NUG Nagpur also adds some nice friends me my life & a great guide in form of Tushar Sir.

There are many people who use NetBeans but they don’t know about the NetBeans Platform even I was using NetBeans but was unaware of it. Now after this 2Day training conducted by Geertjan Wielenga, Principal Product Manager, Oracle Inc. The NUGNagpur & I am thankful to Geertjan for his valuable time & for conducting the training in weekend, in India if someone does so people would have started scolding him/her that what are you doing?, seeing nobody is there, talking through microphone & all…. And for that we really appreciate Geertjan a lot for his kind efforts.

I’ll appeal to all who are using NetBeans as an IDE for Java, Android, C, C++, PHP, Groovy, Ruby on Rails, etc. development and are located in Nagpur, come forward & join NUGNagpur as soon as possible if and only if they are passionate about NetBeans IDE & eager to learn a lot. Here you guys can learn a lot, you will meet the people who are always ready to answer your problems.

The training was awesome, there were 17 people participated from NUGNagpur India, 10 people from Togo and 1 from Canada and with Geertjan in Amsterdam. The training was successfully carried out via Skype & WebEx with the LCD projectors on the big screen and we have connected Skype voice to Polycom audio device to broadcast it to all. The workshops conducted in between & at the end of each day was also very useful in learn a lot about NetBeans Platform, also added some experience to all the participants & helped a lot to clear their doubt if any.

After this training now I am “NetBeans Platform Certified Associate”. And I feel proud to be and call myself as NetBeans Platform Certified Associate. I think I have come one step close to my dream to work with the people of Sun Microsystems (now Oracle) so that I can learn a lot from their experiences & could be able to contribute some nice & useful things to world.

Day 1

On the very first day of training i.e. Day 1, we started from scratch since no one of us was aware of NetBeans Platform & the RCP (Rich Client Platform) Applications. Geertjan introduced it very nicely to all of us so that there were no doubt at all. Now after the training I am very happy that I don’t need to code that all things like Toolbar, Editor window, Properties window, Output window, Explorer window, Tree & tables, widgets, etc. since NetBeans Platform has already built it for us & we just need to use it in a proper way & don’t need to worry about the look & feel for my desktop applications because NetBeans Platform will add stunning looks to the application & great functionality too. It will also save a huge amount of development time.

We learned about the Modularity & their Plug-ability so as to make a good project. We can develop a single module which could fit in the old one to enhance the look & feel or the functionality of the old one. Dependency management, decoupling, refactoring of code, separation of concerns, etc. was also covered nicely.

The most interesting thing for me on Day 1 was Lookup API, Central Registry and RCP itself. Now I can develop Rich applications like NetBeans & plug-in for NetBeans.

The workshop was great!.

Day 2

On the second day i.e. Day 2, we started with a quick review of Day 1 consisting of a small discussion with Geertjan with a round of question-answers.

Moving on to further, we started with the Node API & learned all the other NetBeans Platform APIs. Following are the Top 10 NetBeans APIs:

  • Module System API,
  • Lookup API,
  • Window System API,
  • System FileSystem API,
  • Node API,
  • Explorer API & Property Sheet API,
  • Palette API,
  • Visual Library API,
  • Actions API,  etc.

With the help of all these and no. of rest APIs of NetBeans we can create stunning applications with great functionality like widgets, drag & drop, custom components, tree structure, table structure, nice toolbars, dockable – undockable windows, plug-in, etc.

We also learn porting of applications to NetBeans Platform, creating zip distribution, creating installer, creating “.nbm” file, plug-in center, etc.

At the end of the day we all were very happy. I really learned & enjoyed a lot. It was great & I am proud to be called as “NetBeans Platform Certified Associate”.

Now we are looking forward to develop RCP application using NetBeans Platform as soon as possible & to develop the open source projects under NUG Nagpur & the kind guidance of Geertjan & Tushar Sir.

Related Links :

Sun.com

NetBeans Zone

Download latest Apache Tomcat Server

Hello friends,

Apache Tomcat Server is a Open Source Server and it is developed by using the JSP (Java Server Pages) & Java servlets. Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations.

If you want to download the latest version of the Apache Tomcat :
http://tomcat.apache.org/

Select the version required & its done.

Java Forever Video

This is a funny video exploring family drama regarding the battle between Java & Microsoft.

Have a look at it start ROFL (Rolling On the Floor Laughing).

[youtube=http://www.youtube.com/watch?v=d9JIiCkDyMQ&fs=1&hl=en_US]