- Java Introduction
- what, why and how @ Java Programming
- Java Architecture
- Java development Kit
JDK
- Java Runtime Environment
JRE
- Java Virtual Machine
JVM
- What is Java Source code(.java file) and ByteCode(.class file)
- ClassLoader, Linker and JIT compiler
- Java development Kit
- What is classpath and how to set it.
- Number System
- Binary, Decimal, Octal and Hexadecimal
- Conversion from binary to decimal and vice-versa
- Memory Types
- Primary memory/Main Memory/ Random Access Memory
- Secondary memory/Disk/ Read Only Memory
- Cache and cache layering
- Stack, Heaps and Method Areas
- Installation of JDK and Running HelloWorld.java program, and IntelliJ Idea Basics.
- DataTypes
- Primitive(8 primitive types and their wrapper classes)
- and Non-Primitive(classes and arrays)
- Conditional Statement -
- if , if-else and multiple if and if-else
- nested if and if-else
- Control Statement - Switch case and its examples
- Java Comments and Java Documentations
- Single line comment
// hello single line comment
- Multiline comment
/* Hello from multi line comment */
- Java Doc
/** * This class {@code Shape} is an abstract class to demonstrate partial abstraction * and features of abstract class. * * @author Vikram Gupta */
- Classes and Objects
- Static and Instance methods
- Java Packages
- Access Modifiers/ Access Level/ Access Specifier
- Private
- Default
- Protected
- Public
- Primitive Data and their Type Casting
int to float and int to byte and other primitives
- Everything about Constructor
- Rules
- Types
- Overloading
- Chaining
this
andsuper
keywords and their usages Andthis()
andsuper()
calls- Object Oriented Programming Paradigms
- Inheritance
- Definition
- Rule
- Types
- Upcasting and down-casting
- Composition
- what is composition and how to implement it
- How composition and inheritance are different
- Encapsulation
- what is encapsulation and why do we need it
- POJO and Beans and their differences
- Polymorphism
- Overloading/static polymorphism/ compile time polymorphism
- Overriding/ dynamic polymorphism/ runtime polymorphism
- Abstraction
- Interfaces --> full abstraction
- Abstract class --> partial abstraction
- Diamond problem and solution
- Inheritance
- Immutable class and String, String Pool
- Make all fields private
- Create all argument constructor
- Remove All setters
- Use deep clone for objects in the constructor and getter methods
- Make class as final
- Optional rule - make all fields as final
- Everything you need to know about String Constant Pool
- String, StringBuilder and StringBuffer
- Anonymous class and inner classes
- Enum and their usage
- Syntax Error, Exception, and Errors and Exception Handling Mechanism and their types
-
Throwable
- The Throwable class is the superclass of all errors and exceptions in the Java language. Only objects that are instances of this class (or one of its subclasses) are thrown by the Java Virtual Machine or can be thrown by the Java throw statement. Similarly, only this class or one of its subclasses can be the argument type in a catch clause. For the purposes of compile-time checking of exceptions, Throwable and any subclass of Throwable that is not also a subclass of either RuntimeException or Error are regarded as checked exceptions. Instances of two subclasses, Error and Exception, are conventionally used to indicate that exceptional situations have occurred. Typically, these instances are freshly created in the context of the exceptional situation so as to include relevant information (such as stack trace data) -
Error
- An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal conditions. The ThreadDeath error, though a "normal" condition, is also a subclass of Error because most applications should not try to catch it. -
Exception
- The class Exception and its subclasses are a form of Throwable that indicates conditions that a reasonable application might want to catch. The class Exception and any subclasses that are not also subclasses of RuntimeException are checked exceptions. Checked exceptions need to be declared in a method or constructor's throws clause if they can be thrown by the execution of the method or constructor and propagate outside the method or constructor boundary.
-
- Java - 5 Feature : Java generics and how to use them.
-
Generics avoid code duplication and with the help of Generics the same class or method can be reused for different data types.
-
- How final, finally and finalize() different
- Loose and Tight Coupling and why always prefer loose coupling over tight coupling
- Java 8 features
-
-
The purpose of the Optional class is to provide a type-level solution for representing
optional values
instead ofnull references
. -
A container object which may or may not contain a non-null value. If a value is present, isPresent() returns true. If no value is present, the object is considered empty and isPresent() returns false.
-
To create an empty Optional object, we simply need to use its empty() static method:
Optional<String> empty = Optional.empty(); assertFalse(empty.isPresent());
-
We can also create an Optional object with the static method of():
String name = "baeldung"; Optional<String> opt = Optional.of(name); assertTrue(opt.isPresent());
However, the argument passed to the of() method can't be null. Otherwise, we'll get a NullPointerException:
-
-
Method Reference
- Is Java Pass by value or pass by reference
- Primitives and their Wrapper classes. Auto boxing and Auto unboxing.
-
Notifications
You must be signed in to change notification settings - Fork 5
Exploring almost every concept in Core Java
License
basecs101/core-java-concepts
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
Exploring almost every concept in Core Java
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published