2015年5月11日
摘要: 什么是MBeanServer MBeanServer是一个包含所有注册MBean的仓库.它是JMX代理层的核心.JMX1.0规范提供一个接口叫 javax.management.MBeanServer. 所有管理的在MBean操作通过MBeanServer执行.使用MBeanServer实例,你能够 阅读全文
posted @ 2015-05-11 20:32 duanxz 阅读(9077) 评论(0) 推荐(1)
摘要: 通过前面的篇章我们知道 synchronized 底层实际上通过JVM来实现的,同一时间只能有一个线程去执行synchronized 中的代码块。 一、原子性 原子性:既然同一时间只有一个线程去运行里面的代码,那么这个操作就是不能被其它线程打断的,所以这里天然就具有原子性了。 二、可见性 我们继续来 阅读全文
posted @ 2015-05-11 16:05 duanxz 阅读(1483) 评论(1) 推荐(3)
摘要: 一、Java源代码级别 synchronized(对象) 字节码层级 使用idea插件jclasslib插件查看字节码,我们以之前代码为例 在字节码层面是以monitorenter作为开始锁的开始,以moniterexit作为结束。 汇编级别 我们使用hsdis工具对Java源码进行反编译为汇编代码 阅读全文
posted @ 2015-05-11 14:03 duanxz 阅读(6087) 评论(1) 推荐(3)
摘要: 1、什么是架构和架构本质 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。 此君说的架构和彼君理解的架构未必是一回事。 我们主要针对互联网服server系统(类似网站)来定义架构:架构是系统的骨架,支撑和链接各个部分,包括组件、连接件、约束规范,以及指导这些内容设计与演化的原理。 阅读全文
posted @ 2015-05-11 14:02 duanxz 阅读(1836) 评论(0) 推荐(0)
摘要: 1 各种锁的概念与实现与实现原理1.1 悲观锁VS乐观锁1.1.1 概念:1.1.2 实现:1.1.3 原理:1.2 公平锁VS非公平锁1.2.1 概念:1.2.2 实现:1.2.3 实现:1.3 重入锁VS不可重入锁1.3 .1 概念:1.3 .2 实现:1.3 .3 实现:1.4 共享锁VS排它 阅读全文
posted @ 2015-05-11 13:56 duanxz 阅读(1402) 评论(0) 推荐(0)
摘要: Kryo是一个序列化框架。Kryonet是一个基于kryo的RPC框架,它实现了一套高效简洁的API,它通过NIO实现了TCP和UDP通讯,目前还不支持Http。自己写了一个测试代码,运行了下,感觉还不错,记录下来。1、listenerpackage com.mytestcodes.kryonet;... 阅读全文
posted @ 2015-05-11 13:55 duanxz 阅读(2096) 评论(0) 推荐(0)
摘要: Spring让Hessian变得不但强大,而且易用,但是易用背后,却有不少陷阱!这个例子很简单,但实际上的确花费了我超过一小时的时间,排除了种种问题,最后问题终于水落石出。整合以上篇Hello Hessian为基础,加入Spring框架,进行改进。一、环境jdk1.5http://labs.xiao... 阅读全文
posted @ 2015-05-11 12:40 duanxz 阅读(760) 评论(0) 推荐(0)
摘要: Hessian是什么Hessian类似Web Service,是一种高效简洁的远程调用框架。Hessian的主页:http://hessian.caucho.com/有关网上的对Hessian的评价很高,下面摘录了一段:相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议(... 阅读全文
posted @ 2015-05-11 12:39 duanxz 阅读(1126) 评论(0) 推荐(0)
摘要: 背景在使用Protostuff进行序列化的时候,不幸地遇到了一个问题,就是Timestamp作为字段的时候,转换出现问题,通过Protostuff转换后的结果都是1970-01-01 08:00:00,这就造成了Timestamp不能够序列化。于是Google了一番,得知可以用Delegate来解决 阅读全文
posted @ 2015-05-11 12:35 duanxz 阅读(736) 评论(0) 推荐(0)
摘要: 简介:优点缺点Kryo速度快,序列化后体积小跨语言支持较复杂Hessian默认支持跨语言较慢Protostuff速度快,基于protobuf需静态编译Protostuff-Runtime无需静态编译,但序列化前需预先传入schema不支持无默认构造函数的类,反序列化时需用户自己初始化序列化后的对象,... 阅读全文
posted @ 2015-05-11 12:20 duanxz 阅读(3972) 评论(0) 推荐(0)
摘要: 一 前言 死锁,其实是一个很有意思也很有挑战的技术问题,大概每个DBA和部分开发同学都会在工作过程中遇见 。关于死锁我会持续写一个系列的案例分析,希望能够对想了解死锁的朋友有所帮助。二 案例分析2.1 环境说明MySQL 5.6 事务隔离级别为RR CREATE TABLE `ty` ( `id`  阅读全文
posted @ 2015-05-11 11:50 duanxz 阅读(995) 评论(0) 推荐(0)
摘要: Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atla 阅读全文
posted @ 2015-05-11 11:47 duanxz 阅读(668) 评论(0) 推荐(0)
摘要: 《高可用服务设计之二:Rate limiting 限流与降级》 《nginx限制请求之一:(ngx_http_limit_conn_module)模块》 《nginx限制请求之二:(ngx_http_limit_req_module)模块》 《nginx限制请求之三:Nginx+Lua+Redis 阅读全文
posted @ 2015-05-11 11:32 duanxz 阅读(2216) 评论(0) 推荐(0)
摘要: RateLimiter平滑限流分:平滑突发限流和平滑预热限流 RateLimiter简介(guava的令牌桶实现) Google开源工具包Guava提供了限流工具类RateLimiter,该类基于令牌桶算法(Token Bucket)来完成限流,非常易于使用.RateLimiter经常用于限制对一些 阅读全文
posted @ 2015-05-11 10:58 duanxz 阅读(3036) 评论(0) 推荐(0)
摘要: 使用mysql主从复制的好处有: 1、采用主从服务器这种架构,稳定性得以提升。如果主服务器发生故障,我们可以使用从服务器来提供服务。 2、在主从服务器上分开处理用户的请求,可以提升数据处理效率。 3、将主服务器上的数据复制到从服务器上,保护数据免受意外的损失。 环境描述: 新企业要搭建架构为主从复制 阅读全文
posted @ 2015-05-11 10:56 duanxz 阅读(4504) 评论(0) 推荐(0)
摘要: Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写一个简单的Server配置例子, 首先定义我们的MBean接口: package com.dxz.m 阅读全文
posted @ 2015-05-11 00:01 duanxz 阅读(1059) 评论(0) 推荐(0)