Skip to content

Instantly share code, notes, and snippets.

@nkcoder
nkcoder / TimingThreadPool.java
Created February 5, 2017 15:12
extending ThreadPoolExecutor, add timing log
package org.nkcoder.module.javatest.concurrent;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicLong;
import java.util.logging.Logger;
/**
* created by daniel at 2/5/17 22:54
*/
public class TimingThreadPool extends ThreadPoolExecutor {
@nkcoder
nkcoder / TimingThreadPool.java
Created February 5, 2017 15:12
extending ThreadPoolExecutor, add timing log
package org.nkcoder.module.javatest.concurrent;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicLong;
import java.util.logging.Logger;
/**
* created by daniel at 2/5/17 22:54
*/
public class TimingThreadPool extends ThreadPoolExecutor {
@nkcoder
nkcoder / CompletableFutureTest.java
Created December 21, 2016 14:30
CompletableFuture Test
package org.nkcoder.module.javatest.concurrent;
import java.util.concurrent.CompletableFuture;
/**
* {@link: http://www.deadcoderising.com/java8-writing-asynchronous-code-with-completablefuture/}
* Created by nkcoder on 12/21/16.
*/
public class CompletableFutureTest {
@nkcoder
nkcoder / CompletionServiceTest.java
Created December 21, 2016 14:29
CompletionService Test
package org.nkcoder.module.javatest.concurrent;
import java.util.concurrent.*;
/**
* Created by nkcoder on 12/21/16.
*/
public class CompletionServiceTest {
public static void main(String[] args) {
@nkcoder
nkcoder / SemaphoreTest.java
Created December 16, 2016 00:40
Semaphore demo
package org.nkcoder.module.javatest.concurrent;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
/**
* created by daniel at 12/16/16 08:33
*/
public class SemaphoreTest {
@nkcoder
nkcoder / CountDownLatchTest.java
Created December 15, 2016 14:46
CountDownLatch demo
package org.nkcoder.module.javatest.concurrent;
import java.time.Duration;
import java.time.Instant;
import java.util.Random;
import java.util.concurrent.CountDownLatch;
/**
* created by daniel at 12/15/16 21:45
*/
@nkcoder
nkcoder / ChangeLogLevel.java
Created December 11, 2016 14:04
change log level at runtime (logback and slf4j)
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.LoggerContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
/**
* change log level at runtime
* Created by nkcoder on 10/8/16.
@nkcoder
nkcoder / process_log_files.java
Last active March 26, 2016 15:04
how to process a large number of small files in limited memory?
import java.io.*;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.*;
import java.util.stream.Stream;
/**
@nkcoder
nkcoder / DeadLockDemo.java
Created March 14, 2016 08:58
java dead lock demo
public class DeadLockDemo {
public static void main(String[] args) {
Object o1 = new Object();
Object o2 = new Object();
Runnable r1 = () -> {
synchronized(o1) {
try {
Thread.sleep(3000);
} catch (Exception e) {
@nkcoder
nkcoder / Preference.sublime-settings
Created February 23, 2016 15:57
sublime text 3 user settings
{
"bold_folder_labels": true,
"color_scheme": "Packages/Material Theme/schemes/Material-Theme.tmTheme",
"font_face": "source code pro",
"font_size": 14,
"ignore_vcs_packages": true,
"ignored_packages":
[
"Vintage"
],