Monday, March 25, 2013

Java;Notes - 1.) Basics of Java: Getting to know our new friend

Right so starting today I am going to be working on putting some Java related notes on this page just to keep things fresh. As some of you might or might not know I am working on re-learning Java but I am starting with the latest Java (J7) instead of Java 6. I will be taking these notes off of the book: Core Java (Version 9) So here is my statement of credit to the authors. So with this being said... Lets get to work!


What is Java:
Java is an object oriented programming language that was originally created in 1992 as an improvement to C++
Since 1992 Java has gone through 7 versions and is currently at "Java 7" and only really picked up speed in 1996
after the creation of the worlds first web browser built in Java called the "Hot Java" browser and it featured the capability
to run java applets over the world wide web. Since then Java has been in boom. However not with out its own share of issues.

Java and the White Paper Buzzwords:
Java when it was conceived had aimed to be quite a few things in its time such as the following list:

Simple:
Java had aimed to be the next evolution of C++ having stripped out most of the unused, and grief ridden features, as well as
cleaning up the syntax. Over all if you know C++ you will have little problem with Java as the two are related. Some of the syntax
Stayed the same such as the switch statement which we will go over later.
Object-Oriented:
Java wanted to be revolutionary in its thinking so it took on the task of making an object oriented approach to code. OOP as it is 
referred to is the act of transferring data from one class to another. Whole Programs can be referred to as an object with a simple
import function you can use all of the classes and calls from one program to another.
Network-Savvy:
Java was meant to be distributed over a network and even has the ability to remotely use objects from other programs even if they are
across the world.
Robust:
Java itself is more than a simple programming language, its a full platform. This does not mean that you can just code your own OS with it
and start using that on your supercomputer it does however mean that it provides lots of standard features. Such as:
  • Live Bug Tracking (Errors show up before you run the program)
  • No need to keep track of memory
  • and many other features that make Java a good language.
NOTE: However Java is not for the feint of heart. Due to its complex nature and its hundreds of thousands of library's Java is not suggested for the novice programmer. 
Secure: 
Java by default creates its own little island on your computer to work out of. This is often called the "JVM" or Java Virtual Machine. The JVM by default isolates the System from Java and allows the code to run in sort of a safe sandbox.
Architecture-Neutral:
What makes Java cross platform for is that any machine with the Java Runtime Environment (Another Term fro the JVM Also known as the JRE) will be able to run the programs made. Hence the motto: "Write once run anywhere"
Interpreted
Java's Interpreter basically allows you to run your code anywhere you have the "JDK"(Java Development Kit) installed. With out the need for special software.
High-Performance:
Java makes use of what is called "Just in time compilers  to make code run faster than it ever did in the yesteryears of Java's life. For a long time Java was considered "Adequate"  to get the job done.
MultiThreaded:
Due to being able to do more than one thing at a given time Java is able to make the most use of its threads to created live Interactive responsiveness and  real-time behavior. Meaning Speedy object goes in speedy object flies out.
Dynamic:
Java has a habit of evolving with its environment. The more complex things get in the environment the more you should be able to do.