工具
文章平均质量分 81
chaofanwei
这个作者很懒,什么都没留下…
展开
-
NIO框架之MINA源码解析(二):mina核心引擎
MINA的底层还是利用了jdk提供了nio功能,mina只是对nio进行封装,包括MINA用的线程池都是jdk直接提供的。MINA的server端主要有accept、processor、session三部分组成的。其中accept主要负责在指定的端口监听,若有新连接则建立一个新的session;processor则负责处理session对应的发送数据和接收数据并调用上层处理;session则缓存当原创 2014-09-03 08:42:13 · 7363 阅读 · 1 评论 -
虚拟化(二):虚拟化及vmware workstation产品使用
vmware workstation的最新版本是10.0.2。详细原创 2014-07-21 07:51:52 · 7375 阅读 · 0 评论 -
虚拟化(一):虚拟化及vmware产品介绍
由于公司最近在做虚拟化监控,因此就需要把虚拟化方面的知识给学习总结一下,对于虚拟化的概念,摘自百度百科,如下: 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。1、虚拟化分类 现在主流的虚拟原创 2014-07-18 09:56:29 · 15730 阅读 · 0 评论 -
javacc-LOOKAHEAD MiniTutorial 翻译
本文翻译自\javacc-5.0\doc\lookahead.html章节。上文:http://blog.csdn.net/chaofanwei/article/details/255410651、LOOKAHEAD是什么 lookahead就是当语法分析器从词法分析器里取token时,需要取多少个才能让分析器正确的走下去。例一 void Input() :翻译 2014-05-11 21:05:09 · 3425 阅读 · 0 评论 -
javacc学习总结
在学javacc的时候,发现一个问题,见下:Example.jj文件PARSER_BEGIN(Example)public class Example { public static void main(String args[]) throws ParseException { Example parser = new Example(System.in);原创 2014-05-11 21:32:06 · 3082 阅读 · 0 评论 -
编译原理与javacc初探
1、前序 真是书到用时方恨少啊,在大学的时候,虽然学过编译原理,但当时真是不懂啊,只是为了应付考试,死记硬背了一点点。现在呢,由于工作上的需要,不得不弥补一下啊。 这两天把编译原理的书又看了一遍,其实也就是主要看了文法,词法分析,语法分析而已,为了备忘,赶紧先记一下吧。2、定义 词法分析,就是把源码中的一行行代码按照事先规定好的格式分隔成一个个单词符号(to原创 2014-05-11 14:21:33 · 6403 阅读 · 0 评论 -
java命令解释器介绍-bsh
今天在项目里面看到了前人用到了一个很有用的工具java beanshell(bsh),网上搜罗了一番,发现挺有用的,于是乎,赶紧记下来备忘。 下载地址:http://www.beanshell.org/download.html(就是一个jar包) doc:http://www.beanshell.org/manual/bshmanual.html B原创 2014-04-22 21:40:11 · 7411 阅读 · 0 评论 -
使用U盘安装系统向导
这两天在单位光装几个系统浪费了好长时间,是这样的,公司里面的机器都是没有光驱的,自然也没有系统光盘,有的只是几个iso文件。之前见一个同事在给电脑装系统时,使用的是U盘,但是呢,竟然是通过gost文件还原的形式的装的。想起来有的不爽,因为gost文件有可能是被别人篡改过的,不安全。因此我在网上琢磨了一番,总结了一套使用U盘安装系统的简易方法。 为了给电脑装系统,我可真是花了不少原创 2014-05-07 21:17:30 · 2384 阅读 · 0 评论 -
UML学习总结
随着qinshou原创 2014-04-21 22:24:58 · 3144 阅读 · 1 评论 -
利用btrace在线监控java程序状态
btrace介绍 下载地址:https://kenai.com/projects/btrace/downloads/directory/releases/ 选择版本进行下载,这里下载的是release-1.2.4 /btrace-bin.zip 这两天在调试程序时,发现一个比较好用的工具-btrace,能够线上监控程序状态,获取运行时数据信息,如方法返原创 2014-03-01 17:25:46 · 14494 阅读 · 0 评论 -
深入理解maven及应用(一):生命周期和插件
在项目里用了快一年的maven了,最近突然发现maven项目在eclipse中build时非常慢,因为经常用clean install命令来build项目,也没有管那么多,但最近实在受不了乌龟一样的build速度,于是下定决心再看看《maven实战》吧, 对于我来说,maven最主要的作用有两个方面,一个是对jar包的依赖解决功能,自己管理jar包,另一个功能就是项目的构建,打包部署。现在我觉原创 2014-07-02 09:11:41 · 6533 阅读 · 1 评论 -
深入理解maven与应用(二):灵活的构建
深入理解maven及应用(一):生命周期和插件参考官方url:http://maven.apache.org/guides/index.html 一个优秀的构建系统必须足够灵活,应该能够让项目在不同的环境下都能成功构建。maven为了支持构建的灵活性,内置了三大特性,即:属性、profile和资源过滤。1、maven属性 maven属性分6类: 1、内置属性:如${bas原创 2014-07-03 14:11:00 · 3343 阅读 · 0 评论 -
NIO框架之MINA源码解析(五):NIO超级陷阱和使用同步IO与MINA通信
1、NIO超级陷阱之所以说NIO超级陷阱,就是因为我在本系列开头的那句话,因为使用缺陷导致客户业务系统瘫痪。当然,我对这个问题进行了很深的追踪,包括对MINA源码的深入了解,但其实之所以会出现这个问题,它的根不是MINA的原因,而是JDK底层的问题原创 2014-09-15 07:56:07 · 5515 阅读 · 1 评论 -
NIO框架之MINA源码解析(一):背景
“你们的agent占了好多系统的端口,把我们的很多业务系统都给整死了,给我们造成了很大的损失,要求你们的相关领导下周过来道歉”--来自我们的一个客户。 怎么可能呢,我们都不相信,我们的agent只占一个端口啊!事实胜过雄辩,经过查证,确实是由于我们的agent占了好多系统的端口,我看了一下日志,基本把系统可用的端口占完了!为什么呢?MINA框架私自开的!由于我们的agent端使用了NIO通信框原创 2014-09-01 08:24:22 · 7224 阅读 · 2 评论 -
虚拟化(七):vmware horizon view 安装及效果展示
vmware horizon view 整体结构图,安装事项及注意原创 2014-08-18 09:08:51 · 29005 阅读 · 2 评论 -
NIO框架之MINA源码解析(四):粘包与断包处理及编码与解码
1、粘包与段包指TCP协议中,发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。造成的可能原因: 发送端需要等缓冲区满才发送出去,造成粘包 接收方不及时接收缓冲区的包,造成多个包接收原创 2014-09-11 08:27:56 · 7700 阅读 · 7 评论 -
NIO框架之MINA源码解析(三):底层通信与责任链模式应用
本文主要介绍下在mina中责任链模式的应用以及mina对于数据读写的处理。在mina中,对数据的读操作是在processor类里面触发的,收到新消息后就触发读数据链去处理新消息直到自己的业务逻辑代码(IoHandler)。在mina中,数据的写(write)和发(send)差别相对较大,mina中的写消息最终的结果只是把要写的消息经过写数据链处理后的最终结果放在了一个缓存中,并把当前session原创 2014-09-10 08:11:06 · 5631 阅读 · 2 评论 -
虚拟化(六):vmware 桌面虚拟化 horizon view 介绍
vmware桌面虚拟化产品包括3种,即vmware horizon view、horizon mirage、horizon workspace。vmware view客户端通过使用微软的RDP协议或vmware 专有的PCoIP协议,连接到虚拟桌面,并且可以使用本地的USB设备、本地存储。vmware view产品有“客户端设备”、view connection server、原创 2014-08-13 09:12:02 · 27028 阅读 · 3 评论 -
虚拟化(五):vsphere高可用群集与容错
vsphere高级功能需要vcenter server和共享存储的支持原创 2014-08-04 08:27:09 · 8672 阅读 · 0 评论 -
存储管理(二):openfiler之accounts
存储管理(一):openfiler介绍及存储理解 openfiler的用户集中控制主要分为ldap和ad实现,其中openfiler本身可以作为ldap服务器,使openfiler上的所有功能都能够通过以上两类用户来进行统一控制。 1、ldap配置 此处演示把openfiler当成一个ldap服务器,如下:勾选”Use Local LDAP Server“原创 2014-07-08 17:21:30 · 3701 阅读 · 0 评论 -
存储管理(一):openfiler介绍及存储理解
openfiler是一个免费的、开源的基于浏览器的网络存储产品,支持基于文件的的网络连接存储(NAS)和基于块的存储区域网(SAN)。支持的协议有smb,cifs,nfs,http/dev和ftp。1、openfiler的安装 官网地址:http://www.openfiler.com/ openfiler的安装支持多种方式,可以下载iso格式的也原创 2014-07-05 17:18:53 · 7331 阅读 · 1 评论 -
nexus windows启动脚本分析
@REM @if "%WRAPPER_DEBUG%" == "" @echo offif "%OS%"=="Windows_NT" goto beginecho Unsupported Windows version: %OS%pausegoto :eof:beginsetlocal enableextensionsset DIRNAME=%~dp0 获取脚原创 2013-11-22 17:56:32 · 2589 阅读 · 1 评论 -
关于log4j的研究
虽然用了老长一段时间的log4j了,基本的配置也都在项目里面使用了,但总还是会有一些问题时不时的摆在自己面前,还有有时候想修改一下输出格式,还的在网上搜,于是最近研究了一下,总结如下: slf4j是java日志的接口,下面有好多实现,比如log4j,commons-logging,logback,jdk-log,如下图:因为slf4j是接口日志包,所以在具体的项目里面可以选择原创 2013-11-22 10:47:36 · 2645 阅读 · 0 评论 -
ftp服务器端协议分析以及java版本实现
前一段时间,由于项目需要,两个模块之间能够进行文件的传输,当然开始想到的都是利用java io流进行传输,但考虑到通用性,最后决定利用ftp进行传输,网上找了一下,apache有一个开源的java版本的ftp服务器实现,但下载下来后发现很大(写的比较详细,多),不容易集成到我们自己的模块之内,于是最后决定实现一个自己的java版本的ftp服务器。 在研究的过程中,确实是遇到了许原创 2013-11-06 16:58:11 · 4661 阅读 · 1 评论 -
负载均衡与集群之apache+tomcat
具体的负载均衡是什么意思,我就不详细说了,网上搜下便有,简单的说就是把接受到的请求按照设定分发到后台集群中不同的服务上。 集群的意思也比较简单,就是多台服务器对外提供一致的功能,在外界看来,就是一个。但在内部,则有很多个相似的服务器。 这里再说一下正向代理和反向代理吧。 正向代理 是一个位于客户端和原始服务器(origin server)之原创 2013-10-11 22:07:47 · 3085 阅读 · 0 评论 -
全文索引-lucene,solr,nutch,hadoop之solr
上一节大概讲了一下lucene,但真正运用在项目中的并不多,运用的最多的当属于solr,solr是对lucene的封装,形成一个独立的服务,专门提供索引,分词,搜索的服务,一般在项目中,大概的布局也是这样,项目一般分好多个模块,而搜索则使用solr专门提供一个服务,别的模块需要使用搜索的功能时,则使用solrj 来调用solr的搜索功能获取结果。 而且solr已经默认启用了近实时搜索的功原创 2013-10-10 20:40:38 · 3668 阅读 · 2 评论 -
全文索引-lucene,solr,nutch,hadoop之lucene
最先接触全文索引,还是在大学的时候,要给学校做一个搜索的项目,当初需求是能够提供类似百度的关键词搜索,但当时由于本身技术不行,虽然当时在网上找了一下资料,也看到了lucene,但当时学习的话,时间还是不够,而且有的难度,但当时已经知道可以用lucene来实现所需要的需求(当时项目中采用的方案是数据库多列合并like)。 后来就开始学习lucene,才知道什么是全文索引,由于luce原创 2013-10-09 20:52:08 · 10112 阅读 · 4 评论 -
深入java内部
1、jar用法:压缩定位到包的上一个文件夹 jar –cvf 名字.jar *.* (*.*表示当前文件夹下的所有子文件夹) 解压:jar –xvf名字.jar2、-verbosejava –verbose:class Main 跟踪Main类所使用的类别3、-classpathjava –classpath e:\java\原创 2013-09-15 19:09:10 · 1650 阅读 · 0 评论 -
oracle 学习
1、常用端口位于db_1\install下面的portlist.ini中2、查询当前数据名方法一:select name from v$database;方法二:show parameter db3、查看oracle数据库的编码 select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'原创 2013-09-15 18:17:59 · 1523 阅读 · 0 评论 -
ant 日记
1、ant安装 1 添加ANT-HOME 环境变量,即ant所在目录 2 ANT-HOME下的bin目录加入到path环境变量中 3 cmd下输入ant看是否成功2 ant默认是处理当前目录下的build.xml,即在cmd下只输入ant命令,若想处理别的xml文件则可以用 ant –f xxx.xml b原创 2013-09-15 18:02:00 · 1687 阅读 · 0 评论 -
class版本问题导致-严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/web
Unsupported major.minor version 51.0”,因为java是向下兼容的,即jdk7能兼容小于jdk7编译的class文件,jdk6能兼容小于jdk6编译的class文件,jdk6能不能兼容jdk7编译的class文件原创 2013-09-30 10:52:33 · 19331 阅读 · 1 评论 -
tomcat 启动配置-便于启动时错误调试
运行java web项目时,又是项目易出错,这是tomcat是一扇而过,看不清是什么错误,这个时候就需要修改tomcat启动脚本,使其在一个cmd下面启动,所有的信息都在cmd下面显示。 环境:win7,apache-tomcat-6.0.26 其实很简单,只需要修改catalina.bat 中的if not "%OS%" == "Windows_NT" goto noTi原创 2013-09-30 10:05:15 · 3571 阅读 · 0 评论 -
redhat下面服务的管理
1、依据daemon的启动与管理方式来区分,可以分为stand_alone 和 super daemon2、端口和服务名称的对应关系在 /etc/services 下面 图13、daemon的启动脚本及位置 /etc/in原创 2013-09-12 09:47:31 · 2078 阅读 · 0 评论 -
负载均衡与集群之nginx+tomcat+memcached
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 近年来nginx越来越流行,很多网站都开始用nginx来做web代理,以及原来的大公司也都在考虑用nginx来代替apache和resign。由于我在上个公司时,一个电子商务原创 2013-10-14 20:28:15 · 8186 阅读 · 2 评论 -
各大网站前端web服务器汇总-nginx居首
测试的有170个网站,结果如下:Apache:36,比例 23%IIS:27,比例 17%nginx:53,比例 34%Other:40,比例 26% 详细:网址 服务器信息 www.google.com Server:原创 2013-10-14 20:58:49 · 5206 阅读 · 0 评论 -
windows 下查询网络端口以及任务杀死的方法
三个命令 : netstat,tasklist ,taskkill 常用子操作 netstat -ano -p tcp tasklist Tasklist /FI "PID eq 1524" /FO CS原创 2013-11-06 13:31:17 · 3352 阅读 · 0 评论 -
ftp客户端命令详解及实例
经常使用ftp进行文件上下传的用户使用的工具大部分都是flashxp或者java开源实现的FileZilla Client(当然也有java开源的FileZilla Server )客户端软件实现,可是大部分人并不知道windiows和linux一般都带的有ftp客户端实现,即ftp命令。 验证: windows下在cmd里面输入ftp命令,回车看是否有ftp提示原创 2013-11-06 12:53:28 · 10819 阅读 · 0 评论 -
使用spring security 实现权限的验证
这是在上个公司做项目的时候用到的权限验证,但由于时间太长,修改次数较多,现在只剩下了一部分代码以及配置文件,总的来说,其实现思路是可以借鉴的,现在来想想,其实自己实现也并不是很难的,而且自定义性非常大,而且能够实现页面是否具有增删改的权限以及相应图标文字的显示与否。具体思路其实大都类似,下面我还是大概说下spring security究竟是怎么一个东东。 其共使用到了5张表,实体原创 2013-10-22 20:56:18 · 7266 阅读 · 1 评论 -
spring+jta实现全局事物管理
在上个公司由于项目的需要,新做的电子商务网站要与一个返款系统(之前做的)进行集成,要求新做的电子商务网站能够调用并修改返款系统的数据,当然这个两个数据库(oracle),部署在redhat tomcat下面,由于tomcat本身并不支持jta事物,加上项目用的是spring,因此在网上打捞一番后就用了jotm。 JOTM(Java Open Transaction Manager)原创 2013-10-21 21:05:38 · 4060 阅读 · 1 评论 -
struts2和fckeditor的整合
在struts2中,默认的action和serverlt一样是没有后缀(.action)的,因此这个时候访问一个地址,很可能是一个serlet,也可能是action。而本文要用的fckeditor在上传图片时则是利用到了servlet的功能,而这个时候如果又在项目中用到了struts2时,struts2默认会拦截这个地址,交给sturts2处理。因此导致不能正常上传和浏览图片的功能。原创 2013-10-26 22:05:31 · 2465 阅读 · 0 评论