Quick introduction to Java Programming Language

Java is a high-level programming language that embraces object-oriented principles. It is inspired by the syntax and structure of C/C++, making it somewhat familiar to those who have worked with these languages.

A key aspect of Java is its focus on reducing accidental errors. Unlike C/C++, Java omits certain features that are prone to mistakes, such as pointers and destructors. It introduces automatic memory management through Garbage Collection, helping to avoid memory leaks and other memory-related issues. Java also avoids multiple inheritance to prevent the "diamond problem," a type of ambiguity in inheritance scenarios.

Java is unique in its execution process. It combines both compilation and interpretation. While it is often said to be interpreted at runtime, Java code is actually compiled into an intermediate form called bytecode. This bytecode is then interpreted by the Java Virtual Machine (JVM), which is specific to each platform.

This leads to one of Java's most celebrated features: platform independence. The bytecode allows Java programs to run on any device that has a JVM, making the code "write once, run anywhere." This architecture-neutral approach distinguishes Java from languages that compile directly to machine code, which is platform-specific.

Beyond these core aspects, Java supports a range of functionalities including multithreading (allowing concurrent execution of multiple parts of a program), networking capabilities, robust security features, and tools for Graphical User Interface (GUI) development. These features make Java versatile and suitable for a wide range of applications, from small-scale utilities to large, complex systems.

Don't worry if you don't understand all the terms mentioned here. As you continue reading further posts from this book, most of these concepts will become clearer. 


kmakete's picture

Describe the purpose of the MAIN method in a Java program and provide the code for the main method that creates an instance of the Engine class in which it is contained.

Was it useful?

Main method is just like any other method. Only difference from other methods is that java already knows about this method with the correct signature (public static void main(String args[])) and when you execute a class, java runtime will look for this method, and automatically calls that method. 

For a complete clarity, please read notes 5 to 9 @  beginning-java-book and then read questions 7, 8 @ frequently-asked-interview-questions-in-core-java-part-1.

Still unclear, please feel free to ask again.

Was it useful?
kmakete's picture


Was it useful?

In simple terms, machine language is a language understood by machine. Your computer system won't by default understand java or any language. A high level language is a language which can be written in a human like language like English. A compiler/interpreter software then converts this high level language to machine language in single steps or multiple steps. For instance, a compiler/interpreter will convert your high level code which can be understaood by the operating system and then the operating system will convert it into a form which can be understood by the hardware system.

Was it useful?

what the differnce between java. j++. JavaScript , jsp , core java , j2ee

Was it useful?

J++ can be considered as Microsoft's implementation of Java, which is not very popular.

JavaScript has no relation to Java programming language except for the similarity in name and some similarity in syntax. Javascript is one of the many web technologies understood by your browser. When you program for web using Java, you will use Java along with web technologies like HTML, Javascript and CSS.

JSP can be considered as an html file with Java inside.

Core java need only JDK.

Java EE or J2EE require a web container or application server.

Was it useful?
siva prasad's picture

Could you please provide History of Java ?

Was it useful?

architecture neutrality means ......?

Was it useful?

Architecture neutral means, code without worrying about the target platform (hardware). There are JVMs specific to different platforms and you don't have to worry about any platform specifics like size of an int or any primitie while writing code. 

You can find the definition of platform neutrality @ http://encyclopedia2.thefreedictionary.com/architecture+neutral.

Was it useful?


Was it useful?

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)