自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

maikelsong的专栏

一天不进步,就是退步

  • 博客(40)
  • 资源 (7)
  • 收藏
  • 关注

转载 JAVA设计模式之单例模式

本文继续介绍23种设计模式系列之单例模式。概念:  java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。  单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并

2016-07-26 16:32:29 193

转载 不使用构造方法创建Java对象 Objenesis

如果一个类没有参数为空的构造方法时候,那么你直接调用newInstance方法试图得到一个实例对象的时候是会抛出异常的。能不能有 办法绕过构造方法来实例化一个对象呢?Objenesis 为其提供了在四个不同的jvm上的解决方案。 Sun Hotspot VM, versions 1.3, 1.4, 1.5 and 1.6 GCJ version 3.4.4 (tested on W

2016-07-22 16:19:21 1795

转载 对程序员来说,提高薪水最好的建议是什么?

What is the best career advice for a software developer to earn a higher salary?  对程式设计师来说,提高薪水最好的建议是什么?      1、Make Computer Science fundamentals very strong ,mainly Data Structure &

2016-07-22 15:36:55 376

转载 高并发系统之限流特技:有了它,京东6.18如虎添翼!

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限

2016-07-21 17:19:17 904

转载 事务的四种隔离级别

Innodb引擎室mysql server中支持事务的存储引擎之一,自然也是支持四种事务隔离级别的read uncommitted,read commit,repeatable readserializable,下面就分别最四种隔离级别在实现的锁机制做一个简介:serializable:1:这种隔离级别对数据的要求最为严格,自然也是性能最

2016-07-20 11:55:48 316

转载 一分钟教你知道乐观锁和悲观锁的区别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人

2016-07-20 11:49:46 1097

转载 mq-订单创建流程通知

2016-07-14 22:09:30 2089

原创 推荐系统

2016-07-14 22:03:38 244

原创 hadoop-hbase 关系

Hadoop 是一个能够对大量数据进行分布式处理的软件框架。HBase是一个分布式的、面向列的开源数据库。HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

2016-07-14 21:49:35 1183

转载 Java 多线程并行处理大文件( 淘宝2012校招技术笔试题 )

问题:统计一个单词可重复的英文文件(假设4G)中每个单词出现的次数,把结果按照英文排序放入一个文件中。并能够检索特定单词的出现次数。由于文件过大,不重复单词总数有限,需要考虑到执行速度和内存使用情况。(淘宝笔试技术题)——————————————————————————————————————————————————————————     import java.io.File;  

2016-07-14 20:53:22 2735 1

转载 怎么来设计一个秒杀系统

x

2016-07-14 20:18:51 400

原创 常用学术术语

IOPS : IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡量随机访问的性能

2016-07-14 17:24:43 2223

转载 ActiveMQ学习总结(8)——消息队列设计精要

http://blog.csdn.net/u012562943/article/details/51819761消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的No

2016-07-14 16:58:33 6015

转载 RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总

MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。第一部分:RabbitMQ,ActiveMq,ZeroMq比较1、 TPS比较 一ZeroMq 最好,RabbitMq 次之, ActiveMq 最差。这个结论来自于以下这

2016-07-14 16:43:36 699

转载 消息队列设计的精髓基本都藏在本文里了

王烨,现在是美团旅游后台研发组的程序猿,之前曾经在百度、去哪和优酷工作过,专注Java后台开发。对于网络编程和并发编程具有浓厚的兴趣,曾经做过一些基础组件,也翻过一些源码,属于比较典型的宅男技术控。期待能够与更多知己,在coding的路上并肩前行~当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、

2016-07-14 16:37:34 3345

转载 使用Akka的Actor和Future简单地实现并发处理

应用场景:服务端要处理大量的客户端的请求,并且处理请求耗费较长的时间。这时就需要使用并发处理。多线程是一种方法,这里使用Akka框架处理并发。(以下代码在Groovy1.7.5、akka-actors-1.2下运行成功)这里有三个角色:Client、Master、Worker Client傻乎乎地发同步请求给Master,一直等到结果返回客户端才离开。 Master接收客户端发来的

2016-07-14 16:33:30 1010

转载 Scala - Akka

Scala是一门多范式的编程语言,一种类似java的编程语言[1]  ,设计初衷是实现可伸缩的语言[2]  、并集成面向对象编程和函数式编程的各种特性。

2016-07-14 16:32:27 270

转载 Oracle 增加修改删除字段

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);删除字段的语法:alter tab

