Java Interview Questions-Core Faq - 3
Please click on the questions to see the answers
Java exception classes are organised into a hierarchy. There is a basic exception class called Exception as you might expect. But in fact, the base of the hierarchy starts not with Exception but with a class called Throwable, which is then subclassed into Exception and Error. This class (Throwable) serves as the base class for an entire family of classes, declared in java.lang, that your program can instantiate and throw.
The Exception class has two main subclasses : IOException class and RuntimeException Class
Checked exceptions are checked at compile time by the JVM(Java Virtual Machine) and its related to resources(files/db/stream/socket etc). The classes that extend Throwable class except RuntimeException and Error are known as checked exceptions e.g.IOException, SQLException etc.
The classes that extend RuntimeException are known as unchecked exceptions. Unchecked exceptions are purely programmatic errors, such as logic errors or improper use of an API, null data or even failures in business logic can lead to runtime exceptions.
ArithmeticException is thrown when an exceptional arithmetic condition has occurred. For example, an integer "divide by zero" throws an instance of this class.
Exceptions are those which can be handled at the run time whereas errors cannot be handled. Recovering from Error is not possible. The only solution to errors is to terminate the execution. Where as you can recover from Exception by using either try-catch blocks or throwing exception back to caller.
Yes, it is possible to have try block without catch block by using finally block. That means, try block can be followed by either catch block or finally block. The catch block is optional. You must have a try block with a finally block.
Checked exceptions are checked at compile-time.
If exceptions are not handled properly, the program terminates abruptly and may cause severe consequences.
- throw: Java throw keyword is used to explicitly throw an exception.
- throws: A method signature token to specify checked exceptions thrown by that method.
- throwable: The Throwable class is the superclass of all errors and exceptions in the Java language.
System.exit() exits the program immediately and it will not execute finally block. system.exit() will be the last executed statement, only statements preceding these system.exit() statements are executed.
ArrayIndexOutOfBoundsException means that you are trying to access an index of an array which is not valid as it is not in between the bounds. To avoid the ArrayIndexOutOfBoundsException use an index within specified index range. And always check whether your index is > = array.length.
Yes, the finally block will be executed even after writing return statement at the end fo try block. It returns after executing finally block.
The following block would return false:
The only times finally won't be called are:
- If you call System.exit()
- If the JVM crashes first
- If there is an infinite loop in the try block
- If the power turns off
The result is a String object.
Integer is wrapper class of primitives type int and parseInt() is a static method of wrapper class Integer which returns equivalent int or integral value of string given as parameter.
Non static method is usually called by just declaring method_name(argument) however in this case since the method is static, it should be called by appending the class name as suffix.
The read() method returns -1 when it has reached the end of a file.
Static Variables are not serialized, so during deserialization static variable value will loaded from the class and only the current value will be loaded.
But, any static variable that is provided a value during class initialization is serialized. However in usual cases, where you would provide the value to a static variable at the main class at run-time would not be serialized.
The serialVersionUID is a special static variable used by the serialization and deserialization process, to verify that a local class is compatible with the class used to serialize an object
Since Java 5 you can use Arrays.toString(arr).
- Java Interview Questions-Core Faq - 1
- Java Interview Questions-Core Faq - 2
- Important features of Java
- What is the difference between JDK and JRE?
- What gives Java its 'write once and run anywhere' nature?
- What is JVM and is it platform independent?
- What is Just-In-Time (JIT) compiler?
- What is the garbage collector in Java?
- What is NullPointerException in Java
- Difference between Stack and Heap memory in Java
- How to set the maximum memory usage for JVM?
- What is numeric promotion?
- Why do we need Generic Types in Java?
- What does it mean to be static in Java?
- What are final variables in Java?
- How Do Annotations Work in Java?
- How do I use the ternary operator in Java?
- What is instanceof keyword in Java?
- How ClassLoader Works in Java?
- What are fail-safe and fail-fast Iterators in Java
- What are method references?
- "Cannot Find Symbol" compile error
- Difference between system.gc() and runtime.gc()
- How to convert TimeStamp to Date in Java?
- Does garbage collection guarantee that a program will not run out of memory?
- How setting an Object to null help Garbage Collection?
- How do objects become eligible for garbage collection?
- How to calculate date difference in Java
- Difference between Path and Classpath
- Is Java "pass-by-reference" or "pass-by-value"?
- Difference between static and nonstatic methods java
- Why Java does not support pointers?
- What is package in Java?
- What are wrapper classes?
- What is singleton class in Java?
- Difference between Java Local Variable, Instance Variable and a Class Variable?
- Can a top level class be private or protected in java
- Are Polymorphism , Overloading and Overriding similar concepts?
- How to Use Locks in Java
- Why Multiple Inheritance is Not Supported in Java
- Why Java is not a pure Object Oriented language?
- Why can't a Java class be declared as static?
- Difference between Abstract class and Interface in Java
- Why do I need to override the equals and hashCode methods in Java?
- Why does Java not support operator overloading?
- What’s meant by anonymous class in Java?
- Static Vs Dynamic class loading in Java
- Why am I getting a NoClassDefFoundError in Java?
- How to generate random integers within a specific range in Java
- What's the meaning of System.out.println in Java?
- What is the purpose of Runtime and System class?
- What is finally block in Java?
- What is difference between final, finally and finalize?
- What is try-with-resources in java?
- What is a stacktrace?
- What is the meaning of immutable in terms of String?
- What are different ways to create a string object in Java?
- Difference between String and StringBuffer/StringBuilder in Java
- What is the difference between creating String as new() and literal?
- How do I convert String to Date object in Java?
- How do I create a Java string from the contents of a file?
- What actually causes a StackOverflow error in Java?
- Why is char preferred over String for storage of password in Java
- What is I/O Filter and how do I use it in Java?
- Serialization and Deserialization in Java
- Understanding transient variables in Java
- What is Externalizable in Java?
- What is the purpose of serialization/deserialization in Java?
- What is the Difference between byte stream and Character streams
- How to append text to an existing file in Java
- Read/convert an InputStream to a String in Java
- What is the difference between Reader and InputStream in Java
- Introduction to Java threads
- What is synchronization Java?
- Static synchronization Vs non static synchronization in Java
- Java Thread Deadlock Tutorial
- What is Daemon thread in Java
- Difference between implements Runnable and extends Thread in Java
- What is the volatile keyword in Java
- What are the basic interfaces of Java Collections Framework
- What are the differences between ArrayList and Vector in Java
- What is the difference between ArrayList and LinkedList?
- What is the difference between List and Set in Java
- Difference between HashSet and HashMap in Java
- Difference between HashMap and Hashtable in Java?
- How does the hashCode() method of java works?
- Difference between capacity() and size() of Vector in Java