Java
文章平均质量分 80
老崔
我觉得自己很笨,一直怀疑自己适不适合在软件开发这一领域,但是我一直在坚持,坚持... ...我要告诫自己,笨鸟先飞!
展开
-
Java中四种操作XML方式的比较
1. 介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优转载 2008-04-16 13:36:00 · 316 阅读 · 0 评论 -
java中文件操作大全
一.获得控制台用户输入的信息/** *//**获得控制台用户输入的信息 * @return * @throws IOException */ public String getInputMessage() throws IOException...{ System.out.println("请输入您的命令∶"); byte buff转载 2008-04-17 10:09:00 · 258 阅读 · 0 评论 -
Class.forname() 和 ClassLoader.loadClass()的区别
Class.forName() 和 ClassLoader.loadClass()的区别?Class.forName() 和 Class.forName().NewInstance()的区别?Class.forName("xx.xx")等同于Class.forName("xx.xx",true,CALLClass.class.getClassLoader()),第二个参数(bool)表示原创 2008-04-17 11:21:00 · 447 阅读 · 0 评论 -
多线程;Java 修饰符:transient和volatile;序列化
Java定义了两类有趣的修饰符:transient和volatile。 1、 transient此为java保留字,告诉JVM以transient宣告的基本型态(primitive type)或物件(object)变量不要序列化,例如敏感性的数据像密码等。 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如: Class T {转载 2008-04-17 11:36:00 · 1993 阅读 · 5 评论 -
Java 中对象的集合类介绍
Java中常见的集合对象:数组、List、Set、Map。1、数组数组与其它容器的区别体现在三个方面:效率、类型识别以及可以持有Primitives。Arrays类(java.util.Arrays)——辅助类包含了一组可用于数组的Static方法。equals():比较两个数组是否相等。fill():填充数组sort():排序binarySearch():用于在转载 2008-04-16 14:25:00 · 417 阅读 · 0 评论 -
JAVA读取WORD,EXCEL,POWERPOINT,PDF文件的方法
读取word文件有两种方法,用jacob包,可以修改生成word文件内容http://danadler.com/jacob/。如果只读取word里的文本内容的话,可以用poi读取word文件,先到http://www.ibiblio.org/maven2/org/textmining/tm-extractors/下载tm-extractors-0.4.jar包1。用jacob.其实jacob是转载 2008-04-16 14:42:00 · 654 阅读 · 0 评论 -
调整 I/O 性能
这篇文章讨论和阐明了提供 JavaTM I/O 性能的多种技术。大多技术围绕调整磁盘文件 I/O,但是有些内容也同样适合网络 I/O 和窗口输出。第一部分技术讨论底层的I/O问题,然后讨论诸如压缩,格式化和串行化等高级I/O问题。然而这个讨论没有包含应用设计问题,例如搜索算法和数据结构,也没有讨论系统级的问题,例如文件高速缓冲。 当我们讨论Java I/O时,值得注意的是Java语言采取两种截然不转载 2008-04-20 20:40:00 · 590 阅读 · 0 评论 -
JAVA上加密算法的实现用例
通常,使用的加密算法 比较简便高效,密钥简短,加解密速度快,破译极其困难。本文介绍了 MD5/SHA1,DSA,DESede/DES,Diffie-Hellman的使用。第1章基础知识 1.1. 单钥密码体制单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密。通常,使用的加密算法比较简便高效,密钥简短,加解密速度快,破译极其困难。但是加密的安转载 2008-04-20 08:22:00 · 312 阅读 · 0 评论 -
提高Java水平的十大技术
本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。 一、XML 在十种技术中,最重要的一种技术我想应该非XML莫属。这里不仅仅指XML规范本身,还包括一系列有关的基于XML的语言:主要有XHTML,XSLT,XSL,DTDs,XML Schema转载 2008-04-23 11:56:00 · 251 阅读 · 0 评论 -
Groovy和Grails简介
Java Web应用程序框架是企业Java得以成功的重要原因之一。人们怀疑如果没有Apache Struts框架Java EE是否能够如此成功。虽然底层编程语言很重要,但通常是框架使编程语言成为引人注目的中心的。如果您经常访问讨论论坛,就会注意到Ruby语言和Ruby On Rails框架之间也是这种情况。Ruby已经出现十多年了,然而只是在Ruby On Rails框架流行之后,开发人员才开始注转载 2008-04-24 14:29:00 · 304 阅读 · 0 评论 -
Seasar框架
SEASAR,一种流行的JSP软件开发框架,目前流行Seasar2其实就是一个非常类似于Spring Framework的开源框架。Seasar framework开发模式起源于日本,并且在日本非常流行。Seasar framework最初公布于众是03年8月,那时是作为一个应用服务器,依托于Web 容器Jetty和数据库HSQLDB。后来,于04年3月,经过改造,成为一个轻量级DI(Depend转载 2008-04-24 17:03:00 · 506 阅读 · 0 评论 -
java线程:如何利用wait() notify() notifyAll()?
在synchronized代码被执行期间,线程可以调用对象的wait()方法,释放对象锁标志,进入等待状态,并且可以调用notify()或者notifyAll()方法通知正在等待的其他线程。notify()通知等待队列中的第一个线程,notifyAll()通知的是等待队列中的所有线程。 本例子实现了两个线程,每个线程输出1到100的数字。第一个线程输出1-10,停止,通知第二个线程 输出1转载 2008-04-24 17:08:00 · 383 阅读 · 0 评论 -
实现业务系统中的用户权限管理--设计篇
B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能转载 2008-04-30 17:25:00 · 388 阅读 · 0 评论 -
实现业务系统中的用户权限管理--实现篇
在设计篇中,我们已经为大家阐述了有关权限管理系统的数据库设计,在本篇中,我们将重点放在其实现代码部分。为了让你能够更直接更有效的看到全部动作的代码,我们使用“动作分解列表”的方式来陈述每个动作以及相关资源。实现权限管理功能的动作 动作分解 动作名 相关表名转载 2008-04-30 17:26:00 · 384 阅读 · 0 评论 -
关于JAVA中的Native关键字的使用
JNI是Java Native Interface的缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。 使用java与本地已编译的代码交互,通常会丧失平台可移转载 2008-04-24 17:22:00 · 297 阅读 · 0 评论 -
Java编码格式大全
关键词:linux java mutlibyte encoding locale i18n i10n chinese ISO-8859-1 GB2312 BIG5 GBK UNICODE内容摘要: 不知道你有没有这样的感受:为什么PHP很少有乱码问题而用Java做WEB应用却这么麻烦呢?为什么在Google上能用简体中文查到繁体中文,甚至日文的结果?而且用Google的时候发转载 2008-04-24 15:01:00 · 1831 阅读 · 0 评论 -
正确认识Java中的原始类型和引用类型
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。另外,Java 还为每个原始类型提供了封装类(Wrapper)。如果需要一个整型变量,是使用基本的 int 型呢,还是使用 Integer 类的一个对象呢?如果需要声明一个布尔类型,是使用基本的 boolean,还是使用 Boolean 类的一个对象呢?本文可帮助您作出决定。下表列出了原始类型以及它们的对象封装类。原始转载 2008-04-24 15:29:00 · 275 阅读 · 0 评论 -
WEB开发中的JAVA字符编码经验总结
在JAVA应用程序特别是基于WEB的程序中,经常遇到字符的编码问题。为了防止出现乱码,首先需要了解JAVA是如何处理字符的,这样就可以有目的地在输入/输出环节中增加必要的转码。其次,由于各种服务器有不同的处理方式,还需要多做试验,确保使用中不出现乱码。 下面先来看一些基本概念:1 JAVA中字符的表达 JAVA中有char、byte、String这几个概念。char 指的是一个UNICOD转载 2008-04-24 17:12:00 · 274 阅读 · 0 评论 -
单点登录设计原理
本文以某新闻单位多媒体数据库系统为例,提出建立企业用户认证中心,实现基于安全策略的统一用户管理、认证和单点登录,解决用户在同时使用多个应用系统时所遇到的重复登录问题。 随着信息技术和网络技术的迅猛发展,企业内部的应用系统越来越多。比如在媒体行业,常见的应用系统就有采编系统、排版系统、印刷系统、广告管理系统、财务系统、办公自动化系统、决策支持系统、客户关系管理系统和网站发布系统等。由于这些系统互转载 2008-05-04 13:12:00 · 1078 阅读 · 0 评论 -
单点登录的简单实现
在门户项目中,经常会遇到如何实现单点登录的问题,下面就本人的经验做个总结。欢迎大家进行补充讨论。单点登录的具体实现有很多种选择,包括: 采用专门的SSO商业软件: 主要有:Netgrity的Siteminder,已经被CA收购。Novell 公司的iChain。RSA公司的ClearTrust等。 采用门户产品供应商自己的SSO产品,如:BEA的WLES,IBM 的T转载 2008-05-04 13:13:00 · 2213 阅读 · 0 评论 -
通用权限管理设计篇(一)
一.引言 因为做过的一些系统的权限管理的功能虽然在逐步完善,但总有些不尽人意的地方,总想抽个时间来更好的思考一下权限系统的设计。 权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统的权限进行设计,以满足不同系统用户的需求,将会浪费我们不少宝贵时间,所以花时间来设计一个相对通用的权限系统是很有意义的。二.设计目标 设计一个转载 2008-05-04 14:49:00 · 589 阅读 · 0 评论 -
基于角色-功能-资源的权限控制模型的设计与实现-引子
摘要 本文在RBAC基本思想的基础上,增加资源权限的概念,设计了在企业应用系统中用户权限控制的一种具体的简单实现方法。关键字 用户权限控制名词解释资源权限:资源指的是纳入企业应用的一切需要管理的信息实体,如进销存系统中的进货订单;资源权限则是系统将要在这些资源的基础上进行的访问使用权限的控制;引言企业应用系统对安全问题有较高的要求,传统的访问控制方法DAC(Discre转载 2008-05-04 11:48:00 · 738 阅读 · 0 评论 -
通用权限管理设计篇(二)——数据库设计
理清了对象关系之后,让我们接着来进行数据库的设计。在数据库建模时,对于N对N的 关系,一般需要加入一个关联表来表示关联的两者的关系。初步估计一下,本系统至少需要十张表,分别为:权限表、用户表、角色表、组表、用户权限关联表、用 户角色关联表、角色权限关联表、组权限关联表、组角色关联表、用户属组关联表。当然还可能引出一些相关的表。下面让我们在PowerDesigner中画出各表吧。 各转载 2008-05-04 14:53:00 · 600 阅读 · 0 评论 -
通用权限管理系统设计篇(三)——概要设计说明书
在前两篇文章中,不少朋友对我的设计提出了异议,认为过于复杂,当然在实际的各种系统的权限管理模块中,并不像这里设计得那么复杂,我以前所做的系统中, 由只有用户和权限的,有只有用户、权限和角色的,还有一个系统用到了用户、权限、角色、组概念,这个系统是我在思考以前所做系统的权限管理部分中找到的一 些共性而想到的一个设计方案,当然还会有不少设计不到位的地方,在设计开发过程中会慢慢改进,这个系统权当学习只用转载 2008-05-04 14:54:00 · 753 阅读 · 0 评论 -
通用数据权限管理系统设计
前言: 本文提供一种集成功能权限和数据权限的解决方法,以满足多层次组织中权限管理方面的集中控制。本方法是RBAC(基于角色的访问控制方法)的进一步扩展和延伸,即在功能权限的基础上增加数据权限的管理,实现数据权限和功能权限的集中处理。 解释: 功能权限:能做什么的问题,如增加销售订单; 数据权限:能在哪里干什么的问题,如察看北京分公司海淀销售部张三的销售订单; 术语:转载 2008-05-04 16:31:00 · 548 阅读 · 0 评论 -
用户、用户组、角色的区别和联系
1、用户User:最终操作人员,权限的最终受益者,控制权限控制权限实际上就是控制用户的权限,而不是角色或者用户组的权限2、用户组UserGroup:是相对垂直而言的。比如说采购部这个用户组实际上是由采购部的业务员(暂且定义都为用户)组成的,具有上下级的明确关系;采购部只能查看属于采购部的文档,销售部只能查看属于销售部的文档,带有强烈的部门(组)性质,但是采购部业务员虽然都是属于同一个部门,但是却不转载 2008-05-04 17:15:00 · 1172 阅读 · 2 评论 -
数据权限设计思考
目前有关用户权限采用的比较多的都是基于RBAC模型,即通过对角色权限的定义完成对用户权限的限制。有关功能权限部分想必都比较清楚,就是将系统的功能模块划分清楚,并赋予不同角色的访问权限,这样在用户访问某个功能模块之前进行权限校验即可。但是有关数据权限部分却一直比较模糊。 在如下这篇文章中给出一个权限模型,里面提到了数据权限的建模。 http://blog.csdn.net/fly_cloud/转载 2008-05-04 18:00:00 · 1503 阅读 · 1 评论 -
Ant简介
Ant是Apache提供给Java开发人员的构建工具,它可以在Windows OS和Unix OS下运行,它不仅开放源码并且还是一个非常好用的工具。我强烈建议在进行JavaBean、EJB等开发时安装,不建议安装make、makefile等建立在shell思想上的构建工具。 下载Ant 官方网址: http://jakarta.apache.org/ant/ 下载URL: http://jakar转载 2008-05-05 13:12:00 · 377 阅读 · 0 评论 -
ThreadLocal的几种误区
ThreadLocal 早在Java 1.2推出之时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然ThreadLocal非常有用,但是似乎现在了解它、使用它的朋友还不多。 ThreadLocal类为于java.lang包中,它是java中一转载 2008-05-05 14:25:00 · 719 阅读 · 0 评论 -
利用Spring和EHCache缓存结果
从 Spring 1.1.1 开始,EHCache 就作为一种通用缓存解决方案集成进 Spring。 我将示范拦截器的例子,它能把方法返回的结果缓存起来。 利用 Spring IoC 配置 EHCache 在 Spring 里配置 EHCache 很简单。你只需一个 ehcache.xml 文件,该文件用于配置 EHCache: 拦截器将使用 ”org.转载 2008-05-07 15:21:00 · 928 阅读 · 0 评论 -
java过滤html标签
public String html2Text(String inputString) { String htmlStr = inputString; //含html标签的字符串 String textStr =""; java.util.regex.Pattern p_script; java.util.regex.Mat转载 2008-07-14 17:01:00 · 603 阅读 · 0 评论 -
hibernate中jcs详解
JCS是一个对象Cache,它可以把Java对象缓存起来,提高那些访问频率很高的Java对象的存取效率。 如果要对一个持久对象做缓冲,就是在hbm的class标签前面加一行: jcs-cache usage="read-only"/> jcs-cache usage="read-write"/> 这是一个只读缓冲,只对Read操作做缓冲,也可以用read-write,对update也进行缓冲,不过转载 2008-05-07 14:41:00 · 563 阅读 · 0 评论 -
Hibernate+ehcache二级缓存技术
1、首先设置EhCache,建立配置文件ehcache.xml,默认的位置在class-path,可以放到你的src目录下:<?xml version="1.0" encoding="UTF-8"?><ehcache> <diskStore path="java.io.tmpdir"/> <defaultCache maxElementsInMemory="10000" <!-- 缓存最大转载 2008-05-07 15:25:00 · 337 阅读 · 0 评论 -
JSON简介
摘要 XML——这种用于表示客户端与服务器间数据交换有效负载的格式,几乎已经成了Web services的同义词。然而,由于Ajax和REST技术的出现影响了应用程序架构,这迫使人们开始寻求`XML的替代品,如:JavaScript Object Notation(JSON)。 JSON 作为一种更轻、更友好的 Web services客户端的格式(多采用浏览器的形式或访问 REST风转载 2008-05-07 17:51:00 · 279 阅读 · 0 评论 -
JCS(Java Cache System)的学习使用
在做负载调度系统时要求有缓存功能,这样用户提交同样的query时不用node再次计算。其实cache的重头戏是cache的替换算法,它的好坏就决定了自己尝试写了一个cache一、下载:1、从http://svn.apache.org/viewvc/jakarta/jcs/trunk/tempbuild/上下载最新的jcs包(例如jcs-1.2.7.9.2.jar)。2、从h转载 2008-05-07 15:02:00 · 2762 阅读 · 0 评论 -
使用spring和hibernate配置ehcache和query cache
环境:spring1.2.5+hibernate3.0.51、 applicationContext.xml org.hibernate.cache.EhCacheProvider true转载 2008-05-07 15:29:00 · 369 阅读 · 0 评论 -
JCS 资料
JCS 资料关键字: JCS 1、关于JCSJCS是Jakarta的项目Turbine的子项目。它是一个复合式的缓冲工具。可以将对象缓冲到内存、硬盘。具有缓冲对象时间过期设定。还可以通过JCS构建具有缓冲的分布式构架,以实现高性能的应用。 对于一些需要频繁访问而每访问一次都非常消耗资源的对象,可以临时存放在缓冲区中,这样可以提高服务的性能。而JCS正是一个很好的缓冲工具。缓冲工具对于读转载 2008-05-07 15:05:00 · 839 阅读 · 0 评论 -
java中的io系统总结
java中的io中的(input/output)stream无非就是包括基于字符的stream、基于字节的stream和把字节导向的stream转换 字符为导向的stream的stream。(很难理解么?) 以字节为导向的stream------InputStream/OutputStream InputStream 和 OutputStream是两个abstact类,对于字节为导向的strea转载 2008-07-24 14:16:00 · 269 阅读 · 0 评论 -
Java中的事务管理
一、JTA和两阶段提交 1. Transaction 分两种,Local Transaction 和 Global Transaction。 涉及到一个Connection的Commit,称为Local Transaction。 涉及到多个Connection的Commit,称为Global Transaction。 楼主提到的是,Global Transaction. 2. Globa转载 2008-07-24 14:42:00 · 1048 阅读 · 0 评论 -
五种提高 SQL 性能的方法
有时, 为了让应用程序运行得更快,所做的全部工作就是在这里或那里做一些很小调整。啊,但关键在于确定如何进行调整!迟早您会遇到这种情况:应用程序中的 SQL 查询不能按照您想要的方式进行响应。它要么不返回数据,要么耗费的时间长得出奇。如果它降低了报告或您的企业应用程序的速度,用户必须等待的时间过长,他们就会很不满意。就像您的父母不想听您解释为什么在深更半夜才回来一样,用户也不会听你解释为什么查询耗转载 2008-07-24 14:17:00 · 298 阅读 · 0 评论