
java相关
文章平均质量分 85
顽皮小熊
这个作者很懒,什么都没留下…
展开
-
剖析JSP和servlet的中文处理编译过程
汉字是双字节的。所谓双字节是指一个双字要占用两个BYTE的位置(即16位),分别称为高位和低位。中国规定的汉字编码为GB2312,这是强制性的,目前几乎所有的能处理中文的应用程序都支持GB2312。GB2312包括了一二级汉字和9区符号,高位从0xa1到0xfe,低位也是从0xa1到0xfe,其中,汉字的编码范围为0xb0a1到0xf7fe。 另外有一种编码,叫做GBK,但这是一份规范,不是强原创 2005-09-10 14:40:00 · 916 阅读 · 0 评论 -
Java中文问题及最优解决方法
4、中文问题的分类及其建议最优解决办法 了解以上JAVA处理文件的原理之后,我们就可以提出了一套建议最优的解决汉字问题的办法。 我们的目标是:我们在中文系统中编辑的含有中文字符串或进行中文处理的JAVA源程序经编译后可以移值到任何其它的操作系统中正确运行,或拿到其它操作系统中编译后能正确运行,能正确地传递中文和英文参数,能正确地和数据库交流中英文字符串。 我们的具体思路是:在J原创 2005-09-10 14:56:00 · 562 阅读 · 0 评论 -
Java字符集转换解释
Java系统内的字符以双字节存储,采用unicode(utf-16之一)编码。(估计jdk后续版本的java字符编码可能提升为4字节,这样可彻底解决东方国家字库问题。)Utf-8是一种标准存储编码格式,用utf-8编码后的字节流具有非常好的防(纠)错和兼容能力。用utf-8编码(encode)unicode码时不会有信息损失。当然用utf-8解码(decode)utf-8编码的字节流,生成unic原创 2005-09-10 14:58:00 · 1075 阅读 · 0 评论 -
怎样使用字符集和编码
当你在编写一个程序时,有时不得不把字符写进文件里去。如下面的: import java.io.*; public class Encode1 { public static void main(String args[]) throws IOException { Writer writer = new FileWr原创 2005-09-10 15:03:00 · 935 阅读 · 0 评论 -
网络数据流的java处理
1:庞大的java流处理首先,之所以说java流的庞大,是因为java中的流处理比其他语言的流处理在内容上多的多。java流在处理上分为字符流和字节流。字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组。Java内用Unicode编码存储字符,字符流处理类负责将外部的其他编码的字符流和java内Unicode字符流之间的转原创 2005-09-10 15:08:00 · 727 阅读 · 0 评论 -
Java Map 集合类简介
作者:Jack Shirazi 了解最常用的集合类型之一 Map 的基础知识以及如何针对您应用程序特有的数据优化 Map。本文相关下载:· Jack 的 HashMap 测试· Oracle JDeveloper 10g java.util 中的集合类包含 Java 中某些最常用的类。 最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是原创 2005-09-10 15:17:00 · 563 阅读 · 0 评论 -
一个简单的自定义ClassLoader的实现
很多时候人们会使用一些自定义的ClassLoader ,而不是使用系统的Class Loader。大多数时候人们这样做的原因是,他们在编译时无法预知运行时会需要那些Class。特别是在那些appserver中,比如tomcat,Avalon-phonix,Jboss中。或是程序提供一些plug-in的功能,用户可以在程序编译好之后再添加自己的功能,比如ant, jxta-shell等。定制一个Cl原创 2005-09-10 14:37:00 · 777 阅读 · 0 评论 -
使用Java 输出/输出流读写数据
Java 输入/输出(I/O)机制提供了一套简单的,标准化的API以便从不同的数据源读取和写入字符和字节数据。在“面向对象编程:Java collection更有效管理elements”一文中,我们讨论了Java 集合类架构中的类和功能并介绍了它的排序功能。在本文中,我们将学习Java 平台提供的这些I/O类,接口和操作。让我们先从了解Java 数据流开始。 数据流 Java所有的I/O机制都是基原创 2005-09-10 15:09:00 · 2195 阅读 · 0 评论 -
使用 XML: 与 Java NIO 的较量
我的上一篇文章介绍了 XI,它是本专栏的一个新的工具项目。我面临的挑战是这样的:我的公司使用 XML 和 XM(一种基于 XML 的发布解决方案)维护着一个工作组的网站。(XM 是“使用 XML”专栏的第一个项目。请参阅 参考资料。) 用于那个站点的其中一个文档是一张参与者列表。由于那方面的内容已不属于本专栏的范围,所以用电子邮件程序将该列表作为通讯录来维护。令我头疼的是,这个文件的格式不是 XM原创 2005-09-10 15:11:00 · 856 阅读 · 0 评论 -
深入探讨Iterator模式
java.util包中包含了一系列重要的集合类。本文将从分析源码入手,深入研究一个集合类的内部结构,以及遍历集合的迭代模式的源码实现内幕。 下面我们先简单讨论一个根接口Collection,然后分析一个抽象类AbstractList和它的对应Iterator接口,并仔细研究迭代子模式的实现原理。 本文讨论的源代码版本是JDK 1.4.2,因为JDK 1.5在java.util中使用了很多原创 2005-09-10 15:23:00 · 490 阅读 · 0 评论 -
繁简体(GBBig5)字符串转化的JAVA方式实现
转载请保留本文原始链接:http://www.zeali.net/blog/entry.php?id=19关键字: gb, big5, 编码转换, java, 源代码本文提供一个java实现中文字符繁简体互换的zip包以及主要的源代码实现说明。繁简体(GBBig5)中文字符的转化实现原理很简单,就是根据两种码表的编码规则,创建两者之间的字符对应关系表,通过程序读取这个映射表来自动查出另一种编码方式原创 2005-09-28 21:42:00 · 1620 阅读 · 0 评论 -
Java正则表达式详解
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。转载 2006-03-17 11:10:00 · 863 阅读 · 0 评论 -
了解JAVA classloader
什么是 ClassLoader? 在流行的商业化编程语言中,Java 语言由于在 Java 虚拟机 (JVM) 上运行而显得与众不同。这意味着已编译的程序是一种特殊的、独立于平台的格式,并非依赖于它们所运行的机器。在很大程度上,这种格式不同于传统的可执行程序格式。 与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类原创 2005-09-10 14:39:00 · 948 阅读 · 1 评论 -
动态编译Java程序
在Sun JDK 1.2及后续版本中,包含了一组可在程序运行时刻编译和执行Java代码的API。这些API被包含在tools.jar类库中。这个功能允许Java程序在运行时动态编译、执行小的代码块,在有些情况下这个功能会让Java应用程序的架构更加灵活、开放。 本文假定读者已经在计算机中安装并配置好了Sun JDK 1.2或更高的版本,并对javac编译器命令有所了解。 在Java程序中使用编原创 2005-09-12 11:30:00 · 921 阅读 · 1 评论 -
Log4j的使用
1、 Log4j是什么? 相信任何开发过大一点点系统的人都知道将程序开发或运行过程中的一些信息输出到屏幕或文件中是非常重要的,它可以帮助调试(有时候debug是发挥不了作 用的)和分析,Log4j正是提供这种功能的一个开源项目,要下载和了解更详细的内容,还是访问其官方网站吧:http://jakarta.apache.org/log4j。2、Log4j的概念 Log4j中有三个主要的组件,它原创 2005-09-10 14:41:00 · 461 阅读 · 0 评论 -
JAVA的中文问题
今天看 java.util.Properties 的Api Doc,发现Properties的load()方法规定读取的InputStream必须是ISO 8859-1字符集。而当打开NodePad,选择保存的时候,我也发现在2000以上的系统会出现“编码”选项,里面有“ANSI”,“Unicode”,“Unicode big endian”,“UTF-8”这几种编码。能否向我介绍一下这些字符集编原创 2005-09-10 15:00:00 · 574 阅读 · 0 评论 -
浅谈Java的输入输出流
Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流....本文的目的是为大家做一个简要的介绍。流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以原创 2005-09-10 15:08:00 · 512 阅读 · 0 评论 -
Java New I/O的使用
NIO的使用导读 J2SE1.4以上版本中发布了全新的I/O类库。本文将通过一些实例来简单介绍NIO库提供的一些新特性:非阻塞I/O,字符转换,缓冲以及通道。一. 介绍NIONIO包(java.nio.*)引入了四个关键的抽象数据类型,它们共同解决传统的I/O类中的一些问题。1. Buffer:它是包含数据且用于读写的线形表结构。其中还提供了一个特殊类用于内存映射文件的I/O操作。2. Char原创 2005-09-10 15:12:00 · 921 阅读 · 0 评论 -
性能观察: Trove 集合类
几年前,也就是 2001 年后期,我们收到了 Eric Friedman 的电子邮件。他说他已经决定构造一组开放源代码的集合类,用于取代 java.util 类。而且这些类执行速度更快、更轻巧、更灵活。是的,Eric 要创建 Six Million Dollar集合! 事实上,当时我们对是否能够直接取代 Java 平台的集合类并不特别感兴趣。Joshua Bloch 的工作做得很好,创建的通用集合原创 2005-09-10 15:15:00 · 1167 阅读 · 1 评论 -
用eclipse+xdoclet+axis开发WebService
在eclipse下开发基于axis的WebService其实很简单,但也有不少步骤,以下对每个步骤进行说明准备工作1) 下载JBossIDE,用JBossIDE配置和运行xdoclet将会非常方便2) 下载axis,不必多说,这是必不可少的 实现步骤1) 创建一个web项目(可以用手头的任务工具),将axis库文件导入到该项目中。2) 创建一个纯Java类,用于实现WebService功能3) 在原创 2005-09-14 00:02:00 · 1186 阅读 · 0 评论 -
session详解
一、术语session在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的。session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个 session。有时候我们可以看到这样的话“在一个浏览器会话期间,..原创 2005-09-10 14:34:00 · 667 阅读 · 0 评论 -
使用Digester解析XML文档示例
一. 概述 解析XML文档方面有不少的方法,也有不少的工具包可用,这里介绍的是来自Apache Jakarta的Digester,使用其解析XML文件非常方便而不需要过多的关心底层的具体解析过程。 Digester最早出现在Struts中,后来随着Struts的发展以及其的公用性而被提到commens中独自立项,其底层实现的是SAX解析。当前版本为:1.5 二. 正文 1. 安装与配置原创 2005-09-10 14:36:00 · 928 阅读 · 0 评论 -
Java类加载原理
第一部分. 提示我需要读这篇文章吗?Java类加载器对Java系统的运行是至关重要的,但是却常常被我们忽略。Java类加载器负载在运行时查找和加载类。自定义类加载器可以完全改变类的加载方式,以自己喜欢的方式来个性化你的Java虚拟机。本文简要的介绍Java类加载器,然后通过一个构造自定义类加载器的例子来说明,这个类加载器在加载类前会自动编译代码。你将学到类加载器到底是干什么的,如何创建你自己的类加原创 2005-09-10 14:38:00 · 777 阅读 · 0 评论 -
深入Java中文问题及最优解决方法--上
Abstract:本文深入分析了Java程序设计中Java编译器对java源文件和JVM对class类文件的编码/解码过程,通过此过程的解析透视出了Java编程中中文问题产生的根本原因,最后给出了建议的最优化的解决Java中文问题的方法。 1、中文问题的来源 计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理。随着计算原创 2005-09-10 14:56:00 · 566 阅读 · 0 评论 -
J2SE发展演变史
J2SE:怀胎Java的历史可以追溯到1991年4月,Sun公司的James Gosling领导的绿色计划(Green Project)开始着力发展一种分布式系统结构,使其能够在各种消费性电子产品上运行,他们使用了C/C++/Oak语言。由于多种原因,绿色计划逐渐陷于停滞状态。直至 1994年下半年,由于Internet的迅猛发展和环球信息网的快速增长,第一个全球信息网络浏览器Mosaic诞生了;原创 2005-09-10 15:27:00 · 547 阅读 · 0 评论 -
Java虚拟机类装载:原理、实现与应用
一、引言 Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。 二、Java虚拟机的类装载实现与应用 2.1 装载过程简介 所谓装载就是寻找一原创 2005-09-12 11:28:00 · 588 阅读 · 0 评论 -
Collection Map 深入剖析
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。 Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHash转载 2007-07-16 16:53:00 · 485 阅读 · 0 评论