`
benx
  • 浏览: 272782 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

BASE64 和Dom4j

    博客分类:
  • java
  项目当中用到MD5做消息摘要,后通过BASE64转成字符串后再通过XML传输; 因为BASE64 有换行符和终结符 默认是\r\n    但是Dom4j在解析Dom的时候可能会把\r去掉,剩下\n   所以导致在做消息摘要验证时原始消息摘要默认后面是加\r\n但是dom解析后成了\n导致不匹配,现在解决方案是在比较之前把md5后的字符包含\r\n的全部去掉。
测试情况是客户端100个线程同时同时请求10000次,服务器端jetty 服务器使用默认配置,java自带服务器 httpServer使用HttpServer.create(new InetSocketAddress(8080), 100)   测试结果是速度大致相当,但jetty当请求数量到了100000次后速度明显降低 而且导致Exception in thread "qtp4565111-38" java.lang.OutOfMemoryError: Java heap space异常,而java内置服务器则很稳定

Jetty HttpClent 异常

    博客分类:
  • java
  使用Jetty HttpClent做异步请求,结果发现这个东东真是不如Apache的HttpClient和java内部HttpURLConnection   首先是性能问题太差,用默认配置或手动的20个并发,25个线程的情况,性能都比HttpURLConnection差很多   当请求数量过大时,出现java.lang.OutOfMemoryError: unable to create new native thread   而且偶尔会出现url解析异常        看来用这个的前千万要慎重啊
package com.lottery.test; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.pers ...

Jetty内嵌Http服务器

    博客分类:
  • java
本例只是以HttpServlet方式实现,更多的方式可以通过http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty查看 注意里面的HttpClient为eclipse的HttpClient,非apache的HttpClient import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; ...

java concurrent包理解

    博客分类:
  • java
Java并发处理 <!--[if !supportLists]-->1、  <!--[endif]-->简介 了解java并发之前先了解java内存模型,java内存有主内存和工作内存,比有个对象Person,有实例变量name,那么Person的实例中name属性就是在主内存中,如果多个线程同时操作Person,那么每个线程会有Person属性name的副本放在每个线程的工作内存中,每个工作内存修改后会同步到主内存中,但是这里就有问题:一致性问题和可见性问题,导致数据丢失或脏数据。 为了解决这个问题,引入了同步机制synchronized,是多个线程同时只有 ...

JAXB2

    博客分类:
  • java
package com.benx.test; import java.io.ByteArrayInputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; ...
  万恶的javaeye,编辑器能不能优化下,每次修改样式都变形了。   FileInputStream 属于数据源 BufferedInputStream 属于FileInputStream的一个装饰     BufferedInputStream 有个内部缓冲区当read时会先把缓冲区填满,然后下次读取是直接从缓冲区读取。当读取的位置大于缓冲区时会再一次加载缓冲区。   read()和read(byte[] buf, int off, int len)处理方式一样,区别在于后者一次返回多个数据,但是同样都是先放入缓冲区,然后再读取。 private void
  下面的代码是SpringSide的Hibernate简单封装,使用这个封装Dao层基本只需要声明,而不需要写任何代码(当然如果有复杂的SQl还是需要手写方法),对于查询的逻辑都可以放置Service.   package org.springside.modules.orm.hibernate; import java.io.Serializable; import java.util.Collection; import java.util.List; import java.util.Map; import org.hibernate.Criteria; ...
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; public class Server { ServerSocket se ...
#根配置,输出Debug级别以上,包含appender为stdout和logfile log4j.rootLogger=DEBUG, stdout, logfile   #配置目录com.MC只打印ERROR级别以上信息 log4j.category.com.MC=ERROR   #控制台输出 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layo ...
        import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.Set; public class Test { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { Stri ...

设置java内存

    博客分类:
  • java
-Xms256M -Xmx1024M -XX:MaxPermSize=128M -XX:+HeapDumpOnOutOfMemoryError
  本文将使用keytool和openssl工具来自己生成证书,包含CA,私钥,jks证书管理,配置tomcat的双向认证   1、安装openssl # tar –zxvf openssl # cd openssl # ./config --prefix=/usr/local/openssl # make # make install   2、生成CA证书和私钥
本文转自(http://wgchwgch.iteye.com/blog/243382)   cer后缀的证书文件有两种编码-->DER二进制编码或者BASE64编码(也就是.pem) p7b一般是证书链,里面包括1到多个证书 pfx是指以pkcs#12格式存储的证书和相应私钥。 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: .cer, .crt PEM-encoded message: .pem PKCS#12 Personal Information Exchange: .pfx, .p12 
Global site tag (gtag.js) - Google Analytics