general notes of interest and experimentation with general knowledge
topics that are in JAVA SE11 Exam are in italics
- Java Exceptions
- Arrays
- Lists
- Abstract and Interface class setup
- Objects
- Threading basics
- Threading with concurrency
- Regex
- Graphical User Interface frames and panels basics
- File object
- String - string are immutable. Thus, everytime any change is made it creates a new String instance.
- String Builder - note it is not a string, it is a buffer, once the desired content is achieved, it requires extraction to be a string
- Type casting - explicit casting is converting to the lower value primitive variable, which results in the data loss, so is not automatic. Implicit is when conversion is from lower data type to higher and there is no data loss.
- Variable amount of arguments - vaargs or ellipse in the methods
- Anonymous and inner classes
- Interface and generic interfaces
- Enums
- Data Structures - unchecked structures are not implemented yet
- HR app - in the
objectOrientationExample
package - allows employee and deparment object creation. EMployee clas has name, ID and salary. Deparment Allows to assign employee to the departments whilst making sure that capacity of is not exceeded. Features employee and department classes that uses the basic Java principles such as encapsulation, inheritance, constructor chaining, error handling, use of object storing in arrays;
- primitives
- wrapper classes
- String n String Builder
- operators, parentheses
- type promotion and casting
- use local variable type inference, including as lambda parameters
- Create and use loops, if/else, and switch statements
- Declare and instantiate Java objects including nested class objects, and explain objects' lifecycles (including creation, dereferencing by reassignment, and garbage collection)
- Define and use fields and methods, including instance, static and overloaded methods
- Initialize objects and their members using instance and static initialiser statements and constructors
- Understand variable scopes, apply encapsulation and make objects immutable
- create and use subclasses and superclasses, including abstract classes
- Utilize polymorphism and casting to call methods, differentiate object type versus reference type
- Create and use interfaces, identify functional interfaces, and utilize private, static, and default methods
- Create and use enumerations
- Handle exceptions using try/catch/finally clauses, try-with-resource, and multi-catch statements
- Create and use custom exceptions
- ArrayList
- Use generics, including wildcards
- Use a Java array and List, Set, Map and Deque collections, including convenience methods
- Sort collections and arrays using Comparator and Comparable interfaces
- Implement functional interfaces using lambda expressions, including interfaces from the java.util.function package
- Use Java Streams to filter, transform and process data
- Perform decomposition and reduction, including grouping and partitioning on sequential and parallel streams
- Deploy and execute modular applications, including automatic modules
- Declare, use, and expose modules, including the use of services
- Create worker threads using Runnable and Callable, and manage concurrency using an ExecutorService and java.util.concurrent API
- Develop thread-safe code, using different locking mechanisms and java.util.concurrent API
- Read and write console and file data using I/O Streams
- data streams like filtering and etc
- Implement serialization and deserialization techniques on Java objects
- Collections
- Handle file system objects using java.nio.file API
- Concurrency API
- JDBC and JPA (Java persistance)
- Develop code that mitigates security threats such as denial of service, code injection, input validation and ensure data integrity
- Secure resource access including filesystems, manage policies and execute privileged code
- Connect to and perform database SQL operations, process query results using JDBC API
- Implement Localization using Locale, resource bundles, and Java APIs to parse and format messages, dates, and numbers
- Create, apply, and process annotations
- Linked List - see implementation
covers methods: add, add at the head, remove, traverse, find
- Doubly Linked List
- Queues
- Stacks
For additional examples see game that was moved out to the separate repository as required dependencies to be setup, for that maven had to be used, see Monster Game repo, and Calculator Engine
- Sort algorithms
- Search algorithms
- Dictionary - stores key value pairs. One data type is used for keys and another one for values. Every key is associated at most one value. Dictionaries are parent classes to:
- Hashtable - similar to HashMap as stores key-value pairs in a hashable, but unlike HashMap it does not allow
null
neither in key or value. And each key is hashed to get a hash code. - HashMap
- LinkedHashMap
- TreeMap
- Hashtable - similar to HashMap as stores key-value pairs in a hashable, but unlike HashMap it does not allow
Twitter Style guide | Google Style guide |
---|