Wednesday, 30 August 2017

Java - Why are interface variables static and final by default?

Interface variables are static because Java interfaces cannot be instantiated in their own right; the value of the variable must be assigned in a static context in which no instance exists. The final modifier ensures the value assigned to the interface variable is a true constant that cannot be re-assigned by program code.

public: for the accessibility across all the classes, just like the methods present in the interface

static: as interface cannot have an object, the interfaceName.variableName can be used to reference it or directly the variableName in the class implementing it.

final: to make them constants. If 2 classes implement the same interface and you give both of them the right to change the value, conflict will occur in the current value of the var, which is why only one time initialization is permitted.
Also all these modifiers are implicit for an interface, you dont really need to specify any of them.

Can we define variables in interface in Java?

In Java , interface doesn't allow you to declare any instance variables. Using a variable declared in an interface as an instance variable will return a compile time error. You can declare a constant variable, using static final which is different from an instance variable.

Saturday, 19 August 2017

How Java Lambdas Expressions affect the code in simple way

Let us start with some basic examples. Here, we will see how lambda expressions affect the code in a simple way. Having a list of players, the “for loop”, as programmers often refers to the for statement, can be translated in Java SE 8 as below:

String[] s1 = {"Anant", "Nilan", "Dolagobinda", "Babu", "Rupeli", "Sanjay", "Akshay", "Santosh"};
List<String> players =  Arrays.asList(s1);
      
// Old looping
for (String player : players) {
     System.out.print(player + "; ");
}
      

// Using lambda expression and functional operations
players.forEach((player) -> System.out.print(player + "; "));

// Using double colon operator in Java 8
players.forEach(System.out::println);

What is JAVA Lambda Expression???

Java Lambda expressions are a new and important feature included in Java SE 8. A lambda expression provides a way to represent one method interface using an expression. A lambda expression is like a method, it provides a list of formal parameters and a body (which can be an expression or a block of code) expressed in terms of those parameters.

Lambda expressions also improve the Collection libraries. Java SE 8 added two packages related to bulk data operations for Collections, the java.util.function package, and the java.util.stream. A stream is like an iterator, but with a lot of extra functionality. Taken together, lambda expressions and streams are the biggest change to Java programming since the generics and annotations were added to the language. 

Wednesday, 5 July 2017

How to sort ArrayList in JAVA

CollectionSort.java

package java8s;

import java.util.*;

public class CollectionSort {

          public static void main(String... args)
          {

                       List l = new ArrayList();

                       l.add("Bhubaneswar");
                       l.add("Cuttack");
                       l.add("Paradeep");
                       l.add("Jagatsinghpur");
                       l.add("Kujanga");

                       Collections.sort(l);

                            
                       System.out.println("Location : "+l);
                            
          }
}
Output

Location : [Bhubaneswar, Cuttack, Jagatsinghpur, Kujanga, Paradeep]

How to avoid duplicate values from JAVA List / ArrayList

Hiii frnds, this is a nice question in interview forum, so let's see how to remove duplicate objects from List / ArrayList

ArrayListExample.java

package java8s;

import java.util.*;
public class ArrayListExample {

     public static void main(String[] args) {
          ArrayList al=new ArrayList();
          al.add("first");
          al.add("second");
          al.add("third");
          al.add("first");
          al.add("first");
         
          ArrayList al1=new ArrayList(new LinkedHashSet(al));
         
          Iterator it=al1.iterator();
          while(it.hasNext())
          {
              System.out.println(it.next());
          }

     }

}

Output

first
second
third

Thursday, 8 June 2017

GET vs. POST in Servlet


GET
POST
      1.
It is used for getting information from the server side
It is used to post the information to the server.
    2.     
It performs read-only operation
It performs update/write operation.
    3.     
Whatever the request can be sent that is append with URL
Whatever request send to the server that is not exposed in the URL
    4.     
Only text or character type of data can be sent
Any type of data can be send
    5.     
Limited amount of data can be send (up to 2KB)
No length limit of data that we can send
    6.     
It provides less security because the user’s request is directly exposed in URL bar. Hence, sensitive  information is not recommended to be send.
It provides high security
    7.     
Bookmarking is possible which is the advantage
Bookmarking is not possible
    8.     
Caching is also possible which is also another advantage of get method
Caching is not possible