SAM or functional interfaces in java

SAM means Simple Abstract Method.
SAM interfaces are interfaces that have only one abstract method. For example java.lang.Runnable. In Java 8 SAM interfaces are called Functional interfaces.

Example Code
package java.lang;

public interface Runnable {
    public abstract void run();

Here Runnable is SAM or functional interface.