自定义博客皮肤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 114

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

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

2012-06-03 18:46:00 77

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 141

hashCode与equals深度剖析

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

2012-06-02 10:16:01 107

原创 ConcurrentLinkedQueue应该注意的地方

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

2012-06-02 09:59:45 201

一些定时器的介绍

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

2012-06-02 09:56:08 78

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

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

2012-06-02 09:54:06 98

原创 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 76

原创 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 83

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

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

2012-06-01 21:44:01 173

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

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

2012-05-26 00:29:47 168

原创 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 447

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

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

2012-05-26 00:19:57 164

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

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

2012-05-26 00:16:09 223

空空如也

空空如也

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

TA关注的人

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