自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 收藏
  • 关注

原创 删除/usr/share/vim目录后恢复

蛋疼的将/usr/share/vim/ 目录删除后,vim启动老是一行找不到xxxx的错误,其实不影响编辑文本,关键是失去了对.c/.cpp的语法着色,令人很不愉快  查阅www.vim.org后,发现这是vim的运行库, 幸好官方还有一个ftp可以同步 首先新建刚才不小心删除的目录,然后创建current软连接指向vim73,73是版本号自己可以随便改  mkdi...

2012-03-11 02:34:57 403

MySQL单引号引起的严重性能问题

最近在工作中遇到一个MySQL update的严重性能问题,语句大概是这样的:  update t_user set fstate=0 where fuid in (11111, 22222, ...., .....)  in后的括号中,有1000个fuid的样子 表结构如下:    存储引擎是Innodb, 版本是MySQL 4.0.18...

2011-11-16 01:06:44 340

原创 Shell 统计PV, UV ,独立IP

  每天分析日志的哥们实在伤不起,经常需要给出PV,UV,独立IP等一些统计值,使用C/C++,java都可以写,过程是这样的,先读取文件,逐行扫描,把能标记的值放入数据结构中,排重得出最终结果,其实Linux本身有很强大的文本处理功能,完全可以用shell + 一些文本小工具得出结果。 Nngix输出的access log文件如下:  192.168.1.166 - ...

2011-11-06 15:07:46 214

原创 import static简化代码

