- 浏览: 459983 次
- 性别:
- 来自: 杭州
最新评论
-
sbpcx:
发布式Java应用基础和实践 -> 分布式Java应用基 ...
Java执行机制 -
wangyaopeng1992:
同一机器不同线程都会获取锁,有并发问题
基于zookeeper的分布式锁实现 -
icanfly:
我只能说你实现的有严重的并发问题,并没有考虑并发的情况。
基于zookeeper的分布式锁实现 -
aiheng1988:
若多个客户端同时调用tryLock去获取锁,最开始不存在锁的节 ...
基于zookeeper的分布式锁实现 -
Mynameisyuan:
...
基于zookeeper的分布式锁实现
文章列表
前言
spring2.5以后,spring支持自定义schema扩展xml配置。具体的spring schema细节,本文就不多说了。这篇文章就拿provider为例,介绍dubbo是如何启动服务的。
正文
首先,再把HelloWolrd例子中的 provider.xml的源码放上来
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xml ...
Dubbo介绍1- Hello World例子
- 博客分类:
- dubbo
介绍
dubbo是阿里巴巴的开源RPC框架。阿里巴巴Dubbo实现的源码分析 这篇文章介绍的挺好的。对应的主页是 http://code.alibabatech.com/wiki/display/dubbo/Home 。看dubbo主要是想学习一下对应的ClassLoader的隔离机制。不过所有技术都总HelloWorld开始,那就mark一下吧。
正文
我是通过zk做服务集群管理的。所以如果要跑下面这个程序,需要自己搭一个zk集群
对应的接口
package demo.service;
/**
* User: zhenghui
* Date: 14-1 ...
问题
线上某一台机器出现异常.接口调用的rt达到了万级别..基本可以判断这个机器已经挂了.进而分析该机器一直在fgc.然后马上dump内存,进而进行分析(中间一些异常的gc日志没有截图).之前学习的jvm知识都是纯理论的,这次是实打实线上出现的问题.所以记录一下.
步骤
1 先dump对应的堆,然后从线上发到自己本机
dump的命令是
写道
jmap -dump:format=b,file=heap.bin <pid>
2 下载一个MAT工具
如果没有eclipse的话,还需要下载eclipse
mat的下载网址
http:/ ...
1 前言
最近做了一个项目,需求是某一个母体,通过手机摇一摇寻找身边同时在摇的人,然后把自己的红包分给这些人.其实有点类似微信的约炮功能.都是基于地理位置找附近的人.两者的区别就是微信约炮只需要找附近的一个 ...
简介
本文的主体内容,大概是从一个简单的需求
写道
把计算结果放到一个Map中作为缓存
然后分析对应的并发问题,高效可伸缩,缓存污染问题,最后得到一个让我们满意的Map作为对应的实现.
最简单的实现
首先,先放一个最简单的实现.我相信,大部分的人(包括我)在内,在大部分情况就是这么实现的..
package current;
import java.util.HashMap;
public class Foo {
private HashMap<String,String> ...
要实现的功能很简单,就是一个集群注册服务.对于某一个服务,都可以有对应的多个服务地址,当某个服务机器开始提供服务的时候,就 把自己的IP地址注册上去,而对应客户端来说,就是获取对应的服务机器IP列表.而zk会知道每个服务机器的服务状态.
本代码没有经过线上验证..仅供参考
对应的接口很简单.
package zhenghui.lsf.configserver.service;
/**
* User: zhenghui
* Date: 13-12-22
* Time: 下午4:57
* 集群注册服务.
*/
public in ...
前言
之前看书的时候,看到了方法执行的内容,忽然就想到了这么一个有趣的东西.然后就特意开一个贴,把一些前人,大大的知识做一个汇总,做一下记录吧.
正文
相信,网上很多java性能优化的帖子里都会有这么一条
写道
尽量把不使用的对象显式得置为null.这样有助于内存回收
可以明确的说,这个观点是基本错误的.sun jdk远比我们想象中的机智.完全能判断出对象是否已经no ref..但是,我上面用的词是"基本".也就是说,有例外的情况.这里先把这个例外情况给提出来,后续我会一点点解释.这个例外的情况是, 方法前面中有定义大的 ...
前言
这篇里的东西,其实是我在草稿箱里找到的.因为当时写的比较粗,而且这个题目的内容没有完结..所以一直没有发布.但是后续有篇文章
java中 obj=null对垃圾回收有用吗
要引用里面局部变量表的知识,所以就先 ...
1.1准备工作
1.1.1 java agent , java attach api, VirtualMachine 等
java agent代理和 virtualMachine的知识,可以参考 http://blog.csdn.net/qyongkang/article/details/7765255 大概有连续6篇文章.看完的话大概能明白几个概念了.
还有一个简单的例子 http://chenjingbo.iteye.com/blog/1966733 含金量不高 ,不过也可以将就看看.
1.1.2 scala 学习
housemd大部分的代码都是用scala写的.所以 ...
最近由于要看懂housemd的具体实现,被迫需要学习scala .记录一下吧.
(1) hello world
http://www.scala-lang.org/old/node/166
(2) scala与idea的集成
http://www.cnblogs.com/leolcao/archive/2013/03/07/2949092.html
这个文档里有一个几个小问题
1>在Project Structure ->Libraires里把对应的两个包 Move to Global Libraries.我试了下,如果这么做的话,project 的 librr ...
今天在学习其他的时候,无意发现了一个有趣的东西.看下面的代码
package generic;
import java.lang.reflect.Field;
import java.util.Map;
/**
* User: zhenghui
* Date: 13-11-13
* Time: 上午10:41
*/
public class GenericClass {
private Map<String, Long> map;
public static void main(String[] args) t ...
原文地址 http://hi.baidu.com/xjylkh125/item/72f07ece5ccc091cc710b22d
其实下载一个 Masm for windows 2012 就可以自带debug功能了.还是很方便的.
64位win7使用debug(Masm所有子程序)的方法:精心整理,不装虚拟机,简单几步在Win7 64位系统下实现Debug汇编的方法。
使用32位的Win7同志就不用看了 直接搜索C盘 debug就找到了 XP也一样
若要使用DOS下masm的更多功能,请下载emu 8086 v4.08或 Masm for windows 2012,
祝你好 ...
要用PrintAssembly的目的 应该会另开帖子说明,本帖只是为了记录为了简单的记录使用这个命令遇到的问题.
1 ,直接使用,用的是
写道
C:\Users\zhenghui>java -versionjava version "1.7.0_25"Java(TM) SE Runtime Environment (build 1.7.0_25-b17)Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
该版本,当然,必须用不了咯..继续google ...
mark贴.
package asm;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.Opcodes;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* Created with IntelliJ IDEA.
* User: zhenghui
* Date: 13-11 ...
头段时间,在线上发布遇到一个class not found的问题.纠结了好久..虽然有很多工具可以查看到对应载入的class.比如在启动的时候添加 -verbose 参数(等同于 -XX:+TraceClassLoading 和 ◦-XX:+TraceClassUnloading) 或者 下载一个对应类加载跟踪的agent(比如 这个jvm类跟踪器 ),或者直接用JVMTI拦截等等.但是,上面所有的方法,都需要依赖PE,然后重启应用.这个成本相对来说是比较高的(PE同学不一定允许你指定agent代理呢)..所以我就琢磨着,做一个小工具,可以直接查看当前应用载入的class类.
...