自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 关于线程中断的一点困惑,已解决

二、对于处于sleep,join等操作的线程,如果被调用interrupt()后,会抛出InterruptedException,然后线程的中断标志位会由true重置为false,因为线程为了处理异常已经重新处于就绪状态。 我在运行thinking in java里中断的例子时,一直都很奇怪为什么在catch(InterruptedException e)的处理段里,thead.isInter...

2014-03-06 10:42:45 127

原创 转载:Java编程中“为了性能”需做的26件事

最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:...

2012-06-03 18:46:00 83

ArrayList源代码详解

看remove方法的底层实现: public E remove(int index){ RangeCheck(int index);//判断是否越界 modCount++; E oldValue = (E)elementData[index];//获得删除的元素 int numMoved = size-index-1;//得到删除元素后面的元素个数 ...

2012-06-02 10:28:10 150

hashCode与equals深度剖析

上次去某大公司面试,问到了equals方法和hashCode()方法,现在总结一下 1,equals方法: 1,自反性,x.equals(x);为true,前提是X不为空 2,对称性,如果x.equals(y)为true,则y.equals(x)也为true 3,传递性,如果x.equals(y)为true,且y.equals(z)为true,则x.equals(z)为true 4,一致...

2012-06-02 10:16:01 113

原创 ConcurrentLinkedQueue应该注意的地方

刚开始认为使用了ConcurrentLinkedQueue类之后意味着不需要自己进行任何同步或加锁操作,查了下资料,如果直接使用它提供的函数,比如:queue.add(obj); 或者 queue.poll(obj);,这样我们自己不需要做任何同步。但如果是非原子操作,比如:    if(!queue.isEmpty()) {      queue.poll(obj);     }  我们很难保证...

2012-06-02 09:59:45 207

一些定时器的介绍

在程序中经常有建立定时异步任务的需求,下面介绍几种实现方法:1,使用spring quartz定时器Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz。首先,定义一个执行定时异步任务的类和方法,以MySchedule和其中的perform方法为例,然后在spring-quartz.xml中配置:         &...

2012-06-02 09:56:08 84

原创 hashCode与equals深度剖析与源码详解

上次去某大公司面试,问到了equals方法和hashCode()方法,现在总结一下 1,equals方法: 1,自反性,x.equals(x);为true,前提是X不为空 2,对称性,如果x.equals(y)为true,则y.equals(x)也为true 3,传递性,如果x.equals(y)为true,且y.equals(z)为true,则x.equals(z)为true 4,一致...

2012-06-02 09:54:06 106

原创 LinkedList源码详解

LinkedList底层是用双向链表实现的; 下面看其构造方法: public LinkecList(){ header.next=header.previous=header; } 此处构造了双向链表的一个头节点。 再看一下header的定义: private transient Entry<E> header = new Entry<E>(null...

2012-06-01 23:39:33 83

原创 ArrayList源代码详解2

对于add(int index,object o);该方法在特定位置插入元素,底层数组的元素都往后面移动一位,代价相当高,同理remove(int index)   对于ArrayList构造方法源代码详解: public ArrayList(){ this(10);//调用子类带参数的构造方法 } public ArrayList(int initialCapacit...

2012-06-01 23:16:41 89

原创 不使用中间变量实现两个整数的互换

int a=10,b=5; 互换: a=a+b; b=a-b; a=a-b;

2012-06-01 21:44:01 180

原创 使用ibatis命名空间要注意的地方

由于刚刚开始搞ibatis,犯了几个低级的错误:参考了下http://jun1986.iteye.com/blog/1150606的帖子,得出结论如下: 1.User.xml中,必须要定义namespace 2. 使用时要这样.queryForObject("namespace.id名",object/parameterObject);  ...

2012-05-26 00:29:47 176

原创 JS中字符串转换为日期对象的方法

endLogTimeDate = “2012-05-22 17:10:46” startLogTimeDate = “2012-05-22 17:10:46” var endLogTimeDate = new Date(Date.parse(endLogTime.replace(/-/g, "/"))); var startLogTimeDate = new Date(Date.parse(...

2012-05-26 00:24:12 454

原创 用SimpleDateFormat时犯的一个低级错误

刚用SimpleDateFormat时犯了一个低级错误,导致我调试了一个晚上,真是无语 错误语句如下: [code="java"] SimpleDateFormat sd = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss"); [/code] 竟然没注意到,后来经人提醒才恍然大悟,如下: [code="java"] SimpleDateForma...

2012-05-26 00:19:57 169

原创 ibatis在junit中初始化log4j,打印出sql语句

为了打出个sql语句搞了半天,后来参考了下http://ganlanshu.iteye.com/blog/339746这个帖子,终于搞定 在log4j.properties加上 [code="java"] log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apach...

2012-05-26 00:16:09 237

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除