Showing posts with label Java 9. Show all posts
Showing posts with label Java 9. Show all posts

Tuesday, 17 January 2017

What are Checked and Unchecked Exception?

Making an exception checked forces client programmers to deal with the possibility that the exception will be thrown. e.g., IOException
Unchecked exceptions are Runtime Exception. With an unchecked exception, however, the compiler doesn't force programmers to catch the exception or declare it in a throws clause. In fact, programmers may not even know that the exception could be thrown. E.g. StringIndexOutOfBoundsException.


Java 9 new features

These are  Java 1.9 new  features include :
1.    A light-weight JSON API  which is a source of great speculation right now about how truly useful this feature will be (as proposed by the community process).
2.    A HTTP 2 Client  for HTTP 2.0 and websockets.
3.    Process API Improvements   to improve the API for controlling and managing OS processes.
4.    Improved contended locking  for increasing performance between threads.
5.    Segmented Code Cache  to improved execution time for complicated benchmarks.
6.    Smart Java Compilation (Part 2) Makes the sjavac tool available in the default JDK.

7.    Modular Source Code  organizes JDK source code into modules.


Sunday, 15 January 2017

Threads VS Process in Java.

Threads VS Process
    1. Threads share the address space of the process that created it; processes have their own address.

    2. Threads have direct access to the data segment of its process; processes have their own copy of the data segment of the parent process.

    3. Threads can directly communicate with other threads of its process; processes must use inter process communication to communicate with sibling processes.

    4.Threads have almost no overhead; processes have considerable overhead.

    5.New threads are easily created; new processes require duplication of the parent process.

    6. Threads can exercise considerable control over threads of the same process; processes can only exercise control over child processes.

    7.Changes to the main thread (cancellation, priority change, etc.) may affect the behavior of the other threads of the process; changes to the parent process do not affect child processes.