
java
文章平均质量分 76
lxj8495138lxj
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
类加载机制转载
Java中一共有四个类加载器,之所以叫类加载器,是程序要用到某个类的时候,要用类加载器载入内存。 这四个类加载器分别为:Bootstrap ClassLoader、Extension ClassLoader、AppClassLoader和URLClassLoader,他们的作用其实从名字就可以大概推测出来了。其中AppClassLoader在很多地方被叫做System ClassLoader...原创 2009-06-23 09:58:05 · 205 阅读 · 0 评论 -
OSGI环境下配置log4j日志
log4j相信大家都用过的,现在公司有很多项目的研究都是基于OSGI的,所以我们的日志处理必须换到OSGI环境下去做了。于是相应的 问题也随之而来。其中最主要的问题就是一个classloader的问题。知道OSGI架构原理的都知道OSGI里面的各个Bundle是有独立的 ClassLoader来进行加载的。所以当我们把log4j的配置文件直接放在某个Bundle的classpath下面时是不能被整...原创 2009-05-07 14:07:58 · 188 阅读 · 0 评论 -
Java虚拟机类装载:原理、实现与应用
Java虚拟机类装载:原理、实现与应用 By jorren 发表于 2005-12-21 15:13:00一、引言 Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载...原创 2009-05-07 09:50:27 · 134 阅读 · 0 评论 -
Java程序类加载完全揭密
Java程序类加载完全揭密 类加载是java语言提供的最强大的机制之一。尽管类加载并不是讨论的热点话题,但所有的编程人员都应该了解其工作机制,明白如何做才能让其满足我们的需要。这能有效节省我们的编码时间,从不断调试ClassNotFoundException, ClassCastException的工作中解脱出来。 这篇文章从基础讲起,比如代码与数据的不同之处是什么,他们是如...原创 2009-05-07 09:49:44 · 113 阅读 · 0 评论 -
Java的类装载器(Class Loader)和命名空间(NameSpace)
Java的类装载器(Class Loader)和命名空间(NameSpace) 摘要Java的类装载器是Java动态性的核心,本文将向大家简要介绍Java的类装载器,及相关的parent delegation模型,命名空间,运行时包等概念,同时讨论一些在学习中容易混淆的问题。 类装载器的功能及分类顾名思义,类装载器是用来把类(class)装载进JVM的。JVM规范定义了两种...原创 2009-05-07 09:48:59 · 124 阅读 · 0 评论 -
Java类装载体系中的隔离性
Java类装载体系中的隔离性 正文Java中类的查找与装载出现的问题总是会时不时出现在Java程序员面前,这并不是什么丢脸的事情,相信没有一个Java程序员没遇到过ClassNotException,因此不要为被人瞅见自己也犯这样的错误而觉得不自然,但是在如果出现了ClassNotFoundException后异常后一脸的茫然,那我想你该了解一下java的类装载的体制了,同时为了进...2009-05-07 09:28:25 · 159 阅读 · 0 评论 -
了解 JAVA classloader
什么是 ClassLoader? 在流行的商业化编程语言中,Java 语言由于在 Java 虚拟机 (JVM) 上运行而显得与众不同。这意味着已编译的程序是一种特殊的、独立于平台的格式,并非依赖于它们所运行的机器。在很大程度上,这种格式不同于传统的可执行程序格式。 与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一...原创 2009-05-07 09:21:12 · 132 阅读 · 0 评论 -
如何实现自己的classloader
如何实现自己的classloader如何实现自己的classloader来加载类 刚开始学习加载的时候,接触到的是HeloWorld程序,当时不知道为什么在public static void main(String [] args) 方法里写了System.out.println("Hello World!") 就可以在控制台打出“Hello World!”来,确实的说,是什么东西...2009-05-07 09:12:51 · 148 阅读 · 0 评论 -
ClassLoader原理
JVM规范定义了两种类型的类装载器:启动内装载器(bootstrap)和用户自定义装载器(user-defined class loader)。 一. ClassLoader基本概念1.ClassLoader分类类装载器是用来把类(class)装载进JVM的。JVM规范定义了两种类型的类装载器:启动内装载器(bootstrap)和用户自定义装载器(user-defined class loa...原创 2009-05-07 09:06:35 · 107 阅读 · 0 评论 -
java反射与代理
一. 关于数据库.当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果...原创 2008-11-07 10:56:03 · 103 阅读 · 0 评论 -
hashcode()与equals()
java.lnag.Object中对hashCode的约定:在一个应用程序执行期间,如果一个对象的equals方法做比较所用到的信息没有被修改的话,则对该对象调用hashCode方法多次,它必须始终如一地返回同一个整数。如果两个对象根据equals(Object o)方法是相等的,则调用这两个对象中任一对象的hashCode方法必须产生相同的整数结果。如果两个对象根据equals(Obje...2008-12-03 17:57:17 · 123 阅读 · 0 评论 -
compare接口
http://bluelzx.iteye.com/blog/2009871. 两种比较接口分析 在 “ 集合框架 ” 中有两种比较接口: Comparable 接口和 Comparator 接口。 Comparable 是通用的接口,用户可以实现它来完成自己特定的比较,而 Comparator 可以看成一种算法的实现,在需要容器集合实现比较功能的时候,来指定这个比较器,这可以看成一种设计模式,将...原创 2008-12-03 18:02:16 · 360 阅读 · 0 评论 -
java.util.UUID
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。 UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的IDimport java.util.UUID;public class Tes...2008-12-19 18:01:04 · 182 阅读 · 0 评论 -
java应用程序中动态生成PDF文件
很多应用程序要求动态生成 PDF 文档。这类应用程序包括银行生成用于电子邮件投递的客户报表,到读者购买特定图书章节并以 PDF 格式接收这些文档。例子罗列下去是很多的。在本文中,将使用 iText Java 库生成 PDF 文档,并引导您完成一个示例应用程序,以使您能够更好地理解和使用 iText。熟悉 iTextiText 是 Lowagie.com 站点(请参阅 参考资料)免费提供的 Ja...原创 2008-12-11 17:05:39 · 165 阅读 · 0 评论 -
JAVA和JAVAC 命令行
javac和java命令行中的-classpath选项这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点。javac-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有在CLASSPATH里面的设定。-sourcepath, 设定要搜索编译所需java 文件的路径,可以是目录,jar...原创 2008-12-11 17:03:05 · 110 阅读 · 0 评论 -
创建java的可执行文件
Jar工具的作用是java程序中若干文件联合压缩到一个Jar包里面。使用jar工具的时候用到的三类文件:Manifest 文件(可选择的)Jar文件的描述(生成的jar包名字)需要打包的文件首先编译源 程序,譬如javac MyFrame.jar。(放在在D:\A目录下)用记事本或者word文档创建manifest文件,后缀名是mf。(文件名和后缀名是 没有强制规定的,只要后面写命令的...原创 2008-12-11 16:59:38 · 116 阅读 · 0 评论 -
深入对象复制与比较
1.对象的复制2.clone()的使用3.对象实例的比较///////////////////////////////////////////1.对象的复制 String str1 = "This is a string!" //这里是 "对象引用" 的复制 String str2 = new String(str1); //这里是 "对象实例" 的复制 浅复制: 只复...2008-12-04 10:09:01 · 101 阅读 · 0 评论 -
解析Java对象的equals()和hashCode()的使用
在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况 下,这两个函数是不用考虑的,直接使用它们的默认设计就可以了。但是在一些情况下,这两个函数最好是自己设计,才能确保整个程序的正常运行。最常见的是当 一个对象被加入收集对象(collection object)时,这两个函数必须自己设计。更细化的定义是:如果你想将一...2008-12-04 10:07:49 · 88 阅读 · 0 评论 -
Java基础:深入 JAVA对象的复制与比较
1.对象的复制2.clone()的使用3.对象实例的比较///////////////////////////////////////////1.对象的复制 String str1 = "This is a string!" //这里是 "对象引用" 的复制String str2 = new String(str1); //这里是 "对象实例" 的复制浅复制: 只复制复合对象本身.深复...2008-12-04 10:06:57 · 116 阅读 · 0 评论 -
JAVA对象比较器Comparator
排序的算法是我们最常用的算法,初学程序,每个人都尝试过排序。但只是局限于简单的排序。如将下列数字进行排序1,3,5,8,3,6于是我们得出结果1,3,3,5,6,8将下列字母(字符)进行排序a,i,e,f,w,s于是我们得出结果a,e,f,i,s,w但是我们遇到的情况就不是如此简单了。如给公司里的商品进行排序,我们很轻易的想到按照商品的名称排序不就完了,而且简单明了。但现实并如我们相信般简单。同一...2008-12-04 10:05:59 · 101 阅读 · 0 评论 -
对象比较
package com.zj.sort.comparable;public class Person implements Comparable<person> { private int age; private String name; public Person(int age,String name){ this.age=age; this.name=name...2008-12-04 09:57:50 · 83 阅读 · 0 评论 -
java.net.URLDecorder与java.net.URLEncoder
package lee;import java.net.URLDecoder;import java.net.URLEncoder;public class TestURLEncoder { public static void main(String args[])throws Exception{ String encodeStr="%BF%CE%B3%CC%BD%E9%C9%DC"; S...2008-10-27 16:48:45 · 165 阅读 · 0 评论 -
标准输入与输出
[color=blue][size=x-large]1、从键盘上读入一个字符 try{ char ch=(char)System.in.read(); }catch(IOException e){ ..... } 屏幕会自动阻塞和挂起。等待用户与之交互2。[/size][/color][size=x-large][color=dar...2008-04-08 23:29:35 · 128 阅读 · 0 评论 -
JSP 中的自省机制 (Introspection)
所谓自省机制是指:当服务器接收到请求时,它根据请求的参数名称,自动设定与 JavaBean相同的属性名称的值. eg.等情况和问题..2008-10-17 10:06:54 · 267 阅读 · 0 评论 -
java范型编程
1、Java泛型 其实Java的泛型就是创建一个用类型作为参数的类。就象我们写类的方法一样,方法是这样的method(String str1,String str2 ),方法中参数str1、str2的值是可变的。而泛型也是一样的,这样写class Java_Generics<K,V>,这里边的K和V就象方法中的参数str1和str2,也是可变。下面看看例子://code lis...原创 2008-08-04 11:29:07 · 96 阅读 · 0 评论 -
实例解读反射机制
package org;/* * java的反射在java中是一项很有用的功能,hibernate和spring中都使用了该功能。为了方便大家理解java的反射,下面我写了一个简单的例子,希望对大家的学习有所帮助! 实现反射的类主要包括以下几个: 1、Class 表示一个类的类 2、Field 表示属性的类 3、Method 表示方法的类 4、Constrctor ...2008-08-04 10:42:06 · 92 阅读 · 0 评论 -
java范型编程指南
Java泛型编程指南此系列文章译自SUN的泛型编程指南, 看不懂译文的请看原文http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf一、绪言JDK1.5对JAVA语言进行了做了几个扩展,其中一个就是泛型。本指南旨在介绍泛型。如果你熟悉其它语言的构造类似的东西,特别是C++的模板(template),你会很快发现它...2008-08-04 09:18:45 · 126 阅读 · 0 评论 -
java代理机制
今天上午写了一个有关于EJB的拦截例子,其实EJB的拦截用的就是JAVA的代理机制.说广一点,EJB的实现就是利用代理实现的远程方法调用.EJB会在服务器端生成一个实现了所有的接口的类的代理,然后在里面监听你所做的所有事情,并与之反应,这样就实现了远程调用的效果,你在这边调用,而EJB容器在别的地方也可以知道你调用了什么,并返回与之对应的结果,这一切都是用代理来实现的.下面我们就来认识...原创 2008-08-01 17:21:39 · 113 阅读 · 0 评论 -
java加密
本文主要谈一下密码学中的加密和数字签名,以及其在java中如何进行使用。对密码学有兴趣的伙伴,推荐看Bruce Schneier的著作:Applied Crypotography。在jdk1.5的发行版本中安全性方面有了很大的改进,也提供了对RSA算法的直接支持,现在我们从实例入手解决问题(本文仅是作为简单介绍): 一、密码学上常用的概念 1)消息摘要: 这是一种与消息认...2008-08-01 17:17:12 · 121 阅读 · 0 评论 -
文件操作大全
java中文件操作大全 本文为本人在工作学习中的总结,每个方法都经过测试,记在博客上一方面是为了自己日后工作方便,另一方面是为了给大家提供方便,节约时间。 一.获得控制台用户输入的信息 Java代码 /** *//**获得控制台用户输入的信息 * @return * @throws IOException */ ...原创 2008-08-01 16:08:02 · 97 阅读 · 0 评论 -
java异常机制
例外是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻止程序的正常运行。为了加强程序的鲁棒性,程序设计时,必须考虑到可能发生的异常事件并做出相应的处理。C语言中,通过使用if语句来判断是否出现了例外,同时,调用函数通过被调用函数的返回值感知在被调用函数中产生的例外事件并进行处理。全程变量ErroNo常常用来反映一个异常事件的类型。但是,这种错误处理机制会导致...2008-08-01 15:39:14 · 87 阅读 · 0 评论 -
java反射实例
Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。...原创 2008-08-01 13:31:49 · 157 阅读 · 0 评论 -
java中反射机制及实例
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。...原创 2008-08-01 11:03:54 · 105 阅读 · 0 评论 -
Java远程通讯可选技术及原理
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来...原创 2008-08-07 16:01:12 · 85 阅读 · 0 评论 -
多线程
package lession3;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import java.awt.*;import java.awt.event.*;public class ...2008-08-12 09:10:12 · 88 阅读 · 0 评论 -
java.util.Date 和java.sql.Date区别
//*************************************************** //名称:strToDate //功能:将指定的字符串转换成日期 //输入:aStrValue: 要转换的字符串; // aFmtDate: 转换日期的格式, 默认...2008-10-11 19:58:14 · 112 阅读 · 0 评论 -
JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecuto
在多线程大师Doug Lea的贡献下,在JDK1.5中加入了许多对并发特性的支持,例如:线程池。一、简介线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit,B...原创 2009-04-03 11:32:36 · 244 阅读 · 0 评论 -
MD5
使用 Java 生成 MD5 编码 MD5即Message-Digest Algorithm 5(信息-摘要算法5),是一种用于产生数字签名的单项散列算法,在1991年由MIT Laboratory for Computer Science(IT计算机科学实验室)和RSA Data Security Inc(RSA数据安全公司)的Ronald L. ...原创 2009-03-17 09:17:55 · 114 阅读 · 0 评论 -
JAVA字符串处理函数列表一览
Java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。substring()它有两种形式,第一种是:String substring(int startIndex)第二种是:String ...原创 2009-03-14 16:48:36 · 110 阅读 · 0 评论 -
StringTokenizer(字符串分析解析类型)(转)
功效:将字符串以定界符为界,分析为一个个的token(可理解为单词),定界符可以自己指定。 1、构造函数。1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。2. StringTokenizer(String str, St...2009-03-14 16:35:34 · 330 阅读 · 0 评论