Skip to content

Instantly share code, notes, and snippets.

@danielshaya
danielshaya / TwoStringsBenchmark.java
Created February 17, 2015 17:39
Benchmark to concatenate 2 Strings
package org.sample;
import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.infra.Blackhole;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
@Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
@danielshaya
danielshaya / LoopStringsBenchmark.java
Created February 17, 2015 17:53
Benchmark to test joining Strings in a loop
package org.sample;
import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.infra.Blackhole;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
@Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
@danielshaya
danielshaya / Test2.java
Last active August 29, 2015 14:15
Test to show what happens if you don't close Files.lines()
package utility;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Date;
@danielshaya
danielshaya / Calculator.java
Created March 9, 2015 15:09
Rest Calculator
package example;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
@Path("calculator")
package example;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
public class RestServer {
public static void main(String[] args) throws Exception {
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
@danielshaya
danielshaya / build.gradle
Created March 9, 2015 15:44
Gradle build file for rest server
apply plugin: 'java'
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.glassfish.jersey.core', name: 'jersey-server', version: '2.7'
@danielshaya
danielshaya / CreateOnHeapTest.java
Created March 15, 2015 11:08
On heap test for creating 10m objects
package zeroalloc;
import org.junit.Assert;
import org.junit.Test;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* Class to demonstrate zero garbage creation.
@danielshaya
danielshaya / CreateChronicleTest.java
Last active August 29, 2015 14:17
Chronicle implementation for creating 10m objects
package zeroalloc;
import net.openhft.chronicle.map.ChronicleMap;
import net.openhft.chronicle.map.ChronicleMapBuilder;
import net.openhft.lang.values.IntValue;
import org.junit.Assert;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
@danielshaya
danielshaya / LambdaTest.java
Created April 7, 2015 10:56
Lambdas in one line
package util;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@danielshaya
danielshaya / Interrupt.java
Created April 16, 2015 17:34
Interrupt example
package util;
/**
* Created by daniel on 16/04/15.
*/
public class Interrupt {
public static void main(String[] args) {
Thread sleeperThread = new Thread(){
public void run(){
try {