Engineering Full Stack Apps with Java and JavaScript
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.
Read more on object oriented programming @ javajee.com/object-oriented-programming-oop-concepts-with-examples.
Read more on compiled and interpreted languages @ javajee.com/java-is-a-compiled-and-interpreted-language.
http://javajee.com/introduction-to-just-in-time-compilation-and-hotspot-jvm
Comments
MAIN method
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.
Main method in Java
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.
HIGH-LEVEL LANGUAGE AND MACHINE CODE
Compare AND contrast HIGH-LEVEL LANGUAGE and MACHINE CODE.
HIGH-LEVEL LANGUAGE AND MACHINE CODE
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.
java j++ javascript
what the differnce between java. j++. JavaScript , jsp , core java , j2ee
J++ can be considered as
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.
History of Java
Could you please provide History of Java ?
you can find it in the wiki page given
http://en.wikipedia.org/wiki/Java_%28programming_language%29#Versions
architecture neutrality means
architecture neutrality means ......?
Architecture neutral means,
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.
understood,thanku!
understood,thanku!