自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小程故事多的博客

一名工作十多年的技术老兵,永保初心!合著作品《深入分布式缓存--从原理到实践》

  • 博客(207)
  • 收藏
  • 关注

原创 关于Windows不能访问Vmware linux中WEB页面的问题

在Vmware中安装centos系统,然后安装tomcat里面放上WEB工程,在centos中使用浏览器可以访问WEB页面,但是在windows主机中却不能访问。经过研究,使用如下命令:service iptables stop  关闭防火墙,问题消失。

2016-07-06 15:15:27 883

原创 浅淡JAVA异常机制如何设计

一、异常的好处     异常带来诸多好处。首先,它将错误处理代码从正常代码(normal code)中分离出来。你可以将那些执行概率为99.9%的代码封装在一个try块内,然后将异常处理代码置于catch子句中。这种方式的好处是,正常代码因此而更简洁。     如果你不知道如何处理某个方法中的一个特定错误,那么你可以在方法中抛出异常,将处理权交给其他人。如果你抛出一个检查异常(checke

2016-07-06 15:15:20 510

原创 Nginx的upstream目前支持5种分配方式

1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2、weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。例如:以下是代码片段:upstream bakend {    server 192.168.0.14 weight=10;    server 192.168.0.15 weight=10

2016-07-06 15:15:11 1737 1

原创 在Centos下安装Nginx教程

在centos中安装nginx,官网中有很多个版本中,我试了nginx-0.8.55和nginx-0.6.39但在安装的时候总是提示各种编译错误,不管是重新编译C文件,还是修改就是不可以。 后来下载了官网的nginx-1.5.6版本,就能够安装成功。 1、首先从http://nginx.org/en/download.html下载nginx-1.5.6版本并且使用命令tar -zxvf nginx

2016-07-06 15:15:04 329

原创 NIO和IO的区别

Java NIO编程 提供了对块IO的支持,使用块IO的好处是效率更高 1.   基本 概念 IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。 所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 ) 2.    Java 标准 io 回顾 Java

2016-07-06 15:14:54 789

原创 hadoop 命令手册

hadoop 命令手册 概述所有的hadoop命令均由 bin/hadoop脚 本引发。不指定参数运行hadoop脚本会打印所有命令的描述。用法:hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]Hadoop有 一个选项解析框架用于解析一般的选项和运行类。命令选 项

2016-07-06 15:14:46 291

原创 Hadoop hdfs Shell命令 HDFS操作命令

调用文件系统(FS)Shell命令应使用 bin/hadoop fs 的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目

2016-07-06 15:14:38 931

原创 配置Hadoop集群:java.net.NoRouteToHostException: No route to host问题的解决

2012-07-04 18:43:31,479 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Call to /192.168.18.218:9000 failed on local exception: java.net.NoRouteToHostException: 没有到主机的路由

2016-07-06 15:14:29 2407

原创 hbase性能测试对比分析

数据库读写性能分析1、 单机类比集群测试测试环境:由3台服务器组成的hadoop集群组成分散式文件系统由一台单独的机器单机类比Hbase集群由一台机器单机测试Mysql测试规模:50万条记录以上,单线程、多线程测试测试结果:  HBaseMysql单线程插入 100 条记录155 m

2016-07-06 15:14:22 6897 4

原创 java常用对象的内存占用大小

这里介绍java常用对象的内存占用大小.32位和64位以及不同的jvm参数可能会导致对象大小不同. java版本     Open JDK 64-bit jvm参数     -Xmx2g -Xms2g 基本类型 对象                                                       32位大小  new Object()                  

2016-07-06 15:14:15 280

原创 分布式哈希和一致性哈希

分布式哈希和一致性哈希 分布式哈希和一致性哈希是分布式存储和p2p网络中说的比较多的两个概念了。介绍的论文很多,这里做一个入门性质的介绍。   分布式哈希(DHT)  两个key point:每个节点只维护一部分路由;每个节点只存储一部分数据。从而实现整个网络中的寻址和存储。   DHT只是一个概念,提出了这样一种网络模型。并且说明它是对分布式存储很有好处的。

