随笔分类 -  Java

摘要:http://www.blogjava.net/heavensay/archive/2012/11/07/389685.html一 class的热替换ClassLoader中重要的方法loadClass ClassLoader.loadClass(...) 是ClassLoader的入口点。当一个类没有指明用什么加载器加载的时候,JVM默认采用AppClassLoader加载器加载没有加载过的class,调用的方法的入口就是loadClass(...)。如果一个class被自定义的ClassLoader加载,那么JVM也会调用这个自定义的ClassLoader.loadClass(...).. 阅读全文
posted @ 2013-05-13 17:07 balaamwe 编辑
摘要:http://www.ibm.com/developerworks/java/library/j-codetoheap/index.htmlFrom Java code to Java heapUnderstanding and optimizing your application's memory usageChris Bailey(baileyc@uk.ibm.com), Java Service Architect, IBMSummary: This article gives you insight into the memory usage of Java™ code, c 阅读全文
posted @ 2013-03-04 17:42 balaamwe 编辑
摘要:http://zhongl.iteye.com/blog/291127引言目前最新的Lucene的版本是2.4.0,但关于索引文件格式(Index File Format)的说明并未完全及时更新,所以后文是基于版本2.1.0展开的解析。解析内容并未涉及全面,更多详细准确的说明还请参见[1]。在看下文之前,若熟悉Lucene的索引的基本概念和过程就会对后文的理解有很大帮助。创建一个简单的索引这里有一段代码,它将创建一个简单的索引段(Segment),这个段只有一个文档(Document),文档中有两个域(Field):name和description。两个域均进行索引(Index)并保存(Sto 阅读全文
posted @ 2012-09-27 16:34 balaamwe 编辑
摘要:转自:http://dev.csdn.net/author/kingjIang/28cf4f5f62ca4bb696c43d5c438e79f7.htmlLucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下: 0)设有两篇文章1和2 文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too. 文章2的内容为:He once lived in Shanghai. 1)由于lucene是基于关键词索引和查询的,首先我们要取得这两篇文章的关键词,通常我们需要如下处理措施 a.我们... 阅读全文
posted @ 2012-09-27 15:43 balaamwe 编辑
摘要:http://is00hcw.blog.163.com/blog/static/282632722010418102837438/编写自定义appender 的步骤1. 扩展 AppenderSkeleton 抽象类。如果是通过流方式实现读写数据的话,自定一定appender可以从WriterAppender继承,这样只需要把我们自己的OutputStream连接到WriterAppender.qw上就可以了。更方便快捷。2. 指定您的 appender 是否需要 layout。这个由requiresLayout()方法确定。3. 如果某些属性必须同时激活,则应该在 activateOptio 阅读全文
posted @ 2012-08-24 18:54 balaamwe 编辑
摘要:http://yefriendly.iteye.com/blog/404389 续Spring中使用Quartz(一)注意:CronTriggerBean的cronExpression属性指定格式:至少6个时间元素,上面表示每天的15:37-38分执行1次任务。时间元素(按照顺序):秒(0-59):分(0-59):小时(0-23):每月第几天(1-31):月(1-12或JAN-DEC):每星期第几天(1-7或SUN-SAT):年(1970-2099):其中:不用设置的用”?”.(1)每月第几天和每星期第几天是互斥的,两个只能设置1个。如果有好几个时间点,可以使用”,”符号,... 阅读全文
posted @ 2012-08-20 19:01 balaamwe 编辑
摘要:http://yefriendly.iteye.com/blog/404374 Quartz使用开发环境:Spring2.0。如果包类没有Quartz包,则需要加入到类路径。A:extends QuartzJobBean方法1:定义任务(extendsQuartzJobBean)创建一个Job:packageonlyfun.bb.Quartz;importorg.quartz.JobExecutionContext;importorg.springframework.scheduling.quartz.QuartzJobBean;publicclassQuartzDemoext... 阅读全文
posted @ 2012-08-20 18:59 balaamwe 编辑
摘要:http://hi.baidu.com/sword0228/item/bd33e5997f2a9bdd7b7f0196private static Gson gson = new GsonBuilder().registerTypeAdapter(Date.class,new UtilDateSerializer()).registerTypeAdapter(Calendar.class,new UtilCalendarSerializer()).registerTypeAdapter(GregorianCalendar.class,new UtilCalendarSerializer()). 阅读全文
posted @ 2012-08-20 14:36 balaamwe 编辑
摘要:Random类(java.util)Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。下面介绍一下Random类的使用,以及如何生成指定区间的随机数组以及实现程序中要求的几率。1、Random对象的生成 Random类包含两个构造方法,下面依次进行介绍: a、publ 阅读全文
posted @ 2012-08-03 17:02 balaamwe 编辑
摘要:http://waterdh.iteye.com/blog/520399 本文主要是根据classloader的特性,结合实际产品环境中遇到的问题,来探讨下JAVA应用中局部模块热部署的可行性。 我们知道,一些web应用提供了自动检测装载webapp的功能,但大部分的时候,就是相当于重新启动了一遍Webapp,存储在内存中的数据也会丢失,并不能灵活地满足需要。而OSGI框架,虽然也提供了模块的热部署,但为了用热部署而将应用限制在OSGI的框框中,有些时候得不偿失。于是想根据实际需要来定制classloader,灵活地指定哪些类重载,哪些类不需要。 言归正传,进行我们的实践,这里先简单介绍下J. 阅读全文
posted @ 2012-07-27 18:28 balaamwe 编辑
摘要:http://www.infoq.com/cn/articles/springmvc_jsx-rs过去几年,REST逐渐成为影响Web框架、Web协议与Web应用设计的重要概念。如果你还不了解REST,那这个简短的介绍将有助你快速掌握REST,此外还可以点击这里了解关于REST的更多信息。现在有越来越多的公司希望能以简单而又贴合Web架构本身的方式公开Web API,因此REST变得越来越重要也就不足为奇了。使用Ajax进行通信的富浏览器端也在朝这个目标不断迈进。这个架构原则提升了万维网的可伸缩性,无论何种应用都能从该原则中受益无穷。JAX-RS(JSR 311)指的是Java API for 阅读全文
posted @ 2012-07-25 14:29 balaamwe 编辑
摘要:在Eclipse中处理图片,需要引入两个包:import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;报错:Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required library C:\Java\jre1.6.0_07\lib\rt.jar此时解决办法:Eclipse默认把这些受访问限制的API设成了ERROR。只要把Windows-Pre 阅读全文
posted @ 2012-07-24 15:31 balaamwe 编辑
摘要:Java中LinkedList是线程不安全的,那么如果在多线程程序中有多个线程访问LinkedList的话会出现什么问题呢?抛出ConcurrentModificationExceptionJDK代码里,ListItr的add(), next(), previous(), remove(), set()方法都会跑出ConcurrentModificationException。final void checkForComodification() { if (modCount != expectedModCount) throw new ConcurrentModificationExcept 阅读全文
posted @ 2012-04-23 16:38 balaamwe 编辑
摘要:Hibernate Session的Flush模式 收藏首先要知道的是:Hibernate会尽量将与数据库的操作延迟,直到必须要与数据库进行交互,例如save方法一般会在提交时才真正执行,最终在提交时会以批处理的方式与数据库进行交互,以提高效率。而将操作延迟,就是利用缓存,将最后要处理的操作放到缓存中。flush方法的主要作用就是清理缓存,强制数据库与Hibernate缓存同步,以保证数据的一致性。它的主要动作就是向数据库发送一系列的sql语句,并执行这些sql语句,但是不会向数据库提交。而commit方法则会首先调用flush方法,然后提交事务。 在下面的情况下,Hibernate会调用Se 阅读全文
posted @ 2012-03-13 15:24 balaamwe 编辑
摘要:随着Hibernate在Java开发中的广泛应用,我们在使用Hibernate进行对象持久化操作中也遇到了各种各样的问题。这些问题往往都是我们对Hibernate缺乏了解所致,这里我讲个我从前遇到的问题及一些想法,希望能给大家一点借鉴。这是在一次事务提交时遇到的异常。an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)net.sf.hibernate.AssertionFailure: possible no 阅读全文
posted @ 2012-03-12 19:01 balaamwe 编辑
摘要:http://hi.baidu.com/maoshenmusic/blog/item/5e65dc2419baa6044c088d1a.html一、Java ClassLoader1,什么是ClassLoader与 C 或 C++ 编写的程序不同,Java 程序并不是一个可执行文件,而是由许多独立的类文件组成,每一个文件对应于一个 Java 类。此外,这些类文件并非立即全部都装入内存,而是根据程序需要装入内存。ClassLoader 是 JVM 中将类装入内存的那部分。而且,Java ClassLoader 就是用 Java 语言编写的。这意味着创建您自己的 ClassLoader 非常容易, 阅读全文
posted @ 2012-03-12 16:25 balaamwe 编辑
摘要:三、ASM我们知道Java是静态语言,而python、ruby是动态语言,Java程序一旦写好很难在运行时更改类的行为,而python、ruby可以。不过基于bytecode层面上我们可以做一些手脚,来使Java程序多一些灵活性和Magic,ASM就是这样一个应用广泛的开源库。ASM is a Java bytecode manipulation framework. It can be used to dynamically generate stub classes or other proxy classes,directly in binary form, or to dynamica 阅读全文
posted @ 2012-03-12 16:25 balaamwe 编辑
摘要:异常信息如下:2009-9-14 3:56:54 org.apache.catalina.startup.Catalina stopServer严重: Catalina.stop:com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence. at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source) at com.su 阅读全文
posted @ 2012-03-07 13:48 balaamwe 编辑
摘要:http://hi.baidu.com/fangpw/blog/item/78cfe7fcf7988a8cb801a0ec.html<!--[endif]-->Import<antcall>和<marcodef>可以达到类似函数的效果,但是调用者和被调用者还是必须在同一个文件中。Ant从1.6开始引入Import Task,可以真正的实现代码重用:属性,Task定义,Task,Macro。一个简单的例子:common.xml:<?xml version="1.0" ?><project><property n 阅读全文
posted @ 2012-03-07 13:31 balaamwe 编辑
摘要:转载自ant 条件判断 condition最近收到一个ticket,用ant写个build.xml,用到condition,作笔记如下:basic elements: istrue isfalse not and or xor available isset equals filesmatch1、istrue isfalse:断言 真 假Ant代码<projectname="testCondition"><targetname="test"><conditionproperty="scondition"& 阅读全文
posted @ 2012-03-07 13:09 balaamwe 编辑