Skip to content

Instantly share code, notes, and snippets.

View lichengwu's full-sized avatar

Oliver Lee lichengwu

View GitHub Profile
@lichengwu
lichengwu / delete.bat
Created November 11, 2012 08:03
win7/win8强制删除文件夹
@echo off
set /p path=path:
set /p user=user:
rem 我们需要修改文件或目录的所有者
takeown /F %path% /R
rem 给用户授权文件夹或文件的完全控制权限
@lichengwu
lichengwu / view_jvm_commandline_flags
Created July 3, 2012 00:38
about jvm command line flags
#list all changed flags
-XX:+PrintCommandLineFlags
#list all changeable flags and final default values
-XX:+PrintFlagsFinal
#list all changeable flags and initial default values
-XX:+PrintFlagsInitial
eg:
@lichengwu
lichengwu / G1LogUtil.py
Created December 21, 2012 16:20
Garbage First Log Analyse Util
# coding=utf-8
__author__ = 'lichengwu'
import datetime
import re
'''
Garbage First Log Analyse Util
'''
@lichengwu
lichengwu / AttackJVM.md
Last active January 4, 2016 15:59
利用反射,攻击JVM

Java中,Integer,Long等都是有-127~128的缓存的,利用反射: 可以达到攻击目的

Field value = Integer.class.getDeclaredField("value");
value.setAccessible(true);
value.set(42, 43);

同样,String这个“不变”对象也可以:

@lichengwu
lichengwu / InputStreamAsString
Created December 28, 2013 02:42
最简单的方式把一个InputStream转换成String
/**
* 最简单的方式把一个InputStream转换成String
*
* @author lichengwu
* @version 1.0
* @created 2013-12-28 10:37 AM
*/
public class InputStreamAsString {
public static void main(String[] args) throws IOException {
@lichengwu
lichengwu / run_command.py
Last active December 31, 2015 08:28
run shell on local/remote target
#!/usr/bin/python
#encoding=gbk
__author__ = 'lichengwu'
import pexpect
import sys
import getopt
import time
import os
def run_command(ip, user, password, cmd, tmo=600):
@lichengwu
lichengwu / jenkins.sh
Created December 14, 2013 14:34
run jenkins shell
#!/bin/sh
DESC="Jenkins CI Server"
NAME=jenkins
PIDFILE=/var/run/$NAME.pid
RUN_AS=admin
COMMAND=JAVA_TOOL_OPTIONS=-Dfile.encoding=GBK /opt/taobao/java64/bin/java -jar -server -Xms2048m -Xmx2048m -XX:NewSize=320m -XX:MaxNewS
ize=320m -XX:PermSize=128m -XX:MaxPermSize=256m /usr/lib/jenkins/jenkins.war --httpPort=9000
#COMMAND=/opt/taobao/java/bin/java -jar /home/jenkins/jenkins.war
@lichengwu
lichengwu / GCMonitoring.java
Last active December 23, 2015 02:29
GarbageCollect Notification in JDK7
/**
* gc monitoring only on jdk7 or later
*
* @author lichengwu
* @version 1.0
* @created 2013-09-14 10:44 PM
*/
public class GCMonitoring {
@lichengwu
lichengwu / Resource.java
Created January 31, 2013 14:29
lazy init by placeholder(thread safe) more graceful than `double check locking`
/**
* lazy init by placeholder(thread safe)
*
* @author lichengwu
* @version 1.0
* @created 2013-01-31 10:19 PM
*/
public class Resource {
public static Resource getInstance() {
@lichengwu
lichengwu / meituan.js
Created January 12, 2013 10:43
meituan mail script for x-notifier
/**********************************************************
mail.meituan.com
@author:lichengwu
@created:2013-01-11
@version:1.0
**********************************************************/
var name="Meituan Mail";
var ver="2013-01-11";
function init(){