- Core Java
- How to Become a good Java programmer?
- Java Pratice Code
- Recent articles on Java
- Google Java Style Guide
- JDK 11 Documentation
- Java Multiple Choice Questions
- Practive Java Coding
- Java Environment(Differences between JDK, JRE and JVM)
- JDK(Java Development Kit) : JDK is intended for software developers and includes development tools such as the Java compiler, Javadoc, Jar, and a debugger.
- JRE(Java Runtime Environment) : JRE contains the parts of the Java libraries required to run Java programs and is intended for end users. JRE can be view as a subset of JDK.
- JVM: JVM (Java Virtual Machine) is an abstract machine. It is a specification that provides runtime environment in which java bytecode can be executed. JVMs are available for many hardware and software platforms.
- JVM Architecture
- Garbage Collection in Java
- JVM Shutdown Hook in Java
- main method is mendatory in Java
- JDBC Drivers
- Type-1 driver or JDBC-ODBC bridge driver
- Type-2 driver or Native-API driver
- Type-3 driver or Network Protocol driver
- Type-4 driver or Thin driver
- If you are accessing one type of database, such as Oracle, Sybase, or IBM, the preferred driver type is type-4.
- List of all Java Keywords
- Expressions, Statements, and Blocks
- Java is statically typed and also a strongly typed language
- enum in Java
- Never Using _ (underscore) as variable name
- Interesting facts about null in Java
- Java is Strictly Pass by Value!
- Using underscore in Numeric Literals
- Interesting facts about null in Java
- Comments in Java - generated by javadoc
- Java don't need forward declaration(i.e. function) likas as C++
- Binary Search in Java
- Switch Statement in Java
- Summary of Operators
- new() operator
- instance of operator
- Comparison of Autoboxed Integer objects in Java
- java.lang package
- java.io package
- java.util package
- A Guide to Java 9 Modularity - package of Java Packages
Provides classes that are fundamental to the design of the Java programming language. The most important classes are Object, which is the root of the class hierarchy, and Class, instances of which represent classes at run time.
This package provides for system input and output through data streams, serialization and the file system. Unless otherwise noted, passing a null argument to a constructor or method in any class or interface in this package will cause a NullPointerException to be thrown.
It contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
- Character Stream Vs Byte Stream in Java
- DoubleStream mapToObj() in Java
- Command Line arguments
- Scanner Class
- Scanner and nextChar()
- Difference between Scanner and BufferReader Class
- Formatted output
- Fast I/O in Competitive Programming
- Ways to read input from console
- Object class in Java
- Java and Multiple Inheritance
- Java Object Creation of Inherited Class
- Using final with Inheritance in Java
- Accessing Grandparent’s member in Java using super
- In Java, we can access grandparent’s members only through the parent class
- Can we override private methods in Java?
- Constructors in Java
- A constructor in Java can not be abstract, final, static and Synchronized
- Access modifiers can be used in constructor declaration to control its access i.e which other class can call the constructor
- There are no “return value” statements in constructor, but constructor returns current class instance
- Copy Constructor in Java
- unlike C++, Java doesn’t create a default copy constructor if you don’t write your own
- Arrays in Java
- Arrays class in Java - java.util package
- Reflection Array Class - java.lang.reflect package
- util.Arrays vs reflect.Array in Java
- java.util.Arrays class contains various methods for manipulating arrays (such as sorting and searching)
- java.lang.reflect.Array class provides static methods to dynamically create and access Java arrays
- Final arrays
- Interesting facts about Array assignment
- Array vs ArrayList
- Array: Simple fixed sized arrays
- ArrayList : Dynamic sized arrays(~= vector in C++)
- In Java, parameters are always passed by value
- Returning Multiple values
- Throwable fillInStackTrace()
- Valid variants of main()
- Variable Arguments (Varargs)
- implicitly declared as an array of type
- There can be only one variable argument in a method
- Variable argument (varargs) must be the last argument
- java.lang.Throwable
- OutOfMemoryError Exception in Java
- 3 Different ways to print Exception messages in Java
- Flow control in try catch finally in Java
- Types of Exception in Java with Examples
- Catching base and derived classes as exceptions
- Checked vs Unchecked Exceptions in Java
- throw and throws in Java
- User-defined Custom Exception in Java
- Infinity or Exception in Java when divide by 0?
- Multicatch in Java
- Chained Exceptions in Java
- Null Pointer Exception In Java
- Collection
- List
- Queue
- Deque
- Set
- Map Interface in Java
- HashTable
- Stack
- Java.util.Vector Class(dynamic memory allocation)
- Annotations in Java
- Annotations do not change action of a compiled program.
- Annotations help to associate metadata (information) to the program elements i.e. instance variables, constructors, methods, classes, etc.
- Annotations are not pure comments as they can change the way a program is treated by compiler.
- Built-In Annotation
- @Retention, @Documented, @Target, and @Inherited
- @Deprecated, @Override and @SuppressWarnings
- Serialization and Deserialization in Java with Example