喜欢定义常量的哥们你伤不起啊,好处当然是大大滴,但是定义的名字太长会影响到代码本身的美观程度 一般定义常量,会先写一个类专门放置,例如:  package com.opencfg.gateway.server.constant;public final class GateWayServerConstant { public static final St...

2011-11-03 00:10:22 98

Linux之文件系统浅析

我们首先看一下一个简单的文本文件是怎么保存的: 打开vim,编辑一段文本:[root@localhost ~]# vim hello.txt编辑内容如下: opencfg.com is best website for java 用命令:wq保存,然后列出该文件 [root@localhost ~]# ls -l-rw-r--r-- 1 root root...

2011-09-05 00:26:54 149

Linux-CPU监控

监控的目的是为了,找出系统的瓶颈,理解并分析当前系统的特点,现在多数的系统跑的是应用类型,例如:1.数据库(Oracle, MySQL,等)2.Cache服务(Memcached, Squid等)2.应用服务器(Tomcat, Apache,Nginx, Jboss, sendmail等) 其实这些应用软件大致可以分为两类:1. 数据读取范畴(I/O 请求占用多数时间)...

2011-08-28 18:59:32 83

Java永远的伤-中国1927年12月31日午夜

          话说在中国1927年12月31日午夜发生了一件神奇的事情,中国时间瞬间增加了5分52秒, 不管你信不信,反正我信了!不信你看下边代码! /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. ...

2011-08-15 20:44:25 810

LVS NAT模式简介

LVS 简称 Linux Virtual Server,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以性能很高,比起 Apache,Nginx,Haproxy来说,性能不在一个级别。 这里我简单画一下LVS在应用时的部署环境:  简单解释一下一个用户访问www...

2011-07-20 01:46:41 203

高性能的SimpleDateFormat

以前写过一篇 , 《SimpleDateFormat性能调优》http://tuhaitao.iteye.com/admin/blogs/822277虽然可以解决SimpleDateFormat的线程安全问题,但不能够灵活的配置日期Parten,为了使其能够灵活的配置日期格式,我进行了一番改造。 1. 通过配置文件加载Praten,灵活配置日期格式 2. 使用FastHashM...

2011-07-18 23:35:46 204

xss漏洞之进制转换

SQL注入的事件已经是上个世纪最令人头疼的攻击方法,21世纪又出现了HTML注入漏洞,随着web飞速的发展,XSS漏洞已经不容忽视,简单介绍一下XSS漏洞, 只要有用户输入的地方,就会出现XSS漏洞,例如在发表一篇帖子的时候,在其中加入脚本。 1.HTML标签注入:  <script>alert('Hello World!')</script> ...

2011-07-18 01:17:07 451

tomcat关不掉的原因

tomcat/bin 目录下的catalina.sh是比较常用的shell  #启动tomcat./catalina.sh start #关闭tomcat./catalina.sh stop   往往一个工程,开发一段时间后,会发现./catalina.sh stop关闭不了tomcat,而必须使用kill -9 <pid> 这样的强制命令去...

2011-07-12 23:51:38 738

原创 接口调用频率限制代码

有很多时候我们写的代码不是你想跑多快就能跑多快的, 因为一些陈旧的核心系统支撑不了,在此万般无奈的情况下, 调用老系统的接口,服务 就需要运维给一个可以接受的范围参考, 情景大概是这样,现实还是很难接受,明明写好的代码 还用了一些自己优化技术来使代码运行的更快, 现实都是残酷的,不那么完美的, 与其被弓虽女干,不如好好享受一番。  分享一下基于ThreadLocal限制...

2011-06-28 20:49:45 909

java调用linux命令传递参数问题

简单的不带通配符linux命令调用非常简单,使用Runtime.getRuntime().exec(command)即可,如果要显示错误,或者 输出信息,得到相应的inputStream,既可以打印出信息. 但是对于以下命令: ls /var/log/nginx/access.log.* ls /var/log/nginx/access.log.* | grep 2...

2011-05-18 02:04:24 488

原创 Linux下最好用的播放器

很久以前一直流行mplayer,但是编译安装都很复杂,需要很多的共享库支持,界面加上字体一堆问题,比较新版本的linux发行版一般都有问题,以前见同事在流媒体里用vlc作测试,由于是在windows下测试,所以没在意,偶然间上了vlc的官网,发现对linux现有的主流发行版本支持的很给力,需要的朋友可以试试啊,不会让你失望的。 几乎支持现有的所有媒体播放,试试吧 http://ww...

2011-04-09 22:50:01 5167

原创 Java位运算的优势

在Java中对数据的运算,有很好的规范支持,尤其是针对二进制的位运算,解决了C/C++ 逻辑右移 于 算术右移的不确定性,几乎所有市面上见到的C/C++编译器都只对有符号数使用算术右移,Java在这方面作的比C/C++出色。 这里我用一个经典的1,-1的移位运算码来展示:  package com.opencfg.test;/** * Integer Binary ...

2011-04-09 01:58:41 503 1

原创 reverse数组算法

根据不使用中间变量交换两个变量值算法可进一步扩展到数组中:  #include <stdio.h>void change(int* a, int* b) { *b = *a ^ *b; *a = *a ^ *b; *b = *a ^ *b;}// a[] 为数组// cnt为数组长度void reverse_arra...

2011-04-08 02:00:01 161

原创 不用中间变量交换两个变量的值

这个算法是由布尔代数的而来, 在布尔代数中 有几个基本的运算,  与、或、非、异或  ,分别对应C语言中的 &、|、~、^运算符号 其中运算的规则是: 与: &     0     1------------- 0     0     01     0     1 或: |      0     1...

2011-04-06 01:36:05 140

MySQL随机字符串生成

drop function if exists rand_string; create function rand_string(str_length tinyint unsigned, str_type tinyint unsigned) returns varchar(255)begin -- Function : rand_string -- Author ...

2011-03-28 00:15:45 310

mysql4 order by不支持函数bug

mysql 4.1.18 中存在不支持函数order by的bug select a, sum(b)from tablenamegroup by aorder by sum(b) 此时会出现ERROR 1111 (HY000): Invalid use of group function 绕过此bug的方法是给sum(b) 加上as select a, ...

2011-03-22 12:00:44 102

SElinux 配置

selinux 是个安全性极高的软件,在安装了发行版linux的操作系统中,都有一些各个厂家的配置, 因为在发行版linux出厂时,安装了各种编程工具、网络服务,有些安全性软件本身有很强大的功能, 需要对其进行限制, selinux的做法是 ,使用者能被分配预先定义好的角色,以便他们不能存取文件 或者访问他们不用的程序. 这里我给出一些常用的配置以及命令. ...

2011-01-20 02:54:45 103

Facebook BigPipe技术

 关于web应用,从html的产生,到客户端浏览器的渲染,有3个重要的组成部分: 1.html在服务端生成2.网络传输3.浏览器渲染 在html生成的过程中,可能会用到cache,可能会链接数据库等等,对于负责的html页面,都要经过很多业务流程 facebook的做法是使html的生成变成多个步骤,每生成一小部分html(facebook给这种编程模型起了...

2011-01-04 00:37:55 111

原创 SimpleDateFormat性能调优

万能的SimpleDateFormat可以把java.util.Date对象, 或者类似 "2010-11-24 23:23:11.666"的 字符串转换成我们需要的格式或者时间对象。 但是由于时间的概念复杂,又牵扯到时区与本地化,导致了SimpleDateFormat需要处理太多的时间细节,new一个SimpleDateFormat需要华为太多的时间,这样可能会想到缓存Sim...

2010-11-25 00:12:09 183

原创 VitrualBox NAT 端口映射

以NAT方式启动VBox中的Linux,会发现本机无法访问虚拟机中启动的服务,当然以桥接方式启动就不会有这样的问题,但有时候我们不得不去选择NAT方式,这里是我使用NAT映射的一点经验: VBoxManage modifyvm "Fedora-13" --natpf1 "guestmysql-proxy,tcp,127.0.0.1,4040,,4040" ...

2010-11-10 15:33:56 103

原创 JMX学习笔记(三)-MXBean

在MBean中有只要遵循以下两个规则,我们就可以在jconsole中动态的改变MBean中的属性值1. JMX中要定义接口必须以xxxMBean的规范定义2. 得有类实现xxxMBean接口 例如: package com.haitao.jmx.mxbean;/** * Server Configure MBean * * @author ha...

2010-11-10 11:25:20 199

JMX学习笔记(二)-Notification

Notification   通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知.  这里写一个简单的Server配置例子, 首先定义我们的MBean接口:  package com.haitao.jmx.mbeans.server;/** * ...

2010-11-07 15:25:55 167

原创 JMX学习笔记(一)-MBean

JMX        即 Java Management Extensions   Java管理扩展MBean   即 managed beans                         被管理的Beans一个MBean是一个被管理的Java对象,有点类似于JavaBean,一个设备、一个应用或者任何资源都可以被表示为MBean,MBean会暴露一个接口对外,这个接口可以读取或者写入一些对...

2010-10-16 16:27:23 390

原创 tomcat6 native安装

Apache Tomcat Native library 是 Apache 为了提升 Tomcat 的性能搞的一套本地化 Socket, Thread, IO 组件也就是说它有高级 IO 功能, 操作系统级别的功能调用, 以及本地进程处理等等, 这些都能使 Tomcat 更像一个 Web Server(像Apache那样), 而不是只能用来解释JSP, 大大增加了Tomcat作为服务器的吞...

2010-08-22 01:39:32 212

原创 Linux下配置JDK环境变量

一般人都习惯直接修改/etc/profile文件,但是这个不便于管理,万一环境变量一多,对系统的部署造成了很大的麻烦,分不清哪些配置对应哪些应用安装下载步骤就不说了[color=red](linux不同发行版的目录结构不一样,但是每一种都有自己的体系结构,有机会多研究下,可以借鉴到app工程里来用)[/color]安装jdk的路径是:[code="shell"][roo...

2010-08-19 00:47:54 106

原创 Nginx对同IP、同端口、不同域名的转发

在Nginx中的默认Proxy是只能对后面Real Server做端口转发的,而不能做域名转发。如果想使用Nginx对后端是同一IP、同一端口 转发不同的域名则需要配置Nginx Proxy。 这个是因为默认情况下: proxy_set_header Host $proxy_host; 这样就等于前端输入域名后到nginx这里直接转换成IP进行转发了。...

2010-08-18 18:10:15 1004

原创 cookie安全

cookie的domian,path,expires,这些在cookie操作中都会经常用到但是对于客户端浏览器来说这些都是可见的,通过document.cookie可以直接在脚本里输出,这里很容易被注入一些js脚本,获取到本地的cookie,发送到其他地方去,泄露个人隐私,也许大家会认为session安全,通常会听到某某某大侠说,session是保存在服务端的,比cookie安全,可是某某...

2010-07-06 01:09:45 77

原创 windows就是不安全

win7是做的好点了,但是好的背后还是有很多漏洞, 关键还是在于图形界面与命令行的集成,windows真的可以说是在DOS的模式上加了个window的前端,为什么这么说呢? 使用windows时间长的人可能注意到在c:/windows/system32 下存在着许多exe文件,比方说cmd.exe, 这个是在图形方式下用命令行的exe文件, 在菜单啊、桌面啊,都可以建立快捷方式去...

2010-05-30 01:22:22 128

base64的js实现

写了一个js类,可以方便base64加密解密:[code="javascript"]/**** Base64 encode / decode** @author haitao.tu* @date 2010-04-26* @email tuhaitao@foxmail.com**/ function Base64() { /...

2010-04-26 14:38:39 1282

很好的nginx启动shell

nginx是个好东东,性能就不说了,网上有很多文章,我学习时感觉到配置超简单,配置文件就是一个json,而且配置项让没有用过nginx的人一眼就能看懂,真的给人感觉棒! 我在编译安装nginx后,每次启动很麻烦,我在fedora的rpm database中找到了一个很不错的shell,通过chkconfig加载到(/etcinit.d/rc*.d/)目录中去,很方便代码如下:...

2010-04-26 01:42:48 216

Linux 在一块网卡上绑定多个IP

配置虚拟主机时有一种方式是在一块网卡上绑定多个IP,操作如下:首先用ifconfig查看物理网卡[code="shell"][root@localhost etc]# ifconfigeth0 Link encap:Ethernet HWaddr 08:00:27:98:1C:2E inet addr:192.168.1.103 Bcast:...

2010-04-26 00:57:58 238

修改rhel5.4 yum 更新源

rhel没有license是没有办法进行更新的,但是CentOS提供了更新源,并且免费,所以改之...[code="shell"][root@localhost etc]# ll | grep yumdrwxr-xr-x 3 root root 4096 04-25 16:24 yum-rw-r--r-- 1 root root 297 03-31 18:15...

2010-04-25 16:46:52 123

Hibernate延时加载的问题

Hibernate延时加载,其实这个异常写的非常之清楚,就是会话关闭,无法对Hibernate实体进行操作。造成这样的情况有很多,什么书写错误啊,逻辑错误啊。但就此说一下关于lazy机制:Hibernate延时加载包括延迟初始化错误,这是运用 Hibernate开发项目时最常见的错误。如果对一个类或者集合配置了延迟检索策略,那么必须当代理类实例或代理集合处于持久化状态(即处于 Se...

2010-04-19 04:00:12 77

native2ascii转换后仍然乱码

native2ascii转换的时候如果不带-encoding 参数,则在中文系统中会按照GBK的编码方式转换文件, 现在大多书人都在使用UTF-8解决乱码,所以如果在使用native2ascii转换后,仍然是乱码,需要加上-encoding XXX 参数来调整生成ascii文件的编码....

2010-04-18 17:47:27 338

原创 系统性能调优

最近工作一直在忙与改善系统性能,做压力测试,期间学习了下Jmeter做了简单的压力测试,总结一下最近的工作经验。 首先简单介绍一下系统的结构,我们公司是做业务系统,采用的数据库是MySQL,应用服务器是Jboss,其中用到了EJB 包或stateless、stateful session bean,前端只使用了Servlet,因为页面相当简单,只有几步http操作,但是并发量会很...

2010-02-06 02:31:55 80

原创 Linux启动网卡

ifconfig命令可以用于查看Linux活动网卡与IP地址、子网掩码或者mac地址等信息[code="java"][root@localhost ~]# ifconfigeth0 Link encap:Ethernet HWaddr 08:00:27:D4:71:2D inet addr:192.168.1.104 Bcast:255.255....

2010-02-06 00:47:07 178

原创 rhel修改root密码

在安装完Linux的时候突然忘记了root密码,可以先重启Linux, 在开机在出现GUN GRUB画 面按下e键,选择第二项:(原有) [code="shell"] kernel /vmlinuz-2.6.18-14 root=/dev/VolGroup00/LogVol00 rhgVol quiet [/code] 修改为(在最...

2010-02-05 23:00:51 125

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除