Introduction to Java Flashcards
(16 cards)
What is Java?
Java is a high level object oriented programing language developed by sun micro systems but it now owned by oracle it was developed for interact tv, but has now been adapted for gerneral computing
Can you explain the evolution of Java?
The evolution of Java
1991: Sun microsystems start a project called oak lead by James Gosling
1995: Oak is reneamed to Java an is lunched
1996: JDK 1.0 is released
1999: JIT or Just in time compilers were introduced together with UI framework called Swing
2004 to 2011: Java 5 to Java 7 intodruce generics, enums, and impove performance
2017 to present: Java has now adopted a 6 month release cycle leading to various java versions over time with the lates being java 24
15 year old 69 was the hotes rappter from 2004 to 2011 but fell off in 2017
Why did java become popular or What are the advantages of Java
- Plartform independence
- Robust Security features
- a rech set of libraries and frame works
- Strong community and coperate support
What does WORA stand for?
Write Once Run Anywhere
Explain the concept of platform Indepencence?
Java programs can run on any device or operating system without modfication provided the system contains the Java virtual machine
What are the three features/components of Java?
- The JDK
- The JRE
- The JVM
What is the JDK?
It is a combination of the JRE, JVM and other development tools to write, compile and execute java programs, examples include:
JDK 8, 11, 17, etc.
What is the JRE?
It is a set of standard librabries that allow the execution of java programs, together with the JVM, but it Does not include any developer/development tools.
What is the JVM
It is an abstarct machine that executes java byte code, and is a combination of class loaders, byte code verifiers, and an interpreter or the JIT(Just In Time Compiler) . The JVM varies for different operating sytems but executes the same byte code.
What are the different Editions of java?
- Java SE (Standard Edition)
- Java EE (Enterprise Edition)
- Java ME (Micro Edition)
- Java FX
Acronym: SEEEMEFX
What is the purpose of the java SE?
For general pupose, desktop, and server-side application programming
What is the purpose of the Javae EE?
Developing lage scale web or enterprise applications
What is the purpose of the java ME?
Developing Embeded systems, and mobile device OS
What is the purpose of java FX
Developing rich desktop user interfaces.
What are some applications of Java Programming?
- Web applications: The Javae EE is used for web applications think spring boot, ava server pages(JSP), applets, et.c
- Mobile Applications: Java is the primary language for android app development with the Android SDK framework
- Enterprise applications: Java is used in ERP’s, banking systems, etc
- Desktop GUI: Java FX and Swing are used to build deskop UI
- Embeded Systems and IoT: Java ME powers TVS, smart appliances, ATM’s and IoT devices
- Cyber security and Blockchain: Java Powers Security applications, encryption algorithms and blockchain development
- Game Development: Java is used in game engines like libGDX and jMonkey Engine
- Big Data and Machine Learning: Hadoop is used for big data and DL4J is used for machine learning
- Cloud Computing: Java-based frameworks, such as Spring Cloud, are also utilized by Amazon in AWS (Amazon Web Services), Google Cloud, and Microsoft Azure.
Craeate a table comparing the the JDK, JRE, and JVM?
<table> <tr> <th>Feature</th> <th>JDK</th> <th>JRE</th> <th>JVM</th> </tr> <tr> <td>Runs Java Programs</td> <td>True</td> <td>True</td> <td>True</td> </tr> <tr> <td>Includes the JVM</td> <td>True</td> <td>True</td> <td>False</td> </tr> <tr> <td>Includes Libraries</td> <td>True</td> <td>True</td> <td>False</td> </tr> <tr> <td>Includes Development tools</td> <td>True</td> <td>False</td> <td>False</td> </tr> </table>
Criteria:
* Runs java programs
* Includes the JVM
* Includes Libraries
* Includes development tools