`
xiangdefei
  • 浏览: 57469 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
  我们自定义注解(Annotation)时,把自定义的注解标注在父类上不会被子类所继承,但是我们可以在定义注解时给我们自定义的注解标注一个@Inherited注解来实现注解继承。 自定义的注解代码如下: package com.xdf.annotation; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; @Inherited @Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @i ...
以前对Object类的equals()方法和hashcode()方法很模糊,只知道用equals()来判断两个对象是否相等,hashcode()是来计算散列值的,重写equals()方法时,总是要重写hashcode(),却不知道为什么要这样,昨天在家研究了一天,终于弄懂了一点点,所以写下来加深印象,不懂的同学也可以看看。    在网上查了很多资料,但是都写得不明不白的,压根写那些资料的人自己都不明白,还出来误导人!靠你大爷的。于是我查了Effective+java,think in java 两本书,但是里面有些讲得很难懂(大师们写得太深奥了!!) ,加之又是看英文翻译过来的中文版,(-.- ...

JVM性能调优

    博客分类:
  • java
一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm)   其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。 年轻代(New):年轻代用来存放JVM刚分配的Java对象 年老代(Tenured):年轻代中经过垃圾回收没有回收掉的对象将被Copy到年老代 永久代(Perm):永久代存放Class、Method元信息,其大小跟项目 ...
1 属性 1.11 ajaxOptions,当选项卡加载内容时,添加一个ajax选项。只有ajax时,添加的ajax选项才起作用。默认值为null。上面的例子中,添加了beforeSend和success两个选项。ajax还有一些选项请参考jquery ajax,这里不做详解。。。 1.12 初始化设置例:请注意,$('.selector')是tabs 的类名,在本例中.selector=#tabs,以后不再说明。 $('.selector').tabs({ ajaxOptions: { async: false } });//这里是将异步改为了同步。 1.13 初始化后的参数获取和设置:请注意 ...
通常如果一样东西需要编码,说明这样东西并不适合传输。原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义。   例如,Url参数字符串中使用key=value键值对这样的形 ...
HttpClient是一个模拟HTTP请求的工具类. 对HttpClient进行了一个简单的封装: import static org.apache.commons.httpclient.params.HttpMethodParams.SO_TIMEOUT; import java.util.Map; import java.util.Map.Entry; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; im ...
JS获取form表单中多个submit中当前点击的submit: <script> function submitForm() { var src=document.activeElement; if(src.name=='save') { alert('保存'); } else { alert('修改'); } } </script> <form name="frm1" onSubmit="return submitForm()&q ...
命令(Command)模式就是对命令的封装,也就是把一个请求或操作封装到一个对象中。 命令模式示意性代码如下: /** * 抽象命令接口 * @author Administrator * */ public interface Command { void execute(); } 抽象命令接口角色规定了具体命令接口必须实现的接口。即一个执行方法(execute) /** * 具体命令类 * @author Administrator * */ public class ConcreteCommand implements C ...
<script> function Panel () { this.el = document.createElement('div'); this.el.style.position = 'absolute'; this.initPosition(); this.initStyle(); document.body.appendChild(this.el); } Panel.prototype = { initPosition: function () {}, initStyle: functio ...
  有时候我们想在一个目标jsp页面里获取跳转( RequestDispatcher.forward() )到这个目标jsp页面的servlet和action的请求地址,可以这样获取 String url = pageContext.getRequest().getAttribute( "javax.servlet.forward.request_uri").toString();
1、首先从findbugs网站下载插件:http://findbugs.sourceforge.net/downloads.html 2、将下载回来的zip包解压,得到文件夹:edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821,将该文件夹拷贝到myeclipse安装目录下common/plugins目录下。我的目录结构:D:\Genuitec\MyEclipse8.5\Common\plugins\edu.umd.cs.findbugs.plugin.eclipse_1.3.9.20090821 3、修改myeclipse安装目录下conf ...
  昨天下午闲暇无事翻了一下《java与模式》,偶然看到模板方法模式这一章,猛然间明白自己以前常用这模式,居然不知道。现把模板方法模式学习记录一下。 模板方法模式示意性代码如下. 下面定义的是抽象模板类: public abstract class AbstractFatherClass { /** * 模板方法的声明与实现 */ public void templateMethod() { // 调用基本方法 this.doOperation1(); // 调用基本方法 this.doOperation2(); this.doO ...
官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 相信很少有人能直接看懂这句话,因为他描述的太学术。其实这句话通俗的来说就是:Jav ...
对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。 (1) rownum 对于等于某值的查询条件 如果希望找到学生表中第一条学生的信息,可以使用rownum=1作为条件。但是想找到学生表中第二条学生的信息,使用rownum=2结果查不到数据。因为rownum都是从1开始,但是1以上的自然数在rownum做等于判断是时认为都是false条件,所以无法查到rownum = n(n>1的自然数)。 SQL> select rownum,id ...
这个js脚本只是提供一个通用的验证框架,具体的验证规则,以及不能通过验证的时候所产生的动作完全可以定制。    首先,给需要验证的表单(Form)中的需要加入验证器的input控件加入一定的验证规则,这个例子中是通过给Input控件加入一个自定义的属性来实现的,如下例: <script src="validate.js" ></script> <style> input.invalid{background: #faa;} input.valid{background: #afa;} &l ...
Global site tag (gtag.js) - Google Analytics