Skip to content

Instantly share code, notes, and snippets.

View pfmiles's full-sized avatar
🚀
Busy...may not respond.

pf_miles pfmiles

🚀
Busy...may not respond.
View GitHub Profile
@pfmiles
pfmiles / AsyncHttpClientInvoker.java
Created August 14, 2015 07:03
jettyContinuation + kilim-fiber异步service invoker代码框架(draft)
package test;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.UnknownHostException;
import java.nio.charset.Charset;
@pfmiles
pfmiles / AsyncEventSource.java
Created August 14, 2015 06:34
SSE NIO异步推送,使用jetty continuation + kilimFiber, 服务端java代码框架
package test;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@pfmiles
pfmiles / OffHeapMemCacheHelper.java
Last active December 12, 2018 08:10
基于mapDB 1.x版的堆外内存cache创建工具
package test;
import java.util.Comparator;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.mapdb.BTreeMap;
import org.mapdb.DBMaker;
/**
@pfmiles
pfmiles / WarWriter.java
Last active August 29, 2015 14:26
方便地对jar/war包进行写入的工具
package kilim.tools;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Collections;
import java.util.Enumeration;
@pfmiles
pfmiles / WarPathClassLoader.java
Last active May 8, 2022 01:48
将指定war包内class/jar加入classpath的classloader
package kilim.tools;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Enumeration;
@pfmiles
pfmiles / FstSerializer.java
Created July 6, 2015 02:04
fast-serialization序列化工具
package test;
import org.nustaq.serialization.FSTConfiguration;
/**
* 序列化工具,线程安全
*
* @author pf-miles
* @since 2015-7-4
*/
@pfmiles
pfmiles / NullFactoryBean.java
Created July 2, 2015 09:41
dummy spring bean, 可用作任意bean的占位符
package test;
import org.springframework.beans.factory.FactoryBean;
public class NullFactoryBean implements FactoryBean {
public Void getObject() throws Exception {
return null;
}
@pfmiles
pfmiles / UniqRequestIdGen.java
Last active January 18, 2017 03:25
web集群全局唯一request id生成算法, 替代uuid等“粗暴”方案
package test;
import java.util.concurrent.atomic.AtomicLong;
import test.LocalIpAddressUtil;
public class UniqRequestIdGen {
private static AtomicLong lastId = new AtomicLong(); // 自增id,用于requestId的生成过程
private static final long startTimeStamp = System.currentTimeMillis(); // 启动加载时的时间戳,用于requestId的生成过程
@pfmiles
pfmiles / PluginModuleLoader.java
Created April 22, 2015 08:13
动态classpath property文件扫描、加载实现
package test;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@pfmiles
pfmiles / BumonitorAppenderAttachable.java
Last active June 1, 2017 05:51
既能设置buffer大小,也能定时刷新(无论是否达到设定的buffer大小)的log4j appender实现(log4j v1.2.17终极性能优化方案)
package test;
import java.lang.reflect.Field;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
import org.apache.log4j.Appender;