
Java
文章平均质量分 62
lddongyu
这个作者很懒,什么都没留下…
展开
-
内存溢出 ava.lang.OutOfMemoryError: Java heap space
<br /><br />强迫垃圾收集,获得一个堆的对象快照。<br />做任何工作可能正在导到无意的对象引用保持。<br />强迫另一次垃圾收集并获得第二次堆的对象快照。<br />比较这两个快照,观察从第一个快照到第二个快照哪些对象在数量上有所增加。因为你在快照之前强迫垃圾收集,剩下的将是所有被应用程序引用的对象,比较两个快照将准确的标识那些新创建的、保留在应用程序里的对象。<br />根据你对应用程序的认识,决定两个快照比较中,哪些对象正在无意的保持对象引用。<br />跟踪前导引用,找到哪些对象正在引转载 2011-03-30 08:45:00 · 1497 阅读 · 0 评论 -
Java版模式速查手册
Java版模式速查手册创建模式(Creational Pattern):AbstractFactory Builder FactoryMethod Prototype Singleton结构模式(Structural Pattern):Adapter.4Class adapter.4Object Bridge Composite.s Composite.t Decorator Faca转载 2007-09-29 14:09:00 · 1035 阅读 · 0 评论 -
设计模式之Singleton(单态)
单态定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。 还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安转载 2007-09-19 17:56:00 · 628 阅读 · 1 评论 -
JavaMail的常用类介绍
事先说明: 没用过JavaMail的人可能看不懂这些介绍,不过不要紧,后面的文章有具体的实例,到时也可倒回来查看这些类的用法. (1) javax.mail.Properties类 JavaMail需要Properties来创建一个session对象。它将寻找字符串"mail.smtp.host",属性值就是发送邮件的主机. 用法: Properties props = new Pr转载 2007-09-19 14:12:00 · 855 阅读 · 0 评论 -
用Java Mail发送带有图片附件的html格式邮件
用Java Mail发送带有图片的html格式的邮件,针对于显示图片,一般有两种方法。 1. 图片存在于服务器上,我们只需要把图片在服务器的的链接放进去即可。 这种发式比较简单,但是这种方法有些缺陷: 图片不支持离线浏览; 每次浏览邮件需要访问web服务,增加服务器负担; 若图片以二进制的方式存在于数据库或是动态生成的,则无法有效的解决。 2. 把图片以附件的方式发送出去,这种方式非常适用于图片存转载 2007-09-19 13:46:00 · 1500 阅读 · 0 评论 -
Java多线程程序设计详细解析
一、理解多线程 多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。 多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个转载 2007-09-18 12:50:00 · 544 阅读 · 0 评论 -
用javamail发送htm格式的邮件
/** *//** * 发送邮件 * * @param sendPerson * 发送人 * @param receiver * 接收人 * @param subject * 主题 * @param content * 内容原创 2007-09-14 14:43:00 · 1344 阅读 · 0 评论 -
java IO详解(转)
1. Abstract:Java将I/O分为高阶I/O与低阶I/O,高阶I/O在使用上提供更多的读写方法,如读写int、double、String的资料型态,而低阶的I/O大部份只提供write、read的byte[]存取,因为程式大部份的资料都是以字串或其它主要型态资料来运算,因此低阶的I/O在使用上不利於程式设计,所以Java将许多好用的方法全部集合成高阶I/O; 换言之,低转载 2007-09-11 15:23:00 · 1444 阅读 · 0 评论 -
Java语言的动态代理
方便起见, 根据孙鑫的一个例子来学习,先看代码: ILogin接口public interface ILogin...{ public boolean login(String username,String password);} ILogin接口的实现类(即被代理类):public class LoginAction implements ILogin.原创 2007-08-24 15:07:00 · 783 阅读 · 2 评论 -
浅谈Java中final,finalized,finally
final:final可以让你控制你的成员、方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中拥有了一个不可或缺的地位,也是学习Java时必须要知道和掌握的关键字之一。final成员当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地转载 2007-05-17 13:43:00 · 1172 阅读 · 0 评论 -
关于java的hashCode方法
有许多人学了很长时间的Java,但一直不明白hashCode方法的作用,我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可转载 2007-05-21 14:08:00 · 4390 阅读 · 3 评论 -
接口和抽象类的一篇好文
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者转载 2007-10-16 13:27:00 · 757 阅读 · 0 评论 -
使用J2SE API读取Properties文件的六种方法
1、使用java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name)); Properties p = new Properties(); p.load(in); 2、使用java.util.ResourceBundle类的getBundle()转载 2007-10-12 11:06:00 · 1016 阅读 · 0 评论 -
spring StopWatch 用法
<br />StopWatch sw = null; try{ //开始执行程序 isRunning = true; for(Integer kind : kindList){ sw = new StopWatch("PermissionViewGenerateJos[kind = " + kind + "]"); sw原创 2010-06-24 09:41:00 · 3988 阅读 · 0 评论 -
java多态性详解——父类引用子类对象
转自:http://www.tarena.net/news_content.asp?id=663转载 2010-06-13 10:25:00 · 768 阅读 · 0 评论 -
eclipse 自动联想设置
window->Preferences->Java->Editor->Content Assist->Advanced 上面的选项卡Select the proposal kinds contained in the default content assist list: 中把 Other Java Proposals 选项打上勾就可以了。转载 2010-01-04 17:46:00 · 4714 阅读 · 0 评论 -
怎样在Eclipse中使用debug调试程序?
最基本的操作是: 1.首先在一个java文件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run 网管联盟www.bitsCN.com 当程序走到断点处就会转到debug视图下。 2.F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over, 也就是执行转载 2009-12-11 10:28:00 · 865 阅读 · 0 评论 -
JavaCC 简介
JavaCC 简介 简介Theodore S. Norvell 写的一本《The JavaCC Tutorial》的第一章Introduction to JavaCC JavaCC 入门1. JavaCC 和分析器生成程序JavaCC 是一个能生成语法和词法分析器的生成程序。语法和词法分析器是字符串处理软件的重要组件。编译器和解释器集成了词法和语法转载 2009-06-24 11:12:00 · 4154 阅读 · 0 评论 -
今天终于搞清了Serializable ,虽然不是自己写的程序!
类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。 Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成一组byte,这样日后要用这个对象时候,你就能把这些byte数据恢复出来,并据此重新构转载 2009-05-05 08:36:00 · 936 阅读 · 2 评论 -
eclipse.ini说明
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题:1. 各个参数的含义什么?2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动,而有些机器无法启动?3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置?转载 2009-04-17 11:21:00 · 503 阅读 · 0 评论 -
Java语言中的强大武器--对象的序列化
所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象。这个过程也可以通过网络实现,可以先在Windows机器上创建一个对象,对其序列化,然后通过网络发给一台Unix机器,然后在那里准确无误地重新“装配”。是不是很神奇。 也许你会说,只了解一点点,但从来没有接触过,其实未必如此。RMI、Socket、JMS、EJB你总该用过一种吧,彼此为什么能够传递Java对象,当转载 2008-10-21 22:49:00 · 552 阅读 · 0 评论 -
用Java发送图文并茂的HTML邮件
package com.syj;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.IOException;import java.util.Arrays;import java.util.Date;import java.uti转载 2008-06-11 15:54:00 · 813 阅读 · 0 评论 -
Dom4j 使用简介
Dom4j 使用简介作者:冰云 icecloud(AT)sina.com时间:2003.12.15 版权声明: 本文由冰云完成,首发于优快云,未经许可,不得使用于任何商业用途。 文中代码部分引用自DOM4J文档。转载 2008-01-21 14:14:00 · 789 阅读 · 0 评论 -
关于Java栈与堆的思考
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Jav转载 2007-05-21 13:19:00 · 558 阅读 · 0 评论 -
java对象序列化
所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象。这个过程也可以通过网络实现,可以先在Windows机器上创建一个对象,对其序列化,然后通过网络发给一台Unix机器,然后在那里准确无误地重新"装配"。像RMI、Socket、JMS、EJB它们中的一种,彼此为什么能够传递Java对象,当然都是对象序列化机制的功劳。 java对象序列化机制一般来讲有两种用途:转载 2007-05-21 14:55:00 · 904 阅读 · 0 评论 -
java面试笔试题大汇总
JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过转载 2007-05-17 15:32:00 · 735 阅读 · 0 评论 -
Rose的简单使用
ROSE思想是复杂的,内涵是丰富的,操作是别扭的,文档是简单的,人性是没有的。然而人们对它趋之若鹜的原因恐怕是我们现在的TEAMLEADER,SA受RUP的毒害颇深的原因,而这也将影响到徒弟--将来的SA们。基础操作(前转)1.打开Rose 2.选择缺省编程语言的方法是,Tools->Options->Notation->Default->Java。 3.在L原创 2007-07-12 17:47:00 · 9344 阅读 · 0 评论 -
Java单例对象同步问题探讨
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。正是由于这个特点,单例对象通常作为程序中的存放配置信息的载体,因为它能保证其他对象读到一致的信息。例如在某个服务器程序中,该服务器的配置信息可能存放在数据库或文件中,这些配置数据由某个单例对象统一读取,服务进程中的其他对象如果要获取这些配置信息,只需访问该单例对象即可。这种方转载 2007-07-18 15:50:00 · 819 阅读 · 0 评论 -
《计算机程序的构造和解释》
最近好几位牛人都提及这本书。要是不太难懂,什么时候咱也看看……原创 2007-04-16 12:40:00 · 1483 阅读 · 1 评论 -
truncate、delete、drop的异同点
这里说的delete是指不带where子句的delete语句 相同点:truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(const转载 2007-04-09 10:51:00 · 667 阅读 · 0 评论 -
文件复制实现
文件复制实现(已经测试)import java.io.*;import java.nio.*;import java.nio.channels.*;public class Copy{public static void main(String argv[]){if(argv.length!=2){ System.out.println("usage>java Copy srcfilenam转载 2007-06-29 13:25:00 · 718 阅读 · 0 评论 -
用eclipse新建一个project时,源文件夹的解释
源文件夹:指的是在eclipse的“.classpath”文件中【kind="src"】的path。可以使用【新建->源文件夹】命令创建新的源文件夹,也可以在【配置构建路径】对话框的【源代码】选项卡中调整。源文件夹的作用是使得编译器在编译时将其下的java文件编译成class文件,资源文件原样(目录不变)拷贝到类路径(classpath)。原创 2007-06-21 17:19:00 · 3922 阅读 · 0 评论 -
JDBC连接多种数据库范例
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。 一、连接各种数据库方式速查表 下面罗列了各种数据库使用JDBC连接的方式,可以作为一个转载 2007-03-20 16:41:00 · 1280 阅读 · 0 评论 -
使用设计模式改善程序结构(全文)
设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案。但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确、恰当的使用设计模式。本文试图从另一个角度(设计模式的意图、动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够指导、简化你的设计转载 2007-03-21 15:56:00 · 1026 阅读 · 0 评论 -
浅谈Java的输入输出流
Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流....本文的目的是为大家做一个简要的介绍。 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个转载 2007-03-21 15:54:00 · 677 阅读 · 0 评论 -
利用jad破解.class文件
初学任何一门语言,多看看源代码是成为高手的捷径.有时候高手们兴许会把源码公布出来,可是大多数情况是没有现成的.java源文件给你看的.面对.class文件,新手可能会狂晕了,别急!我这就教你怎样扒光.class文件的衣服,让.class文件"一丝不挂"的呈现在你眼前准备工作:STEP1:下载jad1.5.8e 下载地址http://www.kpdus.com/jad.html#转载 2007-03-20 14:32:00 · 1834 阅读 · 1 评论 -
Java 注释
对于Java语言,最体贴的一项设计就是它并没有打算让人们为了写程序而写程序——人们也需要考虑程序的文档化问题。对于程序的文档化,最大的问题莫过于对文档的维护。若文档与代码分离,那么每次改变代码后都要改变文档,这无疑会变成相当麻烦的一件事情。解决的方法看起来似乎很简单:将代码同文档“链接”起来。为达到这个目的,最简单的方法是将所有内容都置于同一个文件。然而,为使一切都整齐划一,还必须使用一种特殊的注转载 2007-07-23 10:46:00 · 641 阅读 · 0 评论 -
泛型与反射
研究泛型与反射之间的关系非常有趣。我们知道,反射和泛型都是Java的一种动态技术。而不像继承和多态,是面向对象的技术。可以这么说,反射和泛型都像是为了弥补像继承和多态这些面向对象技术的不足而产生的。模式多是建立在面向对象技术基础上的,因而每种模式多多少少在动态性,或者说扩展性方面有些不足,我们就又结合了反射和泛型对模式进行一定的扩展,使它在动态性方面更符合我们的要求。在将这些技术结合起来的转载 2007-07-29 13:14:00 · 873 阅读 · 0 评论 -
因小失大切莫轻视JAVA异常处理
JAVA异常处理是程序开发的一个重要内容,异常处理的好坏关系到系统的健壮性和稳定度。异常处理看起来只有几个常用 语句,故有些开发人员常常会对异常处理轻视和在使用上思路模糊。近期笔者在一个开发项目中就体验到轻视异常处理的惨痛教训,因为对异常没有处理好,后果是 严重影响系统稳定性。因此,笔者认为异常处理并不是表面看起来的那么简单。本文分享在此项目过程中对异常处理的一些看法。 一. 什么是异常转载 2007-08-17 16:12:00 · 792 阅读 · 0 评论 -
如何使用Java自带的正则表达式
在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包。 可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式。正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性。在Unix世界里,正则表达式几乎没有什么限制,可肯定的是,它应用非常之广泛。 正转载 2007-05-15 11:03:00 · 751 阅读 · 0 评论