Java Tutorials For Beginners and Professionals
In this Java Tutorials For Beginners and Professionals article series, we discussed all the basic, intermediate, and advanced concepts of Core Java with simple as well as real-time examples. Each and every concept will explain with simple as well as real-time examples.
Why did Java come to the market?
What is exactly java?
Java is a technology that provides two things
- Programming language(JSE/core java)
- Platform (JVM)
By using the language we can develop java applications and also provides a runtime environment (JVM) where we execute java programs.
What this Java technology can do for us?
Java comes in three different editions which allows us to develop three different types of applications. The three different editions are
- JSE (java standard edition)
- JEE (java enterprise edition)
- JME (java micro edition)
These three different types of editions allow us to develop three different types of applications. They are as follows:
- Standalone/Desktop application
- Enterprise / Distributed / Internet application
- Device application
What is a standalone application?
An application installed in one system that can be executed from the same system but can’t be executed from another system is called a standalone application. The application developed for the context of one client is called a standalone application. JSE is used for developing standalone applications.
What is an enterprise application?
An application whose resources are shared among multiple clients is called distributed/ enterprise application. All internet applications are called distributed applications. These applications are present in the server system. JEE is used for developing internet applications.
There are two types of internet applications, such as
- Web supportive application
- Web application
An application that resides in the server system and that is downloaded and executed on the client computer by network call is called a web supportive application. An application that resides in the server system and that is executed directly in the server system via network call and sends the response back to the client system is called a web application.
What is the device application?
JME means java mobile/micro edition. JME is used for developing device applications, such as mobile games tablets. JME is used for developing software for consumer electronics devices meaning embedded systems like mobile, it is popular for developing mobile gaming applications, fully automated washing machines, and robots.
What is a platform?
A platform is an environment where we execute something. A platform is a hardware or software environment where a program runs. For example, a computer platform is( OS+ hardware devices)
What is Platform Dependent?
The programs or applications complied on one platform (operating system) can be executed on the same type of operating system but cannot be executed on other types of operating systems is called platform-independent applications.
The programming languages which are used to develop such types of applications are called platform-dependent programming languages. C, C++ is called a platform-dependent programming language, because when C, C++ programs have complied, C, C++ compiler generates machine codes that are specific to the operating system.
Drawbacks: We need to develop the same application multiple times which increases the development cost and time.
Solution: Need to develop platform Independent application.
If the applications complied code is able to run on different types of OS irrespective of the OS where it is compiled then such applications are called platform-independent applications.
The programming language which is used for developing such types of applications are known as the platform-independent programming language.
Java is a platform-independent programming language because java program compiled code can execute (run) on any OS.
In this case, when the source code is compiled, the compiler generates intermediate code (byte code) rather than machine code, which is not specific to any OS. The intermediate code can be carried and executed on any machine provided by a software called JVM which is responsible for converting intermediate code into machine code
What is Byte Code?
Java programs compiled code is called byte code. When the java code is compiled java compiler (javac) generates byte code (intermediate code).
- Byte code is an intermediate language (IL) code.
- Byte code is a virtual machine code.
- Byte code is a platform-independent code.
- Byte code is the collections of mnemonics (MOVE, LOAD, ADD ETC), these byte codes are only understood by JVM.
- Every byte code occupies 1 byte.
What is the difference between byte code and machine code in Java?
Explain the java virtual machine?
JVM stands for java virtual machine. It is software provided by java to run java programs or applications. JVM is a software that is developed using c and C++ language, so JVM is platform-dependent software. JVM provides a translator, which converts byte code to native code or machine code. JVM provides two translators such as
- JIT compiler (just-in-time compiler)
Translators are used to translate the program from source program to machine language. That is understood by the machine. JIT is used specifically when we want to execute the code repeatedly means used basically for looping.
JVM for windows translates the byte code into windows specific machine code and similarly JVM for Linux translate the byte code into Linux-specific machine code. That means JVM varies from OS to OS.
JAVA history means who developed java, when developed java and why it developed java. Java was developed in 1991 by James gosling of Sun Microsystems. Initially called OAK. Its name was changed to java because there was already a language called Oak.
The original motivation of java is the need for a platform-independent language that could be embedded with various consumer electronics products like toasters and refrigerators, etc.
Who is the father of java?
James Gosling (PGD, born may 19, 1955near Calgary, Alberta, Canada) along with other engineer scientists discovered at sun Microsystems. He is a famous software developer, best known as the father of the java programming language.
Why was the name OAK renamed to java?
They were unable to register this programming language with oak because already some other product is registered with the same name. So they renamed it java.
So, finally What is Java?
JAVA is an Object-Oriented programming language. It is a cross-platform and multi-purpose programming language developed by SUN MICROSYSTEMS in 1991, later acquired by ORACLE Corporation. It was developed by JAMES GOSLING and PATRICK NAUGHTON. It was developed to be a machine-independent web technology. The target of Java is to write a program once and then run this program on multiple Operating Systems. It helps to create modular programs and reusable codes. It was based on C and C++ syntax to make it easy for programmers from those communities to learn. Since then, it has earned a prominent place in the World of Programming Languages.
This Java tutorial is for whom?
This Java tutorial is designed for beginners, students, and professional java developers who want to learn and enhance their Java skills step by step from scratch using simple as well as real-time examples. These tutorials provide a hands-on approach to the subject with step-by-step program examples that will assist you to learn and put the acquired knowledge into practice.
What you will learn from this Java Tutorial?
- Java Basics
- Java OOPs Concepts
- Exception Handling in Java
- Java Strings, Packages, and JVM
- Java IO Streams
- Array, Collections, and Generics in Java
- Java Multithreading, Thread Synchronization, and Deadlock
- Java Applet, AWT, and Event Handling
- Swings in Java
- Enumerations in Java
- Java Advanced Features
- Java Interview Questions and Answers
Each concept will be explained theoretically with simple as well as complex Java programming examples and in the end, we will also discuss the possible interview questions along with answers.
What do we expect from you?
We will do our level best to cover all the Java-related concepts, but in the meantime, if you have any specific concept in your mind that you want us to cover, then please leave it as a comment in the comment box, and we will definitely discuss that concept(s) in this Java Tutorials course.
Prerequisites to Learn Java:
There are no prerequisites required to learn Java as we are going to start from scratch. But if you have any programming language experience like C, C++, Python, C#, etc, then it will be good for you to learn and understand the Java Concept easily, but it is not mandatory as we are going to discuss each and everything from the scratch.
About the Author:
Finally, your valuable feedback is very important and means a lot to us. So, if you have a few minutes, then please let us know your thoughts and feedback on this Java Tutorials course. Please join our Telegram Channel to learn more and clear your doubts on Java Advance Java and Java Frameworks. Also, join our Java Facebook Group to learn and share your thoughts on Java.