自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【转】Java HashMap的死循环问题

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp94在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的Has...

2014-04-10 17:12:18 127

原创 HashMap和ConcurrentHashMap对null的不同处理

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp93 HashMap的键值对都可以为nullConcurrentHashMap的键值对都不可以为null

2014-04-10 15:45:29 182

原创 URL 中,查询字符串与HTML实体冲突,可能带来的问题.

 转自:http://www.cnblogs.com/_franky/archive/2012/09/28/2706512.htmlIE10+, Safari5.17+, Firefox4.0+,Opera12+, Chrome7+ 已经按新标准实现. 所以就没有这个问题了. 参考标准 : http://www.w3.org/html/ig/zh/wiki/HTML...

2014-04-10 14:43:05 132

原创 CGLIB 动态代理的实现

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp92 JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢,这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。J...

2014-04-08 16:35:17 97

原创 【转】Spring AOP 实现之CGLIB

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp91  cglib(Code Generation Library)是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。cglib封装了asm,可以在运行期动态生成新的class。cglib用于AOP,jdk中的pro...

2014-04-08 16:30:54 95

原创 使用spring框架处理编码问题

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp90 我们在开发时,经常要对中文字符进行处理,进行处理中文字符的方式也有很多种,可以转码工具类,设置过滤器进行转码等等。在使用到spring框架时,我们可以直接在web.xml配置文件下,添加如下配置,进行字符的处理(设置过滤器):<filter&gt...

2014-04-01 23:20:12 120

原创 SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp89SELECT INTO 和 INSERT INTO SELECT 两种表复制语句      Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,....

2014-03-31 18:15:27 140

原创 Oracle数据库悲观锁与乐观锁详解

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp88Oracle数据库悲观锁与乐观锁详解Oracle数据库悲观锁与乐观锁是本文我们主要要介绍的内容。有时候为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。为了解决这个问题,大多数数据库用的方法就是数据的锁定。数据...

2014-03-31 18:11:58 119

原创 探索 ConcurrentHashMap 高并发性的实现机制

很不错的一篇文章,值得一看http://www.ibm.com/developerworks/cn/java/java-lo-concurrenthashmap/

2014-03-31 17:54:49 103

原创 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法

并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需...

2014-03-25 22:28:58 107

原创 [转]RMI方式Ehcache集群的源码分析

RMI方式Ehcache集群的源码分析 Ehcache不仅支持基本的内存缓存,还支持多种方式将本地内存中的缓存同步到其他使用Ehcache的服务器中,形成集群。如下图所示: Ehcache支持多种集群方式,下面以RMI通信方式为例,来具体分析一下Ehcache集群的源码。 1服务ProviderEhcache支持两种服务发现方式:一种是通过广...

2014-03-25 22:27:49 296

原创 [转]Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom

 详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp84Random即:java.util.Random,ThreadLocalRandom 即:java.util.concurrent.ThreadLocalRandomSecureRandom即:java.security.SecureRandomQ:...

2014-03-25 22:08:02 129

原创 [转]Java7中的ForkJoin并发框架初探(下)—— ForkJoin的应用

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp86 前两篇文章已经对Fork Join的设计和JDK中源码的简要分析。这篇文章,我们来简单地看看我们在开发中怎么对JDK提供的工具类进行应用,以提高我们的需求处理效率。Fork Join这东西确实用好了能给我们的任务处理提高效率,也为开发带来方便。但For...

2014-03-19 15:47:36 157

原创 [转]Java7中的ForkJoin并发框架初探(中)——JDK中实现简要分析

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp85 根据前文描述的Doug Lea的理论基础,在JDK1.7中已经给出了Fork Join的实现。在Java SE 7的API中,多了ForkJoinTask、ForkJoinPool、ForkJoinWorkerThread、RecursiveAction、...

2014-03-19 15:46:17 158

原创 [转]Java7中的ForkJoin并发框架初探(上)——需求背景和设计原理

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp83这篇我们来简要了解一下JavaSE7中提供的一个新特性 —— Fork Join 框架。0. 处理器发展和需求背景回想一下并发开发的初衷,其实可以说是有两点,或者说可以从两个方面看。对于单核的处理器来说,在进行IO操作等比较费时的操作进行时,如果执...

