Java-1 0
Java-1 0
Review: QVR
Date: 22.05.2023
Version: 1.0
2. Glossary
Term Description
OOP Object-oriented programming
JRE Java Runtime Environment
JDK Java Development Kit
Java SE Java Standard Edition
Java EE Java Enterprise Edition
2 R Get an overview about Java To get an overview of Java language, read the following topics: About the Java 0.5
programming language and Technology and What can Java Technology can do. These topics are listed on
understand some basic the webpage: http://docs.oracle.com/javase/tutorial/getStarted/intro/index.html
terminologies
Read this page (DON’T follow any link in these pages):
http://www.oracle.com/technetwork/java/javase/tech/index.html in order to know:
Understand the differences among the collections and when to use them.
4 R Understand Enhancements in The new APIs relate to Java I/O called NIO.2 are introduced. Please follow the 0.5
Java NIO.2 step by step instructions in
http://docs.oracle.com/javase/tutorial/essential/io/fileio.html to understand and
2
R = Reading, E = Exercise, C = Checkpoint, S = Setup, P = Presentation
- File Operations
5 R Understand how to use Lambda Lambda expressions enable the possiblity to pass functionality as an argument 1
expression and default methods to another method, therefore treat functionality as method argument, or code as
data. Study it from the following link:
http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html.
Also read the below discussion about how to choose between nested classes,
local classes, anonymous classes and Lambda Expressions:
http://docs.oracle.com/javase/tutorial/java/javaOO/whentouse.html.
7 R Understand how to perform Study how to perform aggregate operations on a collection here: 2
aggregate operations on collection http://docs.oracle.com/javase/tutorial/collections/streams/index.html and also
in Java 8 extend the studying with “Reduction” topic (please omit “Parallelism” for the
moment, it contains advanced stuffs and can be used as source for further
reading later):
http://docs.oracle.com/javase/tutorial/collections/streams/reduction.html.
After studying, the trainee should be able to answer the following questions:
8 R Understand how to use the Date- Read the introduction about what Date-Time API is, its design principles, 0.5
Time API in Java 8 important packages and method naming conventions here:
http://docs.oracle.com/javase/tutorial/datetime/overview/index.html.
- http://docs.oracle.com/javase/tutorial/datetime/iso/overview.html
- http://docs.oracle.com/javase/tutorial/datetime/iso/enum.html
- http://docs.oracle.com/javase/tutorial/datetime/iso/date.html
- http://docs.oracle.com/javase/tutorial/datetime/iso/datetime.html
- http://docs.oracle.com/javase/tutorial/datetime/iso/timezones.html
- http://docs.oracle.com/javase/tutorial/datetime/iso/format.html
9 R Understand the various There is a notable update in utility functions which replace many usage of third 0.5
miscellaneous additions to party libraries. Whenever possible, it is strongly recommended to use platform
java.lang, java.util … libraries instead of third parties.
Some other third party utilities that are frequently used are from
https://commons.apache.org/
https://commons.apache.org/proper/commons-collections/apidocs/org/apache/
commons/collections4/CollectionUtils.html
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/
commons/lang3/StringUtils.html
OOP principles
Boxed and primitive data type, how are they different from each other?
What are the fundamental differences among Set, List and Map?
o java.util.function.Predicate
o java.util.function.Function
o java.util.function.Consumer
o java.util.function.Supplier
User interface is not necessary, you need to write a program to provide the
following features:
1. Import the file. Please note that the application can be extended in
the future to support more file extensions (e.g: XML, XLSX, …).
After finishing your program, your trainer can check with you about:
- The way you applied resource management (e.g: read file) and exception
handling.
- The data structure (object, class, interface) has been used in your code.
- How did you prepare for the new file extensions that might come in the
future?
- How did you improve your program so that the big file can be imported
without any memory issue? If your program worked without any changes,
can you explain why?
12 C Coach validation Present/discuss with coach your answers for all previous questions and the -
exercises as well.