2016-07-12 11:17:04 214

转载 设计模式

从七月份开始一直到九月底才看完设计模式,在这个过程中我不敢说我已经掌握了那本书里面的内容,或者说1/5,没能力说也没有资格说。但是结果不重要,重要的是这个过程我的收获!主要包括如下几个方面:      1、认识了这么多设计模式。刚刚接触java没多久就在学长那里听过设计模式的大名,但是由于能力有限,一直不敢触碰。而今有幸将其都认识了。      2、开始有设计的理论了。在接触设计模

2016-07-06 14:57:53 313

转载 怎样写好一份IT技术岗位的简历

10月是校园招聘的旺季,很多应届毕业生都忙碌起来了,从CSDN笔试-面试文章的火热程度,从我收到的简历就看得出来。我很久没有参与笔试和面试了,所以只能从“简历”来阐述下我的看法。截至目前,已经帮8位同学看了简历,指出了简历中的一些问题,也给出了自己的建议。说实话,我也担心自己的判断不准,误人子弟。毕竟,自己没有作为HR和技术经理参与过简历的筛选、求职者的笔试和面

2016-07-06 14:41:31 2937 1

转载 电子商务系统的设计与实现(十一):数据库设计

用户相关  malling_user:前端商城系统的用户,用户名、密码等  malling_user_delivery_address,用户的收获地址,一个用户可以有多个收获地址  malling_admin_user:后端系统的用户,与前端系统没有关系  malling_admin_role:后端系统用户的角色,超级管理员、管理员等  malling_ad

2016-07-06 14:36:36 1578

转载 B-Tree, B+Tree, B*树介绍

【摘要】      最近在看Mysql的存储引擎中索引的优化,神马是索引,支持啥索引.全是浮云,目前Mysql的MyISAM和InnoDB都支持B-Tree索引,InnoDB还支持B+Tree索引,Memory还支持Hash.今天从最基础的学起,学习了解BTree,B-Tree和B+Tree。【主题】B-Tree 介绍B-Tree 特性搜索插入等B+Tree 介绍B*Tre

2016-07-06 14:14:46 260

转载 Java提高篇(三二)-----List总结

前面LZ已经充分介绍了有关于List接口的大部分知识,如ArrayList、LinkedList、Vector、Stack,通过这几个知识点可以对List接口有了比较深的了解了。只有通过归纳总结的知识才是你的知识。所以下面LZ就List接口做一个总结。推荐阅读:        java提高篇(二一)-----ArrayList        java提高篇(二二)-----Li

2016-07-05 18:19:59 254

转载 Java提高篇(三四)-----fail-fast机制

在JDK的Collection中我们时常会看到类似于这样的话:        例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationException。因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器

2016-07-05 18:09:49 188

转载 StringBuffer、StringBuilder、ArrayList、Vector、HashMap、HashTable是如何扩容的

StringBuffer、StringBuilder默认初始化是16个字符,默认增容为(原长度+1)*2,代码如下: //默认初始化大小public StringBuilder() {super(16);}// 默认扩容int newCapacity = (value.length + 1) * 2; ArrayList、Ve

2016-07-05 17:23:05 390

转载 java提高篇(二五)-----HashTable

有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,value)方法保存起来,然后通过get(key)方法获取相对应的value值。一个是前面提到的HashMap,还有一个就是马上要讲解的HashTable。对于HashTable而言,它在很大程度上和HashMap的实现差不多,如果我们对HashMap比较了解的话,对Has

2016-07-05 17:17:18 252

转载 Java提高篇(二六)------hashCode

