博文
JAVA执行Linux脚本问题(2012-05-04 12:43:00)
摘要:
在项目中需要修改Linux主机信息,于是用了Linux支持的命令来完成操作。
该命令为 /bin/sed -i '1,$'d /var/log/XX.log
调用方法为:
public static InputStream excute(String command) {
InputStream inputStream = null;
System.out.println(command);
try{
Process process = Runtime.getRuntime().exec(command);
inputStream = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
System.out.println(br.readLine());
}catch(Exception e){
e.printStackTrace();
}
return inputStream;
}
发现根本就为清空该log文件。调试了半天不知道什么原因。
我于是在主机上自己新建了一个 shell脚本rmfilecontent 该脚本中写了/bin/sed -i '1,$'d......
ExtJs3.3 IE9 Tree点击事件无效(2012-05-02 15:37:00)
摘要:
这两天在用ExtJs做个树形组件,在IE7、8下完好,但放到IE9下就出现tree node移动、点击事件无效。摸索了半天终于解决了。
解决方案是:
Ext.tree.TreeEventModel.prototype 中的 添加如下红色背景部分
getNode : function(e){
var t;
if(t = e.getTarget('.x-tree-node-el', 10)){
var id = Ext.fly(t, '_treeEvents').getAttribute('tree-node-id', 'ext') || t.getAttribute('ext:tree-node-id');
if(id){
return this.tree.getNodeById(id);
}
}
return null;
}
......
java中的io系统总结(转)(2012-04-17 18:13:00)
摘要:
java中的io中的(input/output)stream无非就是包括基于字符的stream、基于字节的stream和把字节导向的stream转换
字符为导向的stream的stream。(很难理解么?)
以字节为导向的stream------InputStream/OutputStream
InputStream
和
OutputStream是两个abstact类,对于字节为导向的stream都扩展这两个鸡肋(基类^_^);
--InputStream
ByteArrayInputStream
-- 把内存中的一个缓冲区作为InputStream使用.
construct---ByteArrayInputStream(byte[])创建一个新字节数组输入流,它从指定字节数组中读取数据。
---ByteArrayInputStream(byte[],
int, int) 创建一个新字节数组输入流,它从指定字节数组中读取数据。
---mark::该字节数组未被复制。
StringBufferInputStream -- 把一个String对象作为InputStream .
注释:不推荐使用
StringBufferInputStream 方法。 此类不能将字符正确的转换为字节。
同 JDK 1.1
版中的类似,从一个串创建一个流的最佳方法是采用 StringReader 类。
construct---StringBufferInputStream(String) 据指定串创建一个读取数据的输入流串。
FileInputStream -- 把一个文件作为InputStream,实现对文件的读取操作
construct---FileInputStream(File) 创建一个输入文件流,从指定的 File
对象读取数据。
---FileInputStream(FileDescri......
MySQL客户端连接太慢(2012-04-17 08:55:00)
摘要:
使用MySQL时,发现用客户端连接速度非常缓慢。刚开始以为是网速慢导致的,之后在同一台主机安装了postgreSQL数据库,并用客户端连接,发现速度很快。因此可见不是网速问题导致MySQL客户端连接慢。
查了相关资料,发现MySQL配置文件中的my.cnf [mysql] 下面没有 skip-name-resolve 。这个属性是不做DNS反向解析。
而恰恰我主机配置了DNS。所以导致了速度太慢。 于是我添加了skip-name-resolve属性。重启MySQL服务,再次连接,速度很快了。
......
BI 定义(2012-04-14 22:35:00)
摘要:
一、BI的定义
BI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与知识的过程。简单讲就是业务、数据、数据价值应用的过程。用图解的方式可以理解为下图:
图(1)
这样不难看出,传统的交易系统完成的是Business到Data的过程,而BI要做的事情是在Data的基础上,让Data产生价值,这个产生价值的过程就是Business Intelligence analyse的过程。
如何实现Business Intelligence analyse的过程,从技术角度来说,是一个复杂的技术集合,它包含ETL、DW、OLAP、DM等多环节,基本过程可用下图描述。
图(2)
上 图流程,简单的说就是把交易系统已经发生过的数据,通过ETL工具抽取到主题明确的数据仓库中,OLAP后生成Cube或报表,透过Portal展现给用 户,用户利用这些经过分类(Classification)、聚集(Clustering)、描述和可视化(Description and Visualization)的数据,支持业务决策。
说明:
BI 不能产生决策,而是利用BI过程处理后的数据来支持决策。哪么BI所谓的智能到底是什么呢?(理清这个概念,有助于对BI的应用。)BI最终展现给用户的 信息就是报表或图视,但它不同于传统的静态报表或图视,它颠覆了传统报表或图视的提供与阅读的方式,产生的数据集合就象玩具“魔方”一样,可以任意快速的 旋转组合报表或图视,有力的保障了用户分析数据时操作的简单性、报表或图视直观性及思维的连惯性。
我想这是大家热衷于BI的根本原因。
二、BI的诞生
随 着IT技术的进步,传统的业务交易系统有了长足的发展,已经实现了业务信息化,每一笔业务数据都记录在数据库中,星转斗移,累积了以TB为计量单位的业务 数据记录。也许你会问:这么多数据,占用了很多存储设备,耗费存储成本,却又不经常访问,留着它有什么用处?可以给你肯定的回答,留着......
Extjs3.3 IE9 createContextualFragment(2012-04-09 14:45:00)
摘要:if ((typeof Range !== "undefined") && !Range.prototype.createContextualFragment) {Range.prototype.createContextualFragment = function (html) {var frag = document.createDocumentFragment(),div = document.createElement("div");frag.appendChild(div);div.outerHTML = html;return frag;};}......
Linux 防火墙规则修改(2012-04-09 12:40:00)
摘要:
如果你发现你的服务开着,对应的端口也有。但还是用客户端访问不了,那么请注意是否是防火墙规则过滤掉了你所要访问的端口。
1、 /etc/sysconfig/iptables 这个是防火墙的规则文件,
内容为;
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCE......
MySQL添加用户基本命令(2012-04-09 11:49:00)
摘要:
1. 新增用户
mysql>insert into mysql.user(Host,User,Password) values("localhost","lionbule",password("hello1234"));
mysql>flush privileges;
2. 修改用户密码
mysql>update mysql.user set password=password('new password') where User="lionbule" and Host="localhost";
mysql>flush privileges;
3. 删除用户
mysql>DELETE FROM user WHERE User="lionbule" and Host="localhost";
mysql>flush privileges;
4. 权限分配
权限:
常用总结, ALL/ALTER/CREATE/DROP/SELECT/UPDATE/DELETE
数据库:
*.* 表示所有库的所有表
test.* 表示test库的所有表
test.test_table 表示test库的test_table表  ......
java 实现ping(2012-03-06 13:18:00)
摘要:一、纯Java实现ICMP的ping命令
import java.io.*;
import java.net.*;
import java.nio.channels.*;
import java.util.*;
import java.util.regex.*;
public class Ping {
static int
DAYTIME_PORT = 13;
static int
port = DAYTIME_PORT;
static class
Target {
InetSocketAddress address;
SocketChannel channel;
Exception failure;
long connectStart;
long connectFinish = 0;
boolean shown = false;
Target(String host) {
try {
 ......
JS 数组操作(2012-03-01 13:12:00)
摘要:
js数组的操作
用
js有很久了,但都没有深究过js的数组形式。偶尔用用也就是简单的string.split(char)。这段时间做的一个项目,用到数组的地方很多,
自以为js高手的自己居然无从下手,一下狠心,我学!呵呵。学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧
1、数组的创建
var arrayObj = new Array(); //创建一个数组
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值
复制代码
要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。
2、数组的元素的访问
var testGetArrValue=arrayObj[1]; //获取数组的元素值
arrayObj[1]= "这是新值"; //给数组元素赋予新的值
复制代码
3、数组元素的添加
代码
arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1 [item2 [. . . [itemN ......