自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

南山一梦的博客

关注高并发、高性能、高可用分布式应用,专注于互联网架构、Java、NOSQL以及J2EE技术

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

转载 Nginx后端节点健康检查

公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查。目前,nginx对后端节点健康检查的方式主要有3种,这里列出:1、ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带) 官网地址:http://nginx.org/cn/docs/http/ngx_http_proxy_module.

2015-11-24 17:27:15 6787 1

原创 MongoDB集群读优先策略

目前我们项目中使用的MongoDBJava客户端版本为2.9.1,这次的读写分离改造是基于2.9.1的。目前MongoDB已经发布了最新的3.0版本,对应的Java客户端是3.0.1,3.0版本在以前MongoDB.8版本上进行了重大的改造,进行了许多的优化和升级,包含插件式的存储引擎(类似于MySQL的架构),硬盘数据压缩,MVCC的支持,复制集升级等等,数据的读写性能都有很大的提升

2015-08-06 10:31:54 4545

转载 深入分析 Java 中的中文编码问题

几种常见的编码格式为什么要编码?不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言。由于人类的语言有太多,因而表示这些语言的符号太多,无法用计算机中一个基本的存储单元—— byte 来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解。我们可以把计算机能够理解的语言假

2015-03-17 10:06:44 498

原创 SpringMVC核心控制器DispatcherServlet类结构源码阅读

SpringMVC是近年来出现的一个非常优秀的web框架,它是基于MVC思想设计的,采用松散耦合可插播组件结构,比其他的MVC框架更加灵活,更具可扩展性,此外SpringMVC在视图解析、数据绑定等方面等有着非常不错的表现,而已成为当今最受欢迎的MVC框架。1体系结构SpringMVC的核心是DispatcherServlet,它主要用于接收请求后,协调各个组件完成对请求的响应。和其他J2

2015-03-13 15:59:07 5128

转载 为什么volatile不能保证原子性而Atomic可以?

在上篇《非阻塞同步算法与CAS(Compare and Swap)无锁算法》中讲到在Java中long赋值不是原子操作,因为先写32位,再写后32位,分两步操作,而AtomicLong赋值是原子操作,为什么?为什么volatile能替代简单的锁,却不能保证原子性?这里面涉及volatile,是java中的一个我觉得这个词在Java规范中从未被解释清楚的神奇关键词,在Sun的JDK官方文档是这样形容

2015-03-12 15:28:28 614

转载 非阻塞同步算法与CAS(Compare and Swap)无锁算法

锁(lock)的代价锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。操作系统对多线程的锁进行判断就像两姐妹在为一个玩具在争吵,然后操作系统就是能决定他们谁能拿到玩具的父母,这是很慢的。用户态

2015-03-12 15:11:32 1225

转载 从LongAdder 看更高效的无锁实现

接触到AtomicLong的原因是在看guava的LoadingCache相关代码时,关于LoadingCache,其实思路也非常简单清晰:用模板模式解决了缓存不命中时获取数据的逻辑,这个思路我早前也正好在项目中使用到。言归正传,为什么说LongAdder引起了我的注意,原因有二:1. 作者是Doug lea ,地位实在举足轻重。2. 他说这个比AtomicLong高效。我们知道,

2015-03-12 13:49:49 834

原创 MyISAM以及InnoDB引擎默认排序方式

今天在review代码查看SQL语句时突然对没有指定排序方式的SQL语句返回怎样的排序结构感兴趣!在某些场景中返回结果中的元素到底是按照什么顺序以什么字段排序的将直接影响到整个业务是否正确。例如myBatis中语句如下:

2014-09-23 14:02:41 5821

原创 Lua+Nginx+Memcached整合

Lua+Nginx+Memcached(Redis)整合说明文档1基本介绍 1.1Lua简介       Lua是轻量级的脚本语言,由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua主要有三种用户,即适用嵌入到某个程序中的Lua用户,适用Lua解释器程序的用户以及同时使用C和Lua的用户。       同时Lua作为脚本语言,主要有以下几个特性:

2014-09-23 10:36:25 3337

空空如也

空空如也

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

TA关注的人

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