`
文章列表
Java对象的生命周期分析   Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除。因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3。其中T1表示对象的创建时间,T2表示对象的使用时间,而T3则表示其清除时间。由此,我们可以看出,只有T2是真正有效的时间,而T1、T3则是对象本身的开销。下面再看看T1、T3在对象的整个生命周期中所占的比例。   我们知道,Java对象是通过构造函数来创建的,在这一过程中,该构造函数链中的所有构造函数也都会被自动调用。另外,默认情况下,调用类的构造函数时,Java会把变量初始化成确定的值:所有的对象被设置成n ...
Compass是建立在Lucene基础之上的一款开放源码的JAVA搜索引擎框架。关于Compass的介绍在此我不多讲了,更多了解请直接参考http://www.opensymphony.com/compass。     很多看了Compass的人多少对Compass的配置文件都有点云里雾里的感觉(我最开始也如此:P)。由于Compass有很多地方都借鉴了Hibernate的思想,在此我结合Hibernate中的思想来帮助我们对Compass的配置文件进行理解。     Hibernate是一个O/R Mapping工具,它可以将实体对象和数据库中的表进行映射。最终通过访问实体对象来达到访问数据库 ...
Spring中DataSource的注入方法: 1) 在进行单元测试或应用系统比较小时,可以使用Spring的DriverManagerDataSource: Xml代码 <bean id="ds"    class="org.springframework.jdbc.datasource.DriverManagerDataSource">  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>  < ...
log4j.rootLogger=INFO,consoleAppender,logfile,MAIL log4j.addivity.org.apache=true #ConsoleAppender,控制台输出 #FileAppender,文件日志输出 #SMTPAppender,发邮件输出日志 #SocketAppender,Socket日志 #NTEventLogAppender,Window NT日志 #SyslogAppender, #JMSAppender, #AsyncAppender, #NullAppender #文件输出:RollingFileAppen ...
为了让Web项目中的Spring 使用Log4j做如下配置: 1、在web.xml中添加如下内容: <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"。但最好设置,以免项目之间的名称冲突。 定义以后,在Web Container启动时 ...
Lucene field类 1.版本和2.版本比较 (说法一)最近用Lucene开发全文检索。《Lucene in Action》这本书用的是Lucene 1.4。我自己下的是最新的2.1。然后就发现了很多不同的地方。 Field没了Keyword、UnIndexed、UnStored、Text这几个静态成员,只能用 Field(String, String, Store, Index)。 Keyword对应Field.Store.YES, Field.Index.UN_TOKENIZED, UnIndexed 对应Field.Store.YES, Field.Index.NO, UnStor ...
在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存原因是不一样的,当然处理方式也不一样。 这里根据平时遇到的情况和相关资料进行一个总结。常见的一般会有下面三种情况:         1.OutOfMemoryError: Java heap space         2.OutOfMemoryError: PermGen space         3.OutOfMemoryError: unable to create new native thread. 对于前两种情况,在应用本身没有内存泄露的情况下可以用设置tomcat jvm参数来解决。(-Xms -Xmx -XX:Pe ...
查询:      以下是代码片段:   String str="abc efg ABC";   String regEx="a|f"; //表示a或f   Pattern p=Pattern.compile(regEx);   Matcher m=p.matcher(str);   boolean rs=m.find();      如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE); ...
自从JDK1.4开始,JDK中新添加了java.util.regex包,用来处理正则表达式。在Java中的正则表达式的表达规则和Perl中基本是类似的,下面是JDK中对正则表达式语法描述。 正则表达式语法(摘自从Java doc中) 字符 x 字符 x \\ 反斜线字符 \0n 带有八进制值 0 的字符 n (0 <= n <= 7) \0nn 带有八进制值 0 的字符 nn (0 <= n <= 7) \0mnn 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7) \xhh 带有十六进制值 0x 的字 ...
在JDK1.4中,引入了CharSequence接口,实现了这个接口的类有:CharBuffer、String、StringBuffer、StringBuilder这个四个类。 CharBuffer为nio里面用的一个类,String实现这个接口理所当然,StringBuffer也是一个CharSequence,StringBuilder是Java抄袭C#的一个类,基本和StringBuffer类一样,效率高,但是不保证线程安全,在不需要多线程的环境下可以考虑。 提供这么一个接口,有些处理String或者StringBuffer的类就不用重载了。但是这个接口提供的方法有限,只有下面几个:ch ...
如何用CVS下载SourceForge.net上的源码 今天想从Sourceforge.net上面下载源码,找到了项目页面,但是没有写明如何用CVS下载这个项目的源代码。上网搜了下,原来从sourceforge上面下载源码有统一的规则,记下备忘。以Eclipse的CVS为例: 1 Host:            项目名称.cvs.sourceforge.net 2 Repository Path: /cvsroot/项目名称 3 User:            anonymous 其它默认,点击Finish就可以连接上代码服务器啦!
Java内存泄露的原因只有一个:某个你认为释放了的对象并没有被你释放!也就是说,你还在某个地方保留了对这个对象的引用。 内存泄露一般都出现在自己的代码之中,比如,一不小心设置了一个集合类型的静态变量等等。可是,Java(JDK)自己带的对象也有不少能够导致内存泄露的,String类型是其中最严重的一种。今日刚好被我不幸的遇到了。我只不过用了一下subString方法而已,从1000多个html页面里面找了一些文本出来,结果,String使用的那种直接引用原始文本(char[]数组),导致了本来只需要几十K(200字节*1000个)大小的String数组,变成了(40K字节*1000个),结果内存 ...
Heritirx的各类问题汇总 为什么出现这种错误? 06/14/2007 11:07:38 +0800 警告 org.archive.io.ReplayCharSequenceFactory$MultiByteReplayCharSequence decodeToFile D:\eclipse\workspace\heritrixProject\jobs\163-20070614025526671\scratch\tt13http.ris.UTF-16BE already exists 06/14/2007 11:07:40 +0800 警告 org.archive.io.ReplayCh ...
一、<controller>用于配置ActionServlet. 属性 描述 bufferSize 指定上载文件的输入缓冲的大小。该属性为可选项,默认值为4096. className 指定和<controller>元素对应的配置类。默认为org.apache.struts.config.ControllerConfig. contentType 指定响应结果的内容类型和字符编码。该属性为可选项,默认值为text/html。如果在Action和JSP网页中也设置了内容类型和字符编码,将会覆盖该设置。 locale 指定是否把Locale对象保存到当前用户的Sess ...
一、fetch="join" 和 fetch="select" 没区别? fetch参数指定了关联对象抓取的方式是select查询还是join查询,select方式时先查询返回要查询的主体对象(列表),再根据关联外键id,每一个对象发一个select查询,获取关联的对象,形成n+1次查询; 而join方式,主体对象和关联对象用一句外键关联的sql同时查询出来,不会形成多次查询。 如果你的关联对象是延迟加载的,它当然不会去查询关联对象。 另外,在hql查询中配置文件中设置的join方式是不起作用的(而在所有其他查询方式如get、criteria或再关 ...
Global site tag (gtag.js) - Google Analytics