摘要: Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使Java NIO在各种传输协议(如TCP/IP,UDP/IP协议等)下快速高效开发。简单例子:客户端: // 创建客户端连接器. NioSocketConnector connector = new NioSocketConnector(); connector.getFilterChain().addLast("logger... 阅读全文
posted @ 2013-02-28 19:01 IT_熊 阅读(245) 评论(0) 推荐(0)
摘要: 泛型是JavaSE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要 求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。 泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和... 阅读全文
posted @ 2013-02-28 18:55 IT_熊 阅读(210) 评论(0) 推荐(0)
摘要: 1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK。 按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理就是只要读出文件前三个字节,判定这些字节的值,就可以得知其编码的格式。其实,如果项目运行的平台就是中文操作系统,如果这些文本文件在项目内产生,即开发人员可以控制文本的编码格式,只要判定两种常见的编码就可以了:GBK和UTF-8。由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。 对于UTF-8编码格式的文本文件,其前3个字节的值就是-17、-69、-65,所以,判定.. 阅读全文
posted @ 2013-02-20 18:38 IT_熊 阅读(3017) 评论(0) 推荐(1)
摘要: 今天遇到一个将java二进制文件(.class)用jad进行反编译,因为操作是在windows上操作,反编译后的文件编码是GBK编码,因为开发运行环境是utf-8,需将GBK编码文件转化为utf-8,又因为文件目录及数量很多,单个处理比较麻烦,特花十几分钟编写工具类如下以记录之:import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcep 阅读全文
posted @ 2013-02-20 18:24 IT_熊 阅读(304) 评论(0) 推荐(0)
摘要: 现象:通过WinSCP将文件名中包含中文的文件上传到linux服务器,用java代码对这些文件进行操作时发现提取到的文件名全是乱码。 windows的默认编码是unicode,而linux上一般是utf-8,所以用winscp传输文件时会因编码不同造成乱码。 解决方法:在WinSCP的 Advanced Options--Environment(环境)中将 “UTF-8 encoding for filenames(文件名utf-8)”设为on(开启)(较低版本的winscp可能没有这个选项,所以得升级到最新版本的WinSCP) 阅读全文
posted @ 2013-01-31 16:00 IT_熊 阅读(2194) 评论(0) 推荐(0)
摘要: 文件编码转换1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式:set fileencoding=utf-82. iconv 转换,iconv的命令格式如下:iconv -f encoding -t encoding inputfile比如将一个UTF-8 编码的文件转换成GBK编码iconv -f GBK -t UTF-8 file1 -o file2文件名编码转换从Linux往 windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名 中文编码默认为GBK,而Linux中默认文件名编 阅读全文
posted @ 2013-01-31 14:25 IT_熊 阅读(1093) 评论(0) 推荐(0)
摘要: 直接在浏览器最上边的标题栏“工具”选项里的“internet”————“内容”--------“发行者”———“未受信任的发行者”里的Adobe证书删掉,再重新安装Adobe Flash Player就行了。如果是360 6.0版以上:工具-选项-高级设置-隐私与安全-未受信任的发行者中的Adobe证书删掉 阅读全文
posted @ 2013-01-29 10:12 IT_熊 阅读(395) 评论(0) 推荐(0)
摘要: 把需要用到的IP地址和端口添加到站点属性,如下图,如果需要将站点设置为默认站点,则把主机头输入时为空。如图: 阅读全文
posted @ 2013-01-28 18:35 IT_熊 阅读(389) 评论(0) 推荐(0)
摘要: 1 对象克隆 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单,也是最高效的手段3 对象克隆(浅层克隆和深层克隆) 有三个值得注意的地方,一是希望能实现clone功能的CloneClass类实现了Cloneable接口,这个接口属于java.lang包,java.lang包已经被缺省的导 阅读全文
posted @ 2013-01-07 15:03 IT_熊 阅读(533) 评论(0) 推荐(0)
摘要: 最近做测试的自动化实现,需要实现在windows环境下通过跳板机登陆到测试机,运行测试机上某个shell脚本的功能,看了以前的一些参考代码,采用的是Runtime.exec("\"C:\\ProgramFiles\\SecureCRT\\vsh.exe\"-pw密码 ***@*** sh **.sh")这样的方式来实现的,后来试用了一下,发现通过跳板机到达测试机能实现,但是中间有点辗转,而且,登陆到测试机上以后执行shell脚本结果时好时坏,由于不太熟悉,个人觉得应该是流没有控制好,或者是线程之类的原因。于是寻找到另外一种方法来实现相同的功能,引入gan 阅读全文
posted @ 2013-01-05 15:33 IT_熊 阅读(4801) 评论(0) 推荐(0)