2014-03-19 15:44:54 129

原创 [转] Java se 7新特性研究(二)

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp82 今天主要研究Java se 7中异常处理的新功能.从今天开始正在将jdk7的说法改为java se 7跟oracle官网的一致一、新增了try-with-resource 异常声明在JDK7中只要实现了AutoCloseable或Closeable...

2014-03-19 11:38:50 99

原创 [转]Java se 7 最新特性研究(一)

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp81 从2006到现在等待了多年的jdk7终于发布了.这里将对它的一些新特做一些初步的研究:jdk7 相对于jdk6主要在以一几个方面有了非常显著的改进的提升:首先分析其对java语言本身的改进:二进制表示的支持(Binary Literals)的支...

2014-03-19 11:37:21 103

原创 B树及B+树

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp80B树及B+树一、B树1、B树的定义    B树是一种平衡的多分树,通常我们说m阶的B树,它必须满足如下条件:    (1)每个结点至多有m个子结点;    (2)除根结点和叶结点外,其它每个结点至少有 个子结点;    (3)若根结点不是叶子...

2014-03-11 16:25:44 209

原创 CountDownLatch和CyclicBarrier 特点比较

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp79 并发编程中的CountDownLatch和CyclicBarrier 继上篇文章 http://grefr.iteye.com/admin/blogs/2020812(CyclicBarrier介绍)CountDownLatch和CyclicBar...

2014-03-09 17:20:57 125

原创 Hash表分析

http://baike.baidu.com/link?url=Ua74895uGf1NuPxB4pawmuAXedi427jJvM6aSLh_V1-23ptlMc7XIrr_cylIBn5d

2014-03-08 22:43:14 112

原创 聊聊并发-Java中的Copy-On-Write容器

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp78 聊聊并发-Java中的Copy-On-Write容器 Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后...

2014-03-08 12:20:45 227

原创 利用HTML5的window.postMessage实现跨域通信

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp77 HTML5的window.postMessage简述postMessage是html为了解决跨域通信,特别引入的一个新的API,目前支持这个API的浏览器有:Firefox, IE8+, Opera, Safari, Chrome。postMessag...

2014-03-07 17:47:36 137

原创 vim代码粘贴缩进混乱的问题[Linux]

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp76 直接在vim插入模式下粘贴:直接粘贴,剪贴板上的每个字符都相当于手动输入,再加上vim的自动缩进,所以缩进就会累积如果vim还支持自动连续注释,如上图,每行代码都自动加上了注释解决办法:在粘贴前先设置进入粘贴插入模式,即不会自动缩进和连...

2014-03-06 16:07:55 251

原创 window.onerror 应用实例

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp75 window.onerror = function(sMessage,sUrl,sLine){};onerror函数的三个参数用于确定错误确切的信息,代表的意思依次为:错误信息;发生错误的文件;发生错误的行号。示例:<SCRIPT>...

2014-03-05 17:44:19 159

原创 js文件引用方式及其同步执行与异步执行

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp74 任何以appendChild(scriptNode) 的方式引入的js文件都是异步执行的 (scriptNode 需要插入document中,只创建节点和设置 src 是不会加载 js 文件的,这跟 img 的与加载不同 )   html文件中的<s...

2014-03-03 14:44:29 294

原创 js变量以及其作用域详解

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp73 一、变量的类型   Javascript和Java、C这些语言不同,它是一种无类型、弱检测的语言。它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量。例如:i=100;//Number类型 i="varia...

2014-03-03 14:43:16 118

原创 HashMap 底层算法分析

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp72Hash算法HashMap使用Hash算法,所以在解剖HashMap之间,需要先简单的了解Hash算法,Hash算法一般也成为散列算法,通过散列算法将任意的值转化成固定的长度输出,该输出就是散列值,这是一种压缩映射,也就是,散列值的空间远远小于输入的值空间。简...

2014-02-26 16:30:33 115