在前面三篇博文中LZ讲解了(HashMap、HashSet、HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最精华的部分,所以下面LZ揭开hashCode的“神秘”面纱。      hashCode的作用      要想了解一个方法的内在原理,我们首先需要明白它是干什么的,也就是这个方法的作用。在讲解数组

2016-07-05 17:05:57 222

转载 Java提高篇(三三)-----Map总结

在前面LZ详细介绍了HashMap、HashTable、TreeMap的实现方法,从数据结构、实现原理、源码分析三个方面进行阐述,对这个三个类应该有了比较清晰的了解,下面LZ就Map做一个简单的总结。        推荐阅读:        java提高篇(二三)—–HashMap        java提高篇(二五)—–HashTable        Java提

2016-07-05 15:41:46 218

转载 java提高篇(二三)-----HashMap

>>>>>>>>>>原文参见:http://cmsblogs.com/?p=176      HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value

2016-07-05 15:26:07 229

转载 -TreeMap

TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的了解,其实这篇博文的名字叫做:根据红黑树的算法来分析TreeMap的实现,但是为了与Java提高篇系列博文保持一致还是叫做TreeMap比较好。通过这篇博文你可以获得如下知识点:       1、红黑树的基本概念。       2、红黑树增加节点、删除节点的实现过程。       3、红黑

2016-07-05 14:09:06 334

原创 ThreadPoolExecutor参数说明

ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,BlockingQueue workQueue) 核心和最大池大小1.运行的线程2.运行的线程>corePoolSize && 运行的线程3.如果corePoolSize==maximumPo

2016-07-05 11:03:53 382

转载 位运算符及其应用

一、C语言的六种位运算符:& 按位与| 按位或^ 按位异或~ 取反左移>> 右移 1.   按位与运算按位与运算符"&"是双目运算符。        其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。例如:9&5可写算式如下: 0000

2016-07-04 18:22:42 279

转载 海量数据处理算法—Bit-Map

1. Bit Map算法简介        来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。2、 Bit Map的基本思想        我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这

2016-07-04 18:22:02 237

转载 海量数据处理

海量数据处理是基于海量数据上的存储、处理、操作。       所谓海量,就是数据量很大,可能是TB级别甚至是PB级别,导致无法一次性载入内存或者无法在较短时间内处理完成。面对海量数据,我们想到的最简单方法即是分治法,即分开处理,大而化小,小而治之。我们也可以想到集群分布式处理。1 海量数据的存储:为大数据分析做准备传统关系型数据库

2016-07-04 18:21:03 368

转载 海量数据处理 算法总结

1. Bloom Filter【Bloom Filter】Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有可能会出现错误判断,但不会漏掉判断。也就是Bloom Filter判断元素不再集合,那肯定不在。如果判断元素存在集合中,

2016-07-04 17:53:53 1227

转载 海量数据处理算法—Bloom Filter

1. Bloom-Filter算法简介        Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。       Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有

2016-07-04 17:52:08 327

转载 一致性哈希算法与Java实现

一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,则其他缓存就失效了。    因此,引入了一致性哈希算法:

2016-07-04 17:13:13 276

转载 MurmurHash

看Jedis的主键分区哈希时,看到了名字很萌很陌陌的MurmurHash,谷歌一看才发现Redis,Memcached,Cassandra,HBase,Lucene都用它。

2016-07-04 17:01:15 529

原创 多线程应用场景

1.例如Tomcat的线程池的最大Thread数为4, 现在需要执行的任务有1000个(理解为有1000个用户点了你的网站的某个功能)。

2016-07-04 17:00:06 1183 1

转载 MySQL页以及每秒读写量评估的疑问

老师在视频中讲“由于MySQL数据读写操作按照页来处理,页大小为16KB,假设每次操作的页都不相同。那么每秒写操作数据量为:16KB*2000/s = 32M/s,每秒读操作数据量为:16KB*8000/s = 128M/s”是取了个平均值吗?"这个select/insert/update/delete可能都会读取多个页,这个还要分内存命中跟没有命中的关系。如果命中了,那么

2016-07-04 15:05:10 3318

Spring in action中文版

Spring in action中文版Spring in action中文版Spring in action中文版

2009-05-07

程序员常用JavaScript特效.chm

程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm程序员常用JavaScript特效.chm

2009-02-13

开发中用到的Flash图形开发

Flash图形开发Flash图形开发开发中用到的Flash图形开发开发中用到的Flash图形开发开发中用到的Flash图形开发

2009-02-13

物流管理物流管理物流管理物流管理

交换机的发生的 大斗法的说法多发达手动阀的身份

2008-10-17

ARP防火墙

很好用哦。还是单机版的。

2007-12-16

空空如也

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

TA关注的人

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