java
文章平均质量分 79
zzycgfans
科学技术是第一生产力
展开
-
java short转byte的方法
<br /> private static byte[] shortToByteArray(short s) {<br /> byte[] shortBuf = new byte[2];<br /> for(int i=0;i<2;i++) {<br /> int offset = (shortBuf.length - 1 -i)*8;<br /> shortBuf[i] = (byte)((s>>>offset)&0xff);<br /> }<br /> return shortB原创 2010-06-30 17:05:00 · 11608 阅读 · 0 评论 -
Ant出错-Perhaps JAVA_HOME does not point to the JDK
问题描述:Eclipse中运行Ant出错,信息如下 Unable to find a javac compiler Perhaps JAVA_HOME does not point to the JDK 解决方法: 把JAVA_HOME错误的配置到JRE目录了,改成:C:/Program Files/Java/jdk1.5.0_04或者类似的就行了。如果你是在myeclipse里面运行的ant,那原创 2011-06-08 11:02:00 · 10778 阅读 · 0 评论 -
linux 文件查看 常用命令
1.查看前几行head -行数 文件名head -100 out2.查看后几行tail -行数 名tail -100 out3.查看从某行到某行sed -n (100,200)p out.txt4.输出到其他文件sed -n (100,200)p out.txt > log.txt5.删除从第2行到最后一行sed '2,$'d out.txt原创 2011-04-21 17:04:00 · 927 阅读 · 0 评论 -
Dom4j中"The Node already has an existing parent"问题
常常需要在两个Document中互相复制Element,可是Dom4j中使用Element.add(Elemnet)方法就会出现出题的错误:而应用AppendContext()方法,只能将目标元素的内容复制过来,不能将整个元素复制通过看AbstractElement.java的源码得到解决办法是:调用Element的clone()方法。root.add((Element) compan转载 2011-06-21 13:51:00 · 4762 阅读 · 1 评论 -
MyBatis 多对多 XML文件
user.xml "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> select id,username,password,email,dept,telphone from cmpp_user id = #{id} order by id desc delete from cmpp_user where id=原创 2011-06-28 15:38:00 · 4789 阅读 · 5 评论 -
mybatis传递多种参数
1.实体bean:ProductType 2.字段id,name ProductType.xml 中定义一个查询,如下: select * from ProductType where 1=1 and name like #{productType.name}转载 2011-06-28 16:36:00 · 4700 阅读 · 0 评论 -
java String的压缩和解压缩
数据传输时,有时需要将数据压缩和解压缩,本例使用GZIPOutputStream/GZIPInputStream实现。1、使用ISO-8859-1作为中介编码,可以保证准确还原数据2、字符编码确定时,可以在uncompress方法最后一句中显式指定编码import java.io转载 2011-07-07 11:26:26 · 8771 阅读 · 0 评论 -
Java byte[] long 转换
public static void long2Byte(byte[] bb, long x) { bb[ 0] = (byte) (x >> 56); bb[ 1] = (byte) (x >> 48); bb[ 2]原创 2011-08-02 17:10:56 · 11727 阅读 · 0 评论 -
java byte型数组和16进制字符串互相转化方法
public static String printHexString( byte[] b) { String result=""; for (int i = 0; i String hex = Integer.toHexString(b[i原创 2010-06-30 17:06:00 · 6167 阅读 · 0 评论 -
byte数组转float 以及byte转其他类型时为什么要&0xff
public static float getFloat(byte[] b) { int accum = 0; accum = accum|(b[0] & 0xff) << 0; accum = accum|(b[1] & 0x转载 2011-09-16 18:24:58 · 8329 阅读 · 1 评论 -
netty 过长内容分成了多次发送 问题 LengthFieldBasedFrameDecoder使用
这个问题比较常见,在高并发大数据传输时数据分包接收会乱在org.jboss.netty.handler.codec.frame包中,有LengthFieldBasedFrameDecoder类用来解析带有长度属性的包,只要我们在传输协议中加入包的总长度就行了(也许有更好的方法原创 2011-08-30 16:29:57 · 19945 阅读 · 5 评论 -
Berkeley DB 使用SecondKey给数据排序
项目中用到了nosql数据库BDB,借此机会研究了一下它的用法。它的官方示例和文档比较丰富,感觉比较容易学习在开发过程中出现了一个需求,要把数据根据插入时间遍历,个人认为通过第二主键(SecondKey)比较容易实现。以下是我的基本实现过程1.在ValueBean中加入insertTime属性public class ValueBean{ pr原创 2011-08-23 14:24:57 · 9138 阅读 · 0 评论 -
HashMap java.util.ConcurrentModificationException
这个问题经常出现在多线程处理HashMap时,原因是Iterator 是工作在一个独立的线程中,并且拥有一个 mutex 锁,如果在遍历map时 尝试直接修改 Collection / Map 的内容,就会抛出ConcurrentModificationException,最常见的就是添加key为null的key-value时,实际是进行的对原来key为null的位置做value修改。此时如果原创 2012-02-22 16:05:15 · 2032 阅读 · 0 评论 -
Ant 常见问题
ant 编译时报缺少符号:将缺少的包加入jre6\lib\ext目录下Ant 编译时 Unable to find a javac compiler: 将jdk的lib目录下的tools.jar放入jre6\lib目录下Ant通过scp上传war:需要导入ant-launcher.jar原创 2012-03-01 11:25:41 · 1120 阅读 · 0 评论 -
serlvet3.0 文件上传
private String fileUploader(HttpServletRequest req){ Part part=req.getPart("file");//type为file的表单 String tmpfp = req.getParameter("filepath");//本地保存路径 //判断是否为合法路径 if(!tmpfp.原创 2012-03-23 10:59:52 · 1075 阅读 · 0 评论 -
URLConnection POST GET提交保持Session
<br /> 当通过URLConnection第一次和服务器发起POST或是GET请求以后,通过getHeaderField方法获得SessionID,具体方法为:<br /> String session_value=getHeaderField("Set-Cookie");<br /> 第二次发起POST或是GET请求的时候需要把刚才获得的SessionID放置在请求的头部然后再提交,这样就能服务器就会认为是同一个Session请求了,具体方法为:<br /> setReques转载 2011-04-13 17:32:00 · 6399 阅读 · 0 评论 -
java HTTP get post请求,获取二进制文件实现
<br />public class HttpPlugin{<br /> private static Log log = LogFactory.getLog(HttpPlugin.class);<br /> @Override<br /> public void init() {<br /> <br /> }<br /> <br /> public void sendGet(String url , Parameter param) <br /> {<br /> StringBuffer p=new原创 2011-04-13 09:39:00 · 11684 阅读 · 0 评论 -
java 防止SQL注入
<br />SQL注入是最常见的攻击方式之一,它不是利用操作系统或其它系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法<br />用户钻了SQL的空子,下面我们先来看下什么是SQL注入:<br /> 比如在一个登陆界面,要求用户输入用户名和密码:<br /> 用户名: ' or 1=1 -- <br /> 密 码: <br /> 点登陆,如若没有做特殊处理,而只是一条带条件的查询语句如:<br转载 2011-04-11 16:39:00 · 872 阅读 · 0 评论 -
HSSF Excel 导出
public static void main(String[] args){ /** *//** * @see For">http://poi.apache.org/hssf/quick-guide.html#NewWorkbook">For more */ // 创建新的Excel 工作簿 HSSFWo转载 2010-05-11 17:03:00 · 1216 阅读 · 0 评论 -
excel java 实例
POIFSFileSystem fs=new POIFSFileSystem(new FileInputStream(cfname)); HSSFWorkbook wb = new HSSFWorkbook(fs); // wb.removeSheetAt(2); H转载 2010-05-12 13:38:00 · 1259 阅读 · 0 评论 -
POI HSSF 单元格和字体设置
添加区域,合并单元格 Region region = new Region((short)rowFrom,(short)columnFrom,(short)rowTo,(short)columnTo); sheet.addMergedRegion(region); //得到所有区域 sheet.getNumMergedRegions() render_cod转载 2010-05-12 09:34:00 · 11280 阅读 · 1 评论 -
java RMI 实例
<br />本实例为参考多篇文章写就而成,网上及书上各类文章介绍如何使用RMI有多种实例可参考,譬如有:<br /><br />1. 用命令rmiregistry启动RMI注册服务的<br />2. 同时创建存根(stub)和骨架(skeleton)的<br />3. 只创建存根类的的(jdk1.2以后版本)<br />4. 通过RemoteRef和rmi://协议字串方式的<br />5. 比较少讲到的用LocateRegistry直接在代码上启动RMI注册服务的。<br /><br />以上描述并非明显转载 2010-07-22 11:14:00 · 1127 阅读 · 0 评论 -
java 串口 读写
<br />import java.io.*;<br />import java.util.*;<br />import javax.comm.*;<br />public class SimpleRead implements Runnable, SerialPortEventListener {<br /> static CommPortIdentifier portId;<br /> //枚举类<br /> static Enumeration portList;<br /> In转载 2010-07-22 16:26:00 · 1546 阅读 · 0 评论 -
有关java中Pattern、Matcher的使用
<br />java.util.regex.Pattern<br />正则表达式的一种已编译的实现。<br />正则表达式通常以字符串的形式出现,它首先必须被编译为Pattern类的一个实例。<br />结果模型可以用来生成一个Matcher,它(生成的Macher实例)可以匹配根据<br />这个正则表达式生成的任意字符序列。在实现一个匹配器中的匹配时包括了<br />任意多的情况,并且多个匹配器可以共享同一个匹配模式。<br />下面是一个典型的调用次序:<br />Pattern p = Patter转载 2010-06-04 09:30:00 · 6257 阅读 · 0 评论 -
struts2 参数绑定和二次绑定
<br />无论是将Action中的变量渲染页面中,或者从request中将内容回传到Action中变量的过程,统称参数绑定。 <br /> 1. 最原始的Struts2会直接赋值Action中的变量。 如hello.action?id=1,会将action中的id属性赋值。<br /> 2. 如果参数较多,而且都属于同一个对象的,可以将所有属性都放入一个对象中,比如hello.action?user.id <br /> 会为action中的User对象的id属性赋值。<br /> 3.转载 2010-08-04 14:44:00 · 3368 阅读 · 1 评论 -
java.net.UnknownServiceException: no content-type 解决办法
Exception in thread "main" java.net.UnknownServiceException: no content-type<br /> at java.net.URLConnection.getContentHandler(URLConnection.java:1192)主要原因是服务器端没有返回content-type字段,而且SUN JDK作为客户端时没有进行if failed, then guess and try的操作有两种解决办法:1. 在服务器端Tomcat 6.0转载 2010-06-13 09:22:00 · 7824 阅读 · 0 评论 -
web项目中使用jni
<br />项目中用到了研华的IO卡,竟然没有java开发包,先鄙视一下,没办法,只能用jni调用dll了,第一次用到jni,遇到了一些问题,在这里描述一下:<br />1. java类的编译方法<br />web项目中的类肯定是分布在各个包中的,使用javah XXX,最终生成的XXX.dll在使用时会出现问题。<br />对于在包中的类,应该使用javah -jni -classspath 包名.类名(com.hhl.ccs.service.XXX),执行这个命令前要把当前路径cd到包的前一个文件夹。<原创 2010-08-12 16:58:00 · 2493 阅读 · 2 评论 -
Calendar类set和add方法
<br /> <br />import java.text.ParseException;<br />import java.text.SimpleDateFormat;<br />import java.util.Calendar;<br />import java.util.Date;<br />public class TestDateformate {<br /> public static void main(String[] args) throws ParseException {<br转载 2010-06-21 14:53:00 · 18127 阅读 · 0 评论 -
Log4j 为指定类记录日志
<br />#给指定类设定等级和目的地<br />log4j.logger.包名.类名=debug,A1<br /> <br />#每天建立一个日志文件,格式为‘文件名-yyyy-MM-dd.log’<br />log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender<br />log4j.appender.A2.file=c:/ccsLog<br />log4j.appender.A2.DatePattern='-'yyyy-MM-dd'.lo原创 2010-08-19 15:36:00 · 9229 阅读 · 2 评论 -
ApacheBench(ab)压力测试使用和结果说明
<br />服务器负载太大而影响程序效率也是很常见的,Apache服务器自带有一个叫AB(ApacheBench)的工具,在bin目录下。使用这个轻巧的工具我们可以对服务器进行负载测试,<br /><br />基本用法:<br /><br />ab -n 全部请求数 -c 并发数 测试url <br /><br /><br />例:ab -n 1000 -c 50 http://www.XXXXX.com/<br />得到结果类似于:<br /><br />Server Software: A转载 2010-12-27 15:22:00 · 4020 阅读 · 0 评论 -
JVM调优 -Xms -Xmx -Xmn -Xss
<br />堆大小设置 <br /><br />JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 <br /><br />典型设置: <br /><br />java -Xmx3550m -Xms3550m -Xmn2g -Xss128k转载 2011-05-10 11:13:00 · 980 阅读 · 0 评论 -
java Post 文件
/* * ==================================================================== * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional原创 2011-05-30 16:51:00 · 2484 阅读 · 0 评论 -
spring配置 no matching editors or conversion strategy found 异常解决方案
<br />spring 配置中遇到该问题,可以通过注入的方式解决,代码如下:<br /> <tx:annotation-driven transaction-manager="myTxManager" proxy-target-class="true"/><br />总结:Spring注入的是接口,关联的是实现类。 这里注入了实现类,所以报异常了。<br />另外一种方法:<br />由于默认是注入接口。所以<br />在Spring的配置文件中在<aop:config></aop:config>中加入“转载 2011-04-11 17:17:00 · 42451 阅读 · 3 评论 -
PHP 调用java
原文:http://php-java-bridge.sourceforge.net/pjb/webapp.php 如果需要使用自己编写的java类,只需把工程打成jar包,按照第二步加入到war包中即可。Create a simple Java web application.Download the zip file JavaBridgeTemplate.war转载 2012-07-30 17:57:19 · 1892 阅读 · 0 评论