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. Each and every concept will be explained with simple as well as real-time examples.
Why did Java come to the market?
Java programming language is mainly designed to overcome the disadvantages of C and C++ and to develop internet applications by achieving platform independence.
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 provide a runtime environment (JVM) where we can execute Java programs.
What this Java technology can do for us?
Java comes in three different editions, allowing 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 a 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 and tablets. JME is used to develop 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 compiled on one platform (operating system) can be executed on the same type of operating system. Still, they cannot be executed on other types of operating systems, which are 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: We need to develop an independent platform application.
Platform Independent:
If the applications complied code can 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 used for developing such types of applications is the platform-independent programming language. Java is a platform-independent programming language because the 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. The Java compiler (javac) generates a byte code (intermediate code) when the Java code is compiled.
- 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 collection 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++ languages, 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
- Interpreter
- JIT compiler (just-in-time compiler)
Translators are used to translate the program from source program to machine language. The machine understands that. 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 translates the byte code into Linux-specific machine code. That means JVM varies from OS to OS.
Java History:
JAVA history means who developed Java when it 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 for Java was the need for a platform-independent language that could be embedded with various consumer electronics products like toasters, refrigerators, etc.
Who is the father of Java?
James Gosling (PGD, born May 19, 1955near Calgary, Alberta, Canada), along with other engineer scientists, was 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 some other products are already registered with the same name. So they renamed it to 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. JAMES GOSLING and PATRICK NAUGHTON developed it. It was developed to be a machine-independent web technology. The goal 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 Tutorials For Beginners and Professionals Course 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 in learning and putting the acquired knowledge into practice.
What will you 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
- JDBC
- Java Advanced Features
- Java Interview Questions and Answers
Each concept will be explained theoretically with simple and complex Java programming examples. In the end, we will also discuss the possible interview questions and answers in this Java Tutorials For Beginners and Professionals course.
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 mind that you want us to cover, please leave it as a comment in the comment box. We will definitely discuss that concept(s) in this Java Tutorials course.
Prerequisites to Learn Java:
No prerequisites are required to learn Java, as we will 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 everything from scratch.
Finally, your valuable feedback is important and means a lot to us. So, if you have a few minutes, please let us know your thoughts and feedback on this Java Tutorials For Beginners and Professionals course. Please join our Telegram Channel to learn more and clear your doubts about Java Advance Java and Java Frameworks. Also, join our Java Facebook Group to learn and share your thoughts on Java.
What is Platform Dependent?
The programs or applications compiled on one platform (operating system) can be executed on the same type of operating system. Still, they cannot be executed on other types of operating systems, which are called platform-independent applications.
There should be platform dependent instead of platform independent in the last line.