原创 Java 类的热替换 —— 概念、设计与实现

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp71 Java 类的热替换 —— 概念、设计与实现构建基于 Java 的在线升级系统对于许多关键性业务或者庞大的 Java 系统来说,如果必须暂停系统服务才能进行系统升级,既会大大影响到系统的可用性,同时也增加了系统的管理和维护成本。因此...

2014-02-26 14:26:21 131

原创 CyclicBarrier和CountDownLatch介绍

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp70CyclicBarrier介绍 (一)一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用...

2014-02-24 00:25:23 147

原创 JS 正则表达式

 正则表达式中的特殊字符字符含意\做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。^匹配一个输入或...

2014-02-20 13:42:16 121

原创 Http get方式url参数长度以及大小

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp69众所周知, 传递小量参数(在没有其他原因,例如隐藏参数值的情况下)推荐使用GET方法,传递大量参数推荐使用POST方法。原因是什么呢?原因是传说中GET方法是通过URL来传递,而URL的长度是受限的,而POST方法采用流的方式,理论上可以传递的容量是没有限制...

2014-02-17 14:08:59 1076

原创 Cassandra HBase和MongoDb性能比较

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp68这是一篇基于亚马逊云平台上对三个主流的NoSQL数据库性能比较,在读写两个操作不同的组合情况下性能表现不同。横坐标是吞吐量,纵坐标是延迟,这是一对矛盾,吞吐量越大,延迟越低,代表越好。1. 纯粹插入,Cassandra领先,见下图:2.WorkloadA: 读修改...

2014-02-15 17:04:33 177

原创 JS类的封装及实现代码

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp67JS类的封装及实现代码js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Shape类.js并不是一种面向对向的语言, 没有提...

2014-02-14 11:54:04 106

原创 js script放在head和body里面的区别

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp66     java script放在head和body的区别  1,在head中时,所代表的functions只加载而不执行,执行是在某一事件触发后才开始。 2,在body中时,直接加载并执行典型的区别:如果有不在函数中的执...

2014-02-08 17:47:14 160

原创 java 静态方法分析

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp65 1、大家都以为“实例方法需要先创建实例才可以调用,比较麻烦,静态方法不用,比较简单” 事实上如果一个方法与他所在类的实例对象无关,那么它就应该是静态的,而不应该把它写成实例方法。所以所有的实例方法都与实例有关,既然与实例有关,那么创建实例就是必然的步骤,没...

2014-01-22 16:46:17 172

原创 js并行加载,顺序执行

js并行加载,顺序执行<script>运行脚本或加载外部文件时,会阻塞页面渲染,阻塞其他资源的加载。如果页面中需要加载多个js文件,在古老浏览器中性能会比较糟糕。 因此有了最原始的优化原则:把脚本放在底部。如何实现js非阻塞、并行加载,甚至能保持执行顺序呢?各浏览器表现如何?站在巨人的肩膀上,Kyle Simpson、Nicholas C. Zakas和Steve Sou...

2014-01-21 17:50:08 336

原创 sql优化策略之索引失效情况二

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp63 接第一篇索引失效分析:http://grefr.iteye.com/blog/19884461.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行...

2014-01-20 18:16:26 132

原创 js操作cookie 使用详解

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp62 JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求。 cookie是浏览器 提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript...

2014-01-17 16:41:22 111

原创 CDN架构以及原理分析

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp61 在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应速度、优化现有Internet中信息的流动,需要在用户和服务器间加入中间层CDN. 使用户能以最快的速度,从最接近用户的地方获得所需的信息,彻底解决网络拥塞,提高响应速度,是目前大型网站使用的流...

2014-01-15 11:40:47 164

原创 RMI,RPC,SOAP对比分析

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp60 1、RMI    使用java的程序员,对于RMI(RemoteMethod Invoke,远程方法调用)一定不陌生,在java中,为了在分布式应用开发时,能够方便调用远程对象,java提供了RMI的API。在 RMI 中,远程对象按照好象它是本地行事...

2014-01-02 11:29:27 122

空空如也

空空如也

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

TA关注的人

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