Skip to content

Instantly share code, notes, and snippets.

View sunels's full-sized avatar

sunels sunels

View GitHub Profile
@sunels
sunels / RedisQueueConsumer.java
Created December 7, 2018 13:45
RedisQueueConsumer
import redis.clients.jedis.Jedis;
import java.util.List;
import java.util.Random;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class RedisQueueConsumer {
public static void main(String[] args) {
@sunels
sunels / RedisQueueProducer.java
Created December 7, 2018 13:44
RedisQueueProducer
import redis.clients.jedis.Jedis;
import java.util.Scanner;
public class RedisQueueProducer {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost");
Scanner scanIn = new Scanner(System.in);
@sunels
sunels / CompletableFutureTimeoutUnEfficientWay.java
Last active December 3, 2018 12:10
CompletableFuture timeout example
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class CompletableFutureTimeoutUnEfficientWay {
@sunels
sunels / CompletableFutureTimeout.java
Created December 2, 2018 19:46
Java 8 CompletableFuture parallel tasks and Timeout example
package com.company;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
/**
@sunels
sunels / Java8GroupByMaxByMinByExample
Last active April 2, 2017 13:24
Java8GroupByMaxByMinByExample
package com.company.samples;
import java.util.*;
import java.util.function.BinaryOperator;
import java.util.function.Function;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.*;
@sunels
sunels / streamsOptional
Created February 16, 2017 16:23
Java8 streams and Optional usage together
Worker w1 = new Worker ("w1", 181, 81);
Worker w2 = new Worker ("w2", 182, 82);
Worker w3 = new Worker ("w3", 183, 83);
Worker w4 = null;
Worker w5 = new Worker ("w5", 185, 85);
List<Optional<Worker>> workerList = new ArrayList<> ();
workerList.add (Optional.ofNullable (w1));
workerList.add (Optional.ofNullable (w2));
workerList.add (Optional.ofNullable (w3));
@sunels
sunels / Java8OptionalTester
Last active March 7, 2022 21:38
Java 8 Optional usage and examples
package com.company.samples.optional;
import com.company.samples.way10.Worker;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
/**
@sunels
sunels / builtInLambdaFunctionsInJava8
Last active March 25, 2017 07:39
Built-in Lambda building blocks in Java 8
Predicate<T>-- T in ,boolean out
Predicate<Man> richManMatcher = m->m.getCashAmount () > 1000000;
if (richManMatcher.test (someMan)) {
marryWithRichMan (someMan);
}
Function<T,R> -- Tin, R out
Function<Worker,Integer> salaryIncreaser = w->w.getSalary () + 500;
for (Worker worker: workers){
worker.setSalary (salaryIncreaser.apply(worker));
@sunels
sunels / Lamdba Expression Usage Example
Created February 9, 2017 11:51
Using Java Lambda Expressions with Funtional Interface
StateManager stateManager = new StateManager();
stateManager.addNewStateListener(
(oldState, newState) -> System.out.println("State changed")
);
@sunels
sunels / LamdbaConsumer
Created February 9, 2017 11:44
Lamdba Consumer
public class StateManager {
public void addNewStateListener(StateChangeListener listener) { //blahh }
}