Skip to content

Instantly share code, notes, and snippets.

View wangzaixiang's full-sized avatar

wangzaixiang wangzaixiang

View GitHub Profile
@wangzaixiang
wangzaixiang / Client.java
Created December 19, 2013 09:05
JMX Demo
package jmxdemo;
import java.io.File;
import java.util.Set;
import javax.management.JMX;
import javax.management.MBeanServerConnection;
import javax.management.ObjectInstance;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
@wangzaixiang
wangzaixiang / CodeWriter.scala
Created November 19, 2013 11:04
new Template based on Scala XML
package demo
object CodeWriter {
def main(args: Array[String]) {
val code = new CodeWriter
code.println("package wangzx.javabean")
code.println
code.println("public class Student extends Object");
@wangzaixiang
wangzaixiang / pie.html
Last active December 18, 2015 02:29
JavaScript Performance Test
<script languange="javascript">
var begin = new Date();
var pie = 0;
var loop = 1000 * 1000 * 100;
for(var i=1; i<loop; i++){
var sign = (i % 2) == 0 ? -1.0 : 1.0;
pie = pie + sign / (2*i - 1)
}
@wangzaixiang
wangzaixiang / BindDemo.scala
Last active December 17, 2015 09:48
BindMacro, implements feature such as javafx' expression bind
package demo
import reflect_demo.BindMacro._
import reflect_demo._
object BindDemo {
def main(args: Array[String]) {
val x = Box(10)
@wangzaixiang
wangzaixiang / EnumsMacro.scala
Created March 31, 2013 14:30
Macro code to build a enum Just a simple prototype, but maybe useful for future. Learn how to build the AST, I first using the reify and the c.universe.showRaw, and using the scalac -Xprint:4 to show how the compiler generate the reifly code. It is nesseary to learn the reflect API in more deep.
package wangzx.macros
import scala.language.experimental.macros
import scala.reflect.macros.Context
import java.lang.String
import scala.reflect.api.Symbols
object EnumsMacro {
def docs[A](obj: A): Map[Int, String] = macro docsMacro[A]
@wangzaixiang
wangzaixiang / test2.c
Created February 18, 2013 09:50
Cache Test
//gcc -DPAD=0 -o test2_0 test2.c -lpthread;time ./test2_0 -- 6.5s
//gcc -DPAD=0x0C38 -o test2_0C38 test2.c -lpthread;time ./test2_0C38 -- 15s
#include <stdio.h>
#include <pthread.h>
#include <sys/time.h>
// very suprise, when PAD = 0x0C38, the speed is slow down
typedef struct _Block
{
@wangzaixiang
wangzaixiang / BeanMacros.scala
Created January 19, 2013 09:27
Scala Macros Usage
package macro_basic
import scala.reflect.macros.Context
import scala.language.experimental.macros
object BeanMacros {
def ToString[A](obj: A): String = macro toStringMacro[A]
def toStringMacro[A](c: Context)(obj: c.Expr[A]): c.Expr[String] = {
import c.universe._
@wangzaixiang
wangzaixiang / channelonline_sync.py
Created November 21, 2012 08:05
ForkJoin/MapReduce Demo Code
# -*- coding: utf-8
'''
从数据源同步获取Channel在线的数据,保存到mongodb中
这个脚本一般以crontab方式运行,每30秒运行一次
@author: wangzaixiang@gmail.com
'''
from app_logger import Logger, set_logging_path
@wangzaixiang
wangzaixiang / Demo1.scala
Created November 16, 2012 09:19
Scala CPS learning
package demo
import scala.util.continuations._
object Demo1 {
def main(args: Array[String]) {
var cont: (Int=>String) = null
@wangzaixiang
wangzaixiang / JSONContentReader.java
Created November 9, 2012 06:59
Simple JSON-javabean mapping utility based on JAXB
package wangzx.util.json;
import java.io.IOException;
import javax.xml.transform.sax.SAXSource;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.xml.sax.ContentHandler;