注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
防止SYN泛洪攻击 开启路由器的TC
DNS (domain Name System) 系统的
WebAdmin运行在IIS6下的设定方法
用rsync对邮件服务器进行远程备份
在FreeBSD环境下使用Sybase 11.0
UNIX Sybase安装说明
Sybase系统维护经验谈
AIX下sybase的安装
SYBASE参数设置
SYBASE数据库用户管理基本概念
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> Java >> 文章正文
Sybase JDBC驱动的改进 2
作者:佚名  来源:不详  点击:  更新:2006-12-19
简介:

Sun J2SE(1.4)的实现对于字符集转换非常缓慢,我用Jfluid做Profile发现一个简单的数据库程序花费在字符集转换上的时间竟然占用了60%以上,因此有必要对转换结果缓存:

 

package com.sybase.jdbc2.jdbc;

 

import java.io.UnsupportedEncodingException;

import java.util.*;

 

public class CachedCharset {

   

    public String convertTo(String src) {

        try {

            String dest = (String)cacheConvertTo.get(src);

            if (dest == null) {

                byte[] bytes = src.getBytes(destCharset);

                dest = new String(bytes, RAW);

                if (cacheConvertTo.size() > EXPIRE_EVERY)

                    cacheConvertTo.clear();

                cacheConvertTo.put(src, dest);

            }

            return dest;

        } catch (UnsupportedEncodingException e) {

            throw new RuntimeException(e.getMessage(), e);

        }

    }

 

    public String castFrom(String dest) {

        try {

            String src = (String)cacheCastFrom.get(dest);

            if (src == null) {

                byte[] bytes = dest.getBytes(RAW);

                src = new String(bytes, destCharset);

                if (cacheCastFrom.size() > EXPIRE_EVERY)

                    cacheCastFrom.clear();

                cacheCastFrom.put(dest, src);

            }

            return src;

        } catch (UnsupportedEncodingException e) {

            throw new RuntimeException(e.getMessage(), e);

        }

    }

   

    public static String convertTo(String src, String charset) {

        if (charset == null) return src;

        if (src == null) return null;

        CachedCharset cc = (CachedCharset)poolCC.get(charset);

        if (cc == null) {

            cc = new CachedCharset(charset);

            poolCC.put(charset, cc); 

        }

        return cc.convertTo(src);

[1] [2] 下一页






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务