爬虫那些事一些脚本说明

如下有段java启动脚本: 



export JAVA_HOME=jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:.:$CLASSPATH
JAVA=$JAVA_HOME/bin/java
JAVA_OPTS="$JAVA_OPTS -server -Xms256m -Xmx1024m -Xmn128m"
#performance Options
JAVA_OPTS="$JAVA_OPTS -XX:+AggressiveOpts"
JAVA_OPTS="$JAVA_OPTS -XX:+UseBiasedLocking"
JAVA_OPTS="$JAVA_OPTS -XX:+UseFastAccessorMethods"
JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSParallelRemarkEnabled"
JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSCompactAtFullCollection"
JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75"


APP_DIR="."
CONF_DIR="$APP_DIR/conf"
CFG_NAME="$CONF_DIR/global.properties"
TIMEZONE="-Dfile.encoding=UTF8 -Duser.timezone=GMT+08"


nohup $JAVA $JAVA_OPTS $TIMEZONE  -cp "$CONF_DIR:$APP_DIR/lib/GetTask-0.0.1.jar:$APP_DIR/lib/*" cn.put.tasks.GetTask $CFG_NAME > /dev/null 2>&1 &


#$JAVA $JAVA_OPTS -cp "$CONF_DIR:$APP_DIR/lib/GetTask-0.0.1.jar:$APP_DIR/lib/*" cn.put.tasks.GetTask $CFG_NAME


前面三条:export 是引入环境变量以及jar包运行路径,JAVA_OPTS指定JVM运行的参数: 

1.     -client,-server
这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能和内存管理效率不如server模式,通常用于客户端应用程序。相反,server模式启动比client慢,但可获得更高的运行性能。

2.-Xms256m -Xmx1024m -Xmn128m

指定虚拟机运行参数Xms表示最小分配堆内存256M  ,Xmx1024M表示最大堆内存为1024M,-Xmn128m表示年轻带的heap大小为128m

3.性能参数

AggressiveOpts 加快编译,当新的性能优化集成到HotSpot VM中之后,可以通过-XX:+AggressiveOpts选项来启用。

UseBiasedLocking,表示启用偏向锁,这样就可以改善系统性能,偏向锁是指在同步时,通常同步对象一直是一个线程赞有,这样通过在jvm对象头中存储当前线程,这样同一个线程执行同步代码块时就可以不需要进行耗时的获取和释放锁操作,提高了程序的性能。

UseFastAccessorMethods 原始类型的快速优化

DisableExplicitGC 关闭system.gc()

UseParNewGC :设置年轻代为并行收集,可以与CMS收集同时使用。

UseConcMarkSweepGC:使用CMS内存收集

CMSParallelRemarkEnabled: 降低标记停顿

UseCMSCompactAtFullCollection :在Full GC的时候对老年代进行压缩,CMS是不会移动内存的,因此这个非常容易产生碎片, 导致内存不够用, 因此, 内存的压缩这个时候就会被启用。 增加这个参数是个好习惯。可能会影响性能,但是可以消除碎片影响

UseCMSInitiatingOccupancyOnly:使用手动定义初始化定义开始CMS收集,禁止hostspot自行触发CMS GC

CMSInitiatingOccupancyFraction=75:使用CMS进行垃圾收集,使用超过75%的时候开始CMS收集

4、其它参数

TIMEZONE="-Dfile.encoding=UTF8 -Duser.timezone=GMT+08"  设置文档编码utf-8 ,时区为东八区

-cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包










你可能感兴趣的:(j2ee)