- 浏览: 347704 次
- 性别:
- 来自: 成都
最新评论
-
wodediqizhang:
PHP中的 $key="ABCDEFGHIJ0123 ...
java和php对等的3DES加密算法 -
xuxiaoyinliu:
chen_bing8 写道你好,为什么我用你的demo运行后报 ...
用jXLS和poi导出Excel -
zi_wu_xian:
java用poi和jxl对excel的读取还好,如果修改文件的 ...
用jXLS和poi导出Excel -
仰望摩天轮:
大神 用webloginc或者websphere容器的时候 j ...
用BTrace排查性能问题 -
sqq920556218:
很有用,也没有报错,正在研究应用于项目
用jXLS和poi导出Excel
文章列表
MongoDB初探
简介
MongoDB是开源的基于文档的数据库系统,存储基于BSON(类似JSON)的文档,支持复杂的数据结构,支持全部的索引,且提供了强大的查询接口,提供了良好的水平扩展支持,可以存储海量数据,被认为是mysql的替代品。
安装
MongoDB有针对CentOS的rpm安装包
加入源,由于是10gen开发的,所以源名为10gen,
# vi /etc/yum.repos.d/10gen.repo,加入:
[10gen]name=10gen Repositorybaseurl=http://downloads-distro.mongodb.org/repo/re ...
我的电脑装了两个系统,一个win7一个ubuntu,而文件和一些java的软件(如maven,groovy等)则可以共享,因此将共享的软件和文件放在一个FAT32格式的盘中(NTFS在Linux下不容易识别)。然后在ubuntu下挂载这个磁盘。
1. 首先要找到未挂载的磁盘:
写道
$ sudo fdisk -l[sudo] password for hai: Disk /dev/sda: 120.0 GB, 120034123776 bytes255 heads, 63 sectors/track, 14593 cylinders, total 234441648 secto ...
java.util.concurrent包中的ThreadPoolExecutor,提供了java语言的线程池,你可以提交一个返回结果的任务(submit(Callable),返回Future),或者执行一个不返回结果的任务(execute(Runnable)),但提交的任务可能会抛异常,这就需要处理异常:
1. 对于submit的任务,框架会将异常保持在future里,并包装在ExecutionException里,当调用Future.get()时,再次throw,这时可以调用ExecutionException.getCause()获取包装的exception,这种情况下,设置Unca ...
Spring batch是spring提供的批处理的框架,但不包括日程管理(schedule)的部分,最近项目用到,初试牛刀。
Spring Batch的核心概念
如下图,JobLancher启动job,一个job包含若干step,每个step又包含一个ItemReader(读数据),ItemProcessor(处理数据),和ItemWriter(输出数据),job的元数据和运行状态则存储在JobRepository中。
Job运行时概念
Job的一次完整运行称为一个JobInstance,由JobParameter区分(Spring认为相同的Job不应该多次运行),即如 ...
1. 后台线程(Daemon)
调用setDaemon(boolean),可以设置线程为后台线程。
java的前台线程未退出,主进程不会退出。Thread.start()后,启动它的线程不会block,会继续执行下面的代码。可以调用Thread.join(),等待该线程结束。
java的后 ...
mysql jdbc默认把select的所有结果全部取回,放到内存中,如果是要遍历很大的表,则可能把内存撑爆。
一种办法是:用limit,offset,但这样你会发现取数据的越来越慢,原因是设置了offset,mysql需要将读取位置移动到offset的位置,随着offset增大,取数据也越来越慢;
另外一种办法是:用数据流的方式取数据,这时需要设置:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
java.sql.ResultSet.CONCUR_READ_ONL ...
由于在HTTP协议中,服务器是出于被动的位置,浏览器(客户端)发起HTTP请求从服务端获取数据。但web2.0时代的一些web应用,则需要及时更新服务端的信息,(例如:票务,航班信息,股票信息等),还有一些情况下需要客户端和服务端实现一种异步通信的机制(比如:客户端提交一个耗时的请求,服务端处理完成后,通知客户端)。HTML5提供了WebSocket,客户端和服务端可以建立一个双工的通信通道,相互发送数据。Server Send Event(SSE)是一种简单的浏览器实现的轮询,并可以指定事件类型,事件id等。而由于HTML5出于draft阶段,并且浏览器支持的程度相差较大,因此现在很多是通 ...
最近用python写一个导数据的脚本,发现两个python的问题,新手可能容易出错。
1. dict默认参数
看代码:
>>> def test(d={}):
... print d
... d['z'] = 'z'
>>> test({'a':'a'})
{'a': 'a'}
>>>
>>> test()
{}
>>> test()
{'z': 'z'}
发现函数体内对默认参数的复制,会影响下一次的调用。
解决办法一:不用空的 ...
FNV哈希算法是一种高离散性的哈希算法,特别适用于哈希非常相似的字符串,例如:URL,IP,主机名,文件名等。
该算法实现简单,特别适合互联网行业。
但该算法也有几个缺点
1. 不适用于加密,因为其执行效率高,容易攻击;
2. 由于hash结果是按位异或和乘积的,如果任何一步出现0,则结果可能会造成冲突;
FVN哈希算法支持多种位的哈希算法,下面是一个32位FVN哈希算法的实现:
class FNV32Hash {
private static final long OFFSET_BASIS = 2166136261L;// 32位offset basis
...
nginx 日志每日轮询脚本
- 博客分类:
- Web开发
#!/bin/bash
# This script run at 00:00
# 00 00 * * * log_daily.sh
# The Nginx logs path
LOG_PATH="/usr/local/nginx/logs"
for log in `ls $LOG_PATH`; do
echo $log | grep '.log$' > /dev/null
if [ $? -eq 0 ];then
NEW_LOG_FILE_PATH=$LOG_PATH/${log}_`date -d yester ...
Spring提供了事件机制,实现了观察者模式,可以让事件发布者和事件监听者解耦,事件发布者可以发布时间而不需要知道谁会监听,如果实现了异步事件还不会影响主流业务逻辑。
Spring的事件机制,最常用在系统状态监测,系统日志等不影响主线业务的逻辑处理。
例子:
登录事件
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.springframework.context.ApplicationEvent;
public clas ...
该文章部分内容转自:http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html
nginx接受一些信号来实现服务器的重启,重新加载配置项等。
nginx的主进程号会保存在nginx.pid文件中,默认在var/nginx.pid
下面的命令的$nginx_pid都是主进程号
优雅退出
kill -QUIT $nginx_pid
快速退出
kill -TERM $nginx_pid
重新加载配置
kill -HUP $nginx_pid
或者
/usr/nginx/sbin/n ...
1. 查询数据库占用的空间
SELECT round((sum(DATA_LENGTH)+sum(INDEX_LENGTH))/1024/1024,2) as data_size_in_MB FROM information_schema.TABLES where TABLE_SCHEMA='schema_name';
2. 查看某个表
SELECT round((sum(DATA_LENGTH)+sum(INDEX_LENGTH))/1024/1024/1024,2) as data_size_in_GB ...
最近写了个python脚本,在服务器上运行,经常莫名其妙的退出,也不知道原因,后面查了资料得到下面两个方法去捕捉退出的发生,一个是捕捉kill信号,另一个是注册atexit函数
例子:
import os
import sys
import time
import atexit
import signal
import traceback
def term_sig_handler(signum, frame):
print 'catched singal: %d' % signum
sys.exit()
@atexit.register
de ...
java和php对等的3DES加密算法,ECB的加密模式没有CBC安全,iv是初始向量相当于种子。
参考文章:http://www.cnblogs.com/happyhippy/archive/2006/12/23/601353.html
package org.jamie.demo;
import java.security.NoSuchAlgorithmException;
import java.security.Security;
import java.util.Random;
import javax.crypto.Cipher;
import javax ...