自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发编程陷阱系列(八)不要吞食CountDownLatch的线程异常

 之前的文章中已经介绍了无处不在的InterruptedException的处理方式了,使用CountDownLatch也会有类似的问题(正确的处理方式见下面代码: Thread.currentThread().interrupt()),顺便复习下CountDownLatch的使用方法。 在一些应用中,有多个线程,某个线程会在其他线程执行完毕之后才开始执行。比如,想象有一个程序先下...

2013-05-23 19:58:49 1554

原创 并发编程陷阱系列(七)读多写少使用synchronized导致性能下降

对并发读的情况进行测试:public class SynchronizedDemo { static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static void main(String[] args) throws Exception { Data data ...

2013-05-07 19:19:28 358

原创 webservice复习-helloworld

什么是webservice基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求,从而实现远程调用。为了符合WebService标准,所有你使用的数据类型都必须被转换为XSD类型(Xml Schema   Definition)。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。 目前标准的WebServic...

2013-05-01 17:07:02 162

原创 并发编程陷阱系列(六)高并发环境下使用性能较低的Map

hashtable是线程安全的,但为了保障线程安全,get, put, contains等多个方法都被添加了synchronized,源码片段如下: public synchronized V get(Object key) { Entry tab[] = table; int hash = key.hashCode(); int index = (hash & 0...

2013-04-25 21:02:03 183

原创 并发编程陷阱系列(五)double check

public static Singleton getInstance(){ if (instance == null) { synchronized(Singleton.class) { //1 if (instance == null) //2 instance = new Singleton(); //3...

2013-04-02 10:28:17 126

原创 并发编程陷阱系列(四)volatile与变量脏读

预备知识:每一个线程运行时都有一个线程栈,线程栈保存了线程运行时候变量值信息。当线程访问某一个对象时候值的时候,首先通过对象的引用找到对应在堆内存的变量的值,然后把堆内存变量的具体值load到线程本地内存中,建立一个变量副本,之后线程就不再和对象在堆内存变量值有任何关系,而是直接修改副本变量的值,在修改完之后的某一个时刻(线程退出之前),自动把线程变量副本的值回写到对象在堆中变量。这样在堆...

2013-04-02 10:27:01 574

原创 并发编程陷阱系列(三)使用Thread.interrupt()中断线程

Thread.interrupt()方法不会中断一个正在运行的线程。这一方法实际上完成的是,在线程受到阻塞时抛出一个中断信号,这样线程就得以退出 阻塞的状态。更确切的说,如果线程被Object.wait, Thread.join,Thread.sleep三种方法之一阻塞,那么,它将接收到一个中断异常(InterruptedException),从而提早地终结被阻塞状态。 建议使用外部的...

2013-04-02 10:26:32 529

原创 并发编程陷阱系列 (二)InterruptException无处不在

当一个方法抛出 InterruptedException 时,它是在告诉您,如果执行该方法的线程被中断,它将尝试停止它正在做的事情而提前返回,并通过抛出 InterruptedException 表明它提前返回。一旦你catch了中断异常,默认你就会处理它,所以JVM会清除中断状态,以防止方法退出后上层调用代码再处理一次异常。如果你只是简单地catch住,并不打算处理,那么就需要恢复被清除...

2013-04-02 10:25:32 265

原创 并发编程陷阱系列 (一)同步不完全

同步块未覆盖到所有场景。 import java.util.HashMap;import java.util.Map;public class CacheManage { private Map<String, String> cache = new HashMap<String, String>(); public static int...

2013-04-02 10:24:21 123

原创 jstat,jmap,jconsole,jvisualvm,jps,jinfo等JDK系统监控、性能调优工具

转自:http://www.blogjava.net/toby/archive/2012/02/07/369544.html工具名称:IBM HeapAnalyzerJProfiler在java程序性能调试方便表现优越,推荐使用。也可使用下面jdk自己的一些工具。所有工具都在JDK/bin目录下, jconsole和jvisualvm为GUI图形化工具,其他为命令行。jvisua...

2013-03-08 15:06:59 120

原创 [转]成为JavaGC专家

http://www.importnew.com/1993.html

2013-03-06 10:34:58 97

原创 Java内存模型FAQ译文

 http://ifeve.com/jmm-faq/ 

2013-01-09 09:35:33 84

原创 hbase在淘宝的应用和优化小结

http://walkoven.com/

2012-12-19 11:05:48 90

原创 死锁的例子

/** * Description: * <br/>Copyright (C), 2008-2010, Yeeku.H.Lee * <br/>This program is protected by copyright laws. * <br/>Program Name: * <br/>Date: * @author Y...

2012-12-07 11:12:49 85

原创 页面屏蔽右键、F5等快捷键

// 系统按键触发事件document.onkeydown = function(){      // Ctrl+N、Shift+F10、F11、F5刷新     if   ((event.altKey)&&                   ((event.keyCode==37)||       // 屏蔽 Alt+ 方向键 ←              ...

2012-10-09 15:23:26 155

原创 <script>标签的for属性和event属性

&lt;script language="javascript" for="window" event="onload"&gt;  event   设置或获取脚本编写用于的事件  for  设置或获取绑定到事件脚本的对象。  可以这样理解。  &lt;script   language="javascript"   for="window"   event=&quo

2012-09-07 15:06:28 271

原创 Ant 的 javac标签

&lt;javac&gt;任务和javac命令是相似,它编译两种类型的java文件1)没有被编译的java文件2)曾经编译过,但是class文件版本和当前对应的java文件版本不匹配的java文件。 1)javac命令支持的参数: Attributes Description srcdir  :必须的,除非嵌套有&lt;src&gt;标签。包含源文件的文件夹 bootclasspa...

2012-06-15 11:51:37 77

原创 EJB3.0电子书

EJB3.0电子书

2012-05-28 22:56:41 186

原创 提高网站速度的最佳实践

原版见:http://developer.yahoo.com/performance/rules.html,是Yahoo 人写的《提高网站速度的最佳实践》共有 14 条。以下是中文版 相信互联网已经越来越成为人们生活中不可或缺的一部分。ajax,flex等等富客户端的应用使得人们越加“幸福”地体验着许多原先只能在C/S实现的功能。比如Google机会已经把最基本的office应...

2012-05-28 13:40:15 96

原创 单例模式与线程安全

请看如下的单例类:class Singleton{ private static Singleton singleton = null; public static Singleton getSingleton() { if (null == singleton) { singleton = new Singleton(); } re...

2012-04-13 16:04:41 75

原创 ORACLE的隔离级别

隔离级别(isolationlevel)两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题:1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想。2、不可重复读取:事务T1读取一行记录,紧接着...

2012-04-12 09:42:12 98

原创 LCA问题:求二叉树中任意两个节点的最近公共祖先

http://blog.csdn.net/tianliang0123/article/details/7172396

2012-04-11 23:36:18 134

原创 单链表反转(Singly Linked Lists in Java)

package dsa.linkedlist;public class Node&lt;E&gt;{ E data; Node&lt;E&gt; next;} package dsa.linkedlist;public class ReverseLinkedListRecursively { public static void main(String ...

2012-04-11 22:55:50 75

原创 深入研究B树索引

http://space.itpub.net/9842/viewspace-312607

2012-04-11 16:04:25 67

原创 SpringSecurity源码赏析

SpringSecurity源码赏析http://www.cnblogs.com/hzhuxin/category/342072.html

2012-04-07 23:34:58 85

原创 Java多线程编程总结

http://lavasoft.blog.51cto.com/62575/27069/

2012-03-05 20:18:40 43

原创 tapestry

tapestryhttp://tapestry.apache.org/tapestry3/doc/api/index.htmlhttp://archive.apache.org/dist/jakarta/tapestry/Tapestry-3.0.2-bin.zip Mock Table utility for CRUD operationsWhile le...

2012-02-20 22:32:08 97

原创 knocokout教程

http://archive.cnblogs.com/a/2257154/http://tapestry.apache.org/introduction.html

2012-02-17 14:04:14 94

原创 单例模式-双重检查锁定

单例创建模式是一个通用的编程习语。和多线程一起使用时,必需使用某种类型的同步。在努力创建更有效的代码时,Java 程序员们创建了双重检查锁定习语,将其和单例创建模式一起使用,从而限制同步代码量。然而,由于一些不太常见的 Java 内存模型细节的原因,并不能保证这个双重检查锁定习语有效。它偶尔会失败,而不是总失败。此外,它失败的原因并不明显,还包含 Java 内存模型的一些隐秘细节。这些...

2011-12-19 15:42:52 87

原创 ajaxfileupload1.0.zip

From the official website

2011-11-25 00:09:20 65

原创 仿163网盘无刷新文件上传-jsp版

代码见附件,转载自:http://www.cnblogs.com/cloudgamer/archive/2008/10/20/1314766.html

2011-11-24 16:39:26 89

原创 Mybatis-There is no getter for property named 'id' in 'class java.lang.String'

  &lt;select id="findNoteByID" parameterType="string" resultType="note"&gt; SELECT * FROM TABLE &lt;where&gt; &lt;choose&gt; &lt;when test="id != null and id !='

2011-11-23 20:48:43 304

原创 mybatis-spring-1.0.3-SNAPSHOT及mybatis3.0.6 jar文件

mybatis-spring-1.0.3-SNAPSHOT及mybatis3.0.6 jar文件

2011-11-06 14:47:19 220

原创 Oracle中的rownum不能使用大于>的问题

一、对rownum的说明   关于Oracle 的 rownum 问题,很多资料都说不支持SQL语句中的“&gt;、&gt;=、=、between...and”运算符,只能用如下运算符号“&lt;、&lt;=、!=”,   并非说用“&gt;、&gt;=、=、between..and”时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来。   其实,只要理...

2011-11-06 13:47:31 78

原创 英语8000句文本

RT

2011-10-25 20:54:47 110

原创 Jquery对动态生成的元素绑定事件

  查询 Jquery api中的 .live()事件;很多时候我们对一个对象绑定一个事件的时候老是发现绑定不成功,这时你可以查查看这个对像是不是你通过Jquery动态生成的。jQuery的html()可以给现在元素附加新的元素,innerHTML也可以,那么,如何给这些新生成的元素绑...

2011-10-19 21:24:26 222

原创 JSTL-map中key值为数字的处理方式

最好显示转化成Long型:boardMap.put((Long)b.getId(), bclist);如果写成boardMap.put(b.getId()+"", bclist);页面上写成  &lt;c:set var="boardKey" value="${board.id}"/&gt; &lt;c:forEach items="${boardMap[boardKe...

2011-10-07 23:28:52 527

原创 mybatis在oracle库插入clob对象异常

在使用mybatis进行insert操作时,出现异常。 异常信息:uncategorized SQLException for SQL []; SQL state [null]; error code [17023]; 不支持的特性; nested exception is java.sql.SQLException: 不支持的特性 之前换了三次数据库驱动,1.1M和1.3M的都出现异...

2011-09-26 21:17:04 355

原创 在resin服务器上,firefox显示js乱码的解决方案

通过firefox的查看源文件得知,jsp文件使用规定的utf-8编码,而通过&lt;script&gt;导入的js文件则使用GBK编码,无论在页面上如何设置均不能修改js编码为UTF-8编码。所以,导致乱码的存在。2、解决方案:第一步:修改conf/app-default.xml文件部分配置如下:将: &lt;servlet servlet-name="resin-f...

2011-09-24 09:30:40 107

spring3学习笔记(1)-----RequestMapping与页面路径

@RequestMapping的参数如下/** * @see RequestMapping 参数 * @param value * 需要跳转的地址 * @param mehtod * 基于RestFul的跳转参数,有RequestMethod.get post,put 等...

2011-09-23 22:28:37 89

空空如也

空空如也

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

TA关注的人

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