What important Java Terms do I need to know? – J001
DeegeU Course
This “Important Java terms you should know” is part of a larger free online class called “Free Java Course Online”. You can find more information about this class on “Free Java Course Online” syllabus.
Try at home
- Install Java on your machine
Transcript – Important Java terms you should know
Ever start at a new company and feel like the most difficult task is just trying to figure out the acronyms and nomenclature? If you’re new to programming there’s going to be a lot of terms that you’re not familiar with. Before we dive into this Java course there are a few important Java terms I want to make you familiar with.
In the Java videos I’m assuming that you don’t know anything about Java or how it works. If there’s ever something unclear in the videos feel free to post a question in the comments on DeegeU.com or the Facebook group. I’m here to help you.
There’s really only one goal for this tutorial. Get familiar with some of the Java terms used in this tutorial. In this lesson I want to introduce you to how Java works on your machine why it works on multiple platforms and a few other miscellaneous terms you should now.
Running a Java program the same as running any other computer program and some ways, but in other ways it’s very different. When you run a program compiled through computer you’re running code compiled for your computer architecture. A Mac will only run on a Mac, Windows will only run on Windows and Linux only runs on Linux.
One way we get around this is by using a virtual machine. A virtual machine is a program that emulates the behavior for a particular computer system.
Virtual Machine
A virtual machine is a program that emulates the behavior for a particular computer system.
The advantage is that you can compile once for a virtual machine and your program runs any physical system the virtual machine can run on. So we’re taking code compiling it for a virtual machine and any computer that can run the virtual machine can run your compiled code.
A virtual machine reads instructions from your program and then translates it into instructions your computer can run. When you write and compile a Java application you’re compiling it for a job a machine.
Now no one has a Java machine we all run Macs, Linux or Windows. Java uses something called a Java Virtual Machine. Java Virtual Machine is also called by its initials JVM.
When you install Java on a computer you install a JVM. Java applications you create are run on the JVM, and this is how Java achieves platform independence. The basic development flow for any Java program will be to write the Java code into a text file, compile the Java code into class files which are then fed a JVM. The JVM interprets the class file into code your machine can understand. This is similar to any other compiled programming language.
When you download a virtual machine you’re downloading the Java Runtime Environment or JRE. The JRE contains libraries and the JVM you need to run Java programs. The JRE does not however contain what you need to write and debug Java programs. For that you need the Java Development Kit.
Time for a quick history lesson.
Java has been around for a very long time. It was released in 1996. It was originally called the Java Development Kit. At least for the first two versions.
I’ve been using it since 1998 when Java 1.2 came out and that’s where it gets weird. 1.2 equals two. That is Java 1.2 and Java 2 are the same thing.
I think it was a marketing thing but from that point forward in Java history, Java incremented by whole numbers and they changed the name. It was now known as the Java 2 Standard Edition.
Later releases were also Java 2 even though it was really the third and fourth or fourth and fifth depending on how you look at it. The release numbers were 1.3 and 1.4.
Java JDKs
The Java JDK has been known as the Java Development Kit (JDK), Java 2 Standard Edition (J2SE), and Java Standard Edition (JSE).
Then came five. It was still Java 2 Standard Edition but this version was 5.0. They added a ton of new functionality so I think that’s why they thought they should change the version numbers. Just in case you’re paying attention they still reported it as version 1.5. The 5.0 was a marketing thing.
They just called it Java 5. Java 6 came out somebody finally noticed that, hey, there still a two in the name so they dropped the 2 and it became Java Standard Edition. It was the last major release by Sun Microsystems since they sold Java to Oracle. That was a pretty dark time for Java. People weren’t sure what was going to happen to the language.
Five years and many broken promises later, Oracle finally released a new version of Java. They added lots of cool features language like new file I/O code but they also dropped a lot of things like lambdas.
And that brings us to the current version.
So why did we go through all the history of that?
The reason is, it gets very confusing what to call what you’re trying to use for creating Java programs. JDK, Java Standard Edition, J2SE. They’re all the same thing. JDK is a superset of the Java Runtime Environment, JRE. So you only need to download JDK.
If you need to install the Java Development Kit on your machine searching for “Java Download” might bring you to this page. This is not the download page you’re looking for.
Move along!
This is just the JRE to run Java applications.
You want something looks more like this. This page was the download page when Java 8 release 40 was latest and greatest. You can find the correct download for your operating system here. It may look different in the future, so if it does, just look for something similar.
If you think you’re already have Java installed on your system you can test that by typing Java dash version. You’ll get a response similar to what I have here.
Again the version numbers are wonky. If you see 1.8 you’ve got the right version. That is Java 8. In this case it says Java 1.8.0 underscore 25. That means Java release 25. Any release newer than this should work for this tutorial.
The next concept to cover is Java keywords. Keywords are the words that are reserved for the Java language. They are the words you use to write Java programs. The list hasn’t changed much since the language was created.
Each of these keywords is case sensitive. This means they all use lower case letters and if you substitute a single capital letter, it will not be the keyword anymore. Java is a case-sensitive language.
For example Boolean is not boolean. The capital B makes it different. When we create variables and types later you are strongly discouraged from using any these words with the different cases for your identifier.
You can do it, but that’s not a good idea.
I should note that true, false and null are not really keywords. They’re what’s called literal values. For example, “23” is a literal number. “true” is a literal boolean value. We’ll cover these more soon. They’re included in the keyword list of do not use for names, and that’s why they’re in there.
Goto is a bit unique. It’s a keyword that’s not used in the language. It’s a silent jab at Microsoft Visual Basic and other languages that use goto in their language. Using goto is considered bad practice for most programs, so Sun Microsystems made goto a keyword and then prevented anyone from ever using it.
The last important term to cover for now is the Java IDE.
Java IDEs
The two most popular IDEs for Java are Eclipse and NetBeans.
IDE means integrated developer environment. The IDE is a nice slick user interface that you use to create Java programs. Java code files are ultimately text, but that doesn’t mean you have to program in textpad. You can use whatever IDE you like. The most popular IDEs are Eclipse and NetBeans. Both are free which is why they are so popular.
If you come from a Visual Studio or Xcode background these IDEs are going to be a rough ride. The IDEs are open source, and don’t have the polish other IDEs have. They’re still light years better than typing programs in Notepad. We’ll use NetBeans in the videos but there’s nothing that we do use, that is particular to any IDE. You’re free to use Eclipse or NetBeans.
Thanks for watching this video. There is a quiz for this lesson on DeegeU.com if you’d like to gauge your understanding of this lesson. If you like the videos you’re seeing, please let me know by liking the video and subscribing to the DeegeU channel on YouTube. I’d really appreciate it!
If you have concerns or questions please leave them in the comments below, or on DeegeU.com.
You can also let me know what topics you liked covered in future videos. On DeegeU.com, there’s a poll on the main page voting for the next section of tutorials.
Thanks for watching!
<!-- DeegeU - Right Side -->
<ins class="adsbygoogle" style="display:inline-block;width:336px;height:280px" data-ad-client="ca-pub-5305511207032009" data-ad-slot="5596823779"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></p>
Tools Used
- Java
- NetBeans
Media Credits
All media created and owned by DJ Spiess unless listed below.
- Microsoft Logo owned by Microsoft Corporation
- Apple Logo owned by Apple Inc.
- Linux Logo owned by Linux
- Duke owned by Oracle Corporation
- Java Logo owned by Oracle Corporation
Get the code
The source code for “What important Java Terms do I need to know?” can be found on Github. If you have Git installed on your system, you can clone the repository by issuing the following command:
git clone https://github.com/deege/deegeu-java-intro.git
Go to the Support > Getting the Code page for more help.
If you find any errors in the code, feel free to let me know or issue a pull request in Git.
Comments
DJ Spiess
Your personal instructor
My name is DJ Spiess and I’m a developer with a Masters degree in Computer Science working in Colorado, USA. I primarily work with Java server applications. I started programming as a kid in the 1980s, and I’ve programmed professionally since 1996. My main focus are REST APIs, large-scale data, and mobile development. The last six years I’ve worked on large National Science Foundation projects. You can read more about my development experience on my LinkedIn account.