Skip to content

Instantly share code, notes, and snippets.

@yongboy
yongboy / dl_nginx.conf
Created January 18, 2012 09:49
nginx的虚拟下载服务器配置文件
server {
listen 80;
server_name dl.yongboy.com;
location ~ ^/downloads/(.*)$ {
charset utf-8;
alias D:/Document/$1;
internal; #阻止浏览器直接访问
}
@yongboy
yongboy / DownloadFileWithNginxAction.java
Created January 18, 2012 09:52
DownloadFileWithNginxAction.java
package com.servlet3.demo;
import java.io.IOException;
import java.io.Writer;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@yongboy
yongboy / Fibonacci.java
Created January 31, 2012 08:49
斐波纳契数列求解的Fork/Join版本
package com.learn.jsry166y.demo;
import jsr166y.RecursiveTask;
/**
* 斐波纳契数列求解<br/>
* 800年前,意大利的数学家斐波纳契出版了惊世之作《算盘书》。在《算盘书》里,他提出了著名的“兔子问题”:假定一对兔子每个月可以生一对兔子,
* 而这对新兔子在出生后第二个月就开始生另外一对兔子,这些兔子不会死去,那么一对兔子一年内能繁殖多少对兔子?
* 答案是一组非常特殊的数字:1,1,2,3,5,8,
* 13,21,34,55,89……不难发现,从第三个数起,每个数都是前两数之和,这个数列则称为“斐波纳契数列”,其中每个数字都是“斐波纳契数”。
@yongboy
yongboy / SingleThreadFibonacci.java
Created January 31, 2012 08:54
单线程版本的斐波纳契数列求解参考实现
package com.learn.jsry166y.demo;
/**
* 单线程版本的斐波纳契数列求解参考实现<br/>
* 800年前,意大利的数学家斐波纳契出版了惊世之作《算盘书》。在《算盘书》里,他提出了著名的“兔子问题”:假定一对兔子每个月可以生一对兔子,
* 而这对新兔子在出生后第二个月就开始生另外一对兔子,这些兔子不会死去,那么一对兔子一年内能繁殖多少对兔子?
* 答案是一组非常特殊的数字:1,1,2,3,5,8,
* 13,21,34,55,89……不难发现,从第三个数起,每个数都是前两数之和,这个数列则称为“斐波纳契数列”,其中每个数字都是“斐波纳契数”。
*
* @author yongboy
@yongboy
yongboy / ImprovedFibonacci.java
Created January 31, 2012 08:56
单线程版本,改变递增式获取结果的算法
package com.learn.jsry166y.demo;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutionException;
/**
* 单线程版本,改变递增式获取结果的算法
* @author yongboy
* @time 2012-1-30
@yongboy
yongboy / TestFibonacci.java
Created January 31, 2012 08:58
斐波纳契数列求解测试
package com.learn.jsry166y.demo;
import java.util.concurrent.Future;
import jsr166y.ForkJoinPool;
import jsr166y.ForkJoinTask;
import org.junit.Test;
/**
@yongboy
yongboy / TestTransferQueue.java
Created February 1, 2012 07:35
测试LinkedTransferQueue的一些特性
package com.learn.jsry166y.demo.queue;
import java.util.concurrent.TimeUnit;
import jsr166y.LinkedTransferQueue;
import jsr166y.Phaser;
import jsr166y.TransferQueue;
import junit.framework.Assert;
import org.junit.Test;
@yongboy
yongboy / RandomTest.java
Created February 2, 2012 07:35
ThreadLocalRandom简单测试
package com.learn.jsry166y.demo.random;
import java.util.ArrayList;
import java.util.List;
import jsr166y.Phaser;
import jsr166y.ThreadLocalRandom;
import junit.framework.Assert;
import org.junit.Test;
@yongboy
yongboy / ForkJoinWorkerThread.java
Created February 6, 2012 08:37
ForkJoinWorkerThread.java
// 用于执行ForkJoinTask
public class ForkJoinWorkerThread extends Thread {
final ForkJoinPool.WorkQueue workQueue; // 可以用于工作窃取的双端队列
final ForkJoinPool pool; // 工作线程池
protected ForkJoinWorkerThread(ForkJoinPool pool) {
super(pool.nextWorkerName());
setDaemon(true); // 将该线程标记为守护线程
Thread.UncaughtExceptionHandler ueh = pool.ueh;
@yongboy
yongboy / JVMMonitor.java
Created March 19, 2012 02:54
sunli写的,借鉴一下
/*
* Copyright 2011 sunli [sunli1223@gmail.com][weibo.com@sunli1223]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software