2016-07-06 15:14:08 512

原创 synchronized 的不足之处

1、不能够跨越多个对象。 2、当在等待锁对象的时候,不能中途放弃,直到成功。 3、等待没有超时限制。 4、不能中断阻塞。

2016-07-06 15:14:00 269

原创 http常用状态码说明

300客户端请求一个实际指向多个资源的URL时会返回这个状态码。301在请求的URL已被移除时使用,响应的Location首部中应该包含资源现在所处的URL。 400用于告知客户端发送了一个错误的请求。 401客户端未取得认证。 403请求被服务器拒绝。404服务器无法找到所请求的URL。

2016-07-06 15:13:52 207

原创 tomcat源码流程分析(一)

上图是tomcat源码的一个执行流程,供大家参考,接下来还会分享更多的tomcat源码内容。 大小: 56.8 KB 查看图片附件

2016-07-06 15:13:45 203

原创 23种设计模式总结

下面我总结我一下我的记忆方法,希望给大家分享。 首先列出23种设计模式1 Singleton 单件 2 Abstract Factory 抽象工厂模式 3 Builder 生成器模式 4 Factory Method 工厂方法模式 5 Prototype 原型模式 6 Adapter 适配器模式 7 Bridge 桥接模式 8 Composite 组合模式 9 Decorator 装饰模式 10

2016-07-06 15:13:38 327

原创 ZooKeeper编程向导——源自官方文档

ZooKeeper编程向导——源自官方文档 介绍(源自ZooKeeper官方文档)学习HBase过程中,发现它与ZooKeeper的关系比较密切,于是专门学习了一下ZooKeeper,下面是ZooKeeper官方文档的半翻译版(我(magic-sulin)并非一字一句的照抄,而是写入了自己的理解)。此文档是为了向那些希望使用ZooKeeper协调优势自己分布式应用的人提供编程向导

2016-07-06 15:13:31 458

原创 如何安装FastDFS

目前FastDFS支持类Unix系统 ,在Linux和FreeBSD下测试过,本文使用的是Ubuntu10.4,建议安装之前先简单了解一下FastDFS的原理 ,这对后继的配置部分会有很好的理解。一、准备工作-安装libeventFastDFS 内部绑定了 libevent 作为 http 服务器 ,在V2.X版本必须安装 libevent ,本文安装的是V2.2版本,因此必须安装libe

2016-07-06 15:13:23 452

原创 五种基本memcached 命令

五种基本memcached 命令(执行最简单的操作): set: 用于向缓存添加新的键值对。如果键已经存在,则之前的值将被替换。 add :仅当缓存中不存在键时,add 命令才会向缓存中添加一个键值对。如果缓存中已经存在键,则之前的值将仍然保持相同,并且您将获得响应NOT_STORED 。 replace:仅当键已经存在时,replace 命令才会替换缓存中的键。如果缓存中不存在键,那

2016-07-06 15:13:16 401

原创 三种数据库的SQL分页

SQL Server   从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有order by,则是从排序好的结果集中选择:  SELECT *  FROM ( SELECT Top N * FROM (SELECT Top (M + N - 1) * FROM 表名称 Order by 主键 desc

2016-07-06 15:13:09 494

原创 urlRewriteFilter来实现url的美化

在appfuse的web.xml声明文件中有下面的类似声明:        rewriteFilter        org.tuckey.web.filters.urlrewrite.UrlRewriteFilter                    logLevel            commons                    rewriteFilt

2016-07-06 15:13:02 324

原创 处理HTTP响应(响应码、响应头、请求重定向、自动刷新/跳转)

我们已经对servlet有了基本的认识了。接着我们来简单看看对客户端向服务器端发送的一次请求的响应中,我们可以做哪些事。至于对于客户端的请求我们可以怎么处理,明天再讲。  通过HttpAnalyzer这个软件,对请求和响应进行跟踪后,我们可以发现:  Response Headers Value  (Status-Line)         HTTP/1.1 200 OK  Conten

2016-07-06 15:12:54 8354

原创 Tomcat并发数优化和设置

1、使用NIO在服务器端会有更好的性能,加强服务器端对并发处理的性能。  请注意:很抱歉,在tomcat6在默认的配置选项中是没有把NIO功能打开。所以很多正在使用Tomcat6的朋友们本以为能快活的使用上NIO。 而NIO则是使用单线程(单个CPU)或者只使用少量的多线程(多CPU)来接受Socket,而由线程池来处理堵塞在pipe或者队列里的请求.这样的话,只要OS可以接受TCP的连接,we

2016-07-06 15:12:46 2026

原创 Spring Url映射

普通URL路径映射 @RequestMapping(value={"/test1", "/user/create"}):多个URL路径可以映射到同一个处理器的功能处理方法。 URI模板模式映射 @RequestMapping(value="/users/{userId}"):{×××}占位符, 请求的URL可以是 “/users/123456”或 “/users/abcd”,通过6

2016-07-06 15:12:39 754

原创 心性的刚强,男人

生活不是一帆风顺的,谁都会有坎坷的时候,在遇到挫折和失败的时候,有勇气去面对和承受,总结经验教训试图扭转局面。能够承受失败的男人才是真正的男人,相信每个好男人都具有同样的勇气。

2016-07-06 15:12:32 534

原创 使用JAVA操作netty框架

之前使用过MINA框架,感觉效率非常好,使用长连接可以支持10万次以上的并发。今天尝试使用了Netty框架,感觉使用上也非常方便,具体效率问题,在接下来的博客会详细解读:NioServerSocketChannelFactory创建服务端的ServerSocketChannel,采用多线程执行非阻塞IO,和Mina的设计模式一样,都采用了Reactor模式。其中bossExecutor、

2016-07-06 15:12:25 624

原创 Oracle 中字段属性

Oracle 中字段属性:-- 说明:-- ORACLE的数据类型 -- ORACLE的数据类型-- 常用的数据库字段类型如下:-- 字段类型 中文说明 限制条件 其它说明-- CHAR 固定长度字符串 最大长度2000 bytes -- VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749-- NCHAR 根据字符集而定的固定长度字符串 最大长

2016-07-06 15:12:17 564

原创 一致性HASH算法的JAVA实现

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

2016-07-06 15:12:10 371

原创 cookie的安全性设置

为了解决XSS(跨站脚本攻击)的问题,IE6开始支持cookie的HttpOnly属性,这个属性目前已被大多数浏览器(IE、FF、Chrome、Safari)所支持。当cookie中的HttpOnly属性被设置为true时,前端脚本就无法访问或操作cookie了(只能通过后台访问),这样XSS就失效了。在PHP中,cookie的HttpOnly有两种设置方式。  方法一:h

2016-07-06 15:12:03 333

原创 用JAVA操作RabbitMQ

public class Sender { private final static String QUEUE_NAME = "hello"; public static void main(String[] args) throws IOException { ConnectionFactory factory = new ConnectionFact

2016-07-06 15:11:56 501

原创 在什么情况下使用JAVA缓存

在什么情况下使用缓存呢? 1、经常变化的数据,但是不需要立刻进行持久化的。 2、经常被大量的读取,很少进行更新操作的。 3、大量的数据库IO操作。 4、一些通用的页面,例如JS、CSS、图片等。 5、统计和计算需要暂存的信息,需要加快计算的。

2016-07-06 15:11:49 1304

原创 利用JAVA操作Redis

import org.junit.After;import org.junit.Before;import org.junit.Test;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;impo

2016-07-06 15:11:40 225

原创 NOSQL的总结感想

NoSQL主要用于解决以下几种问题少量数据存储,高速读写访问。此类产品通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景。海量数据存储,分布式系统支持,数据一致性保证,方便的集群节点添加/删除。这方面最具代表性的是dynamo和bigtable 2篇论文所阐述的思路。前者是一个完全无中心的设计,节点之间通过gossip方

2016-07-06 15:11:33 570

原创 ExecutorService和CompletionService的区别

我们现在在Java中使用多线程通常不会直接用Thread对象了,而是会用到java.util.concurrent包下的ExecutorService类来初始化一个线程池供我们使用。之前我一直习惯自己维护一个list保存submit的callable task所返回的Future对象。在主线程中遍历这个list并调用Future的get()方法取到Task的返回值。 但是,我在很多

2016-07-06 15:11:25 246

原创 Volatile的用法范围

Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。这样当多个线程同时与某个对象交互时,就必须要注

2016-07-06 15:11:18 501

原创 eBay的分布式数据访问实践

eBay的分布式数据访问实践         由祝文兵讲解的《eBay的分布式数据访问实践》实际上就是一个数据访问中间层与之前曹政讲的《分布式数据库及反范式设计》有相似之处,下面我将大会上的简要内容加上我个人的一些理解与大家进行分享。       此数据库访问中间层实际上就是水平划分多个数据库,根据不同的策略选择不同的数据源进行操作。具体选择策略有以下二种方法如下: 

2016-07-06 15:11:11 610

原创 关于字节序的讨论

字节序,顾名思义就是字节存放的顺序字节序分为两种:BIG-ENDIAN----大字节序LITTLE-ENDIAN----小字节序BIG-ENDIAN、LITTLE-ENDIAN与多字节类型的数据有关的比如int,short,long型,而对单字节数据byte却没有影响。BIG-ENDIAN就是最低地址存放最高有效字节。LITTLE-ENDIAN是最低地址存放最低有效

2016-07-06 15:11:04 396

原创 成为项目经理的关键

项目经理,从以前一个令人羡慕的职位到现在的烂街,各行各业,各色人等,我们都可以看到项目经理的身影。盖房子搞建筑的,总包分包,大大小小的项目经理无数;新房装修,也是项目经理带着几个小弟出来混的,软件行业里,项目经理就更是一抓一大把。当然,相对于项目经理,下面具体干活的小弟更是多得数不清。因此,更多做技术的工程师们,职位晋升的首选,就是项目经理。为什么?其实回答都差不多:搞技术搞不了一辈子,年纪大了就

2016-07-06 15:10:56 417

原创 如何缩小与“大牛”之间的差距

为什么同样的时间有的人可以漂亮的完成工作,而有些人废了很大的力气也没有完成?前者我们常常称之为“大牛”,后者我们常常叫他们“菜鸟”。当然“大牛”都是相对而言的,“大牛”也不可能方方面面都非常厉害,换句话说大牛也不一定会沙王摇大,也不一定会船长放水。所谓的“大牛”他们只是在某些方面比我们强而已。但是值得注意的是,学习能力很强,效率普遍很高是一般“大牛”的共同特点。是哪些因素造成了我们与“大牛

2016-07-06 15:10:49 554

原创 Mina实现同步设置

mina是个异步通信框架,一般使用场景是服务端开发,长连接、异步通信使用mina是及其方便的。 对于并发量不高的场景,现在流行使用短连接:每次连接只进行一次通信,即连接-发送-接收-断开。此种模式的通信客户端,能否使用mina开发?答案是肯定的。 mina典型应用,需要实现IoHanlder接口,当收到消息时,此接口的messageReceived方法被触发,开发人员实现此方法即可

2016-07-06 15:10:40 1958

原创 什么样的员工最受老板欢迎,真的是自我感受

什么样的员工在公司,最容易受老板受老大的赏识,最容易高升?你问不同的老大,兴许会有不同的答案,有的会列举好些。对于脑子正常,脑子不进水的老大来说,有一类员工一定会受欢迎。那就是能保证结果的!      什么叫能保证结果?      简单说,就是交给TA做的事情,能做好,有时甚至还常有意外惊喜。兴许,你会想:不可能每件事情都能做好吧?恭喜你!你能这么想,说明你脑子还是挺正常的,有潜力。     

2016-07-06 15:10:33 890

空空如也

空空如也

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

TA关注的人

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