`
淘气天空lc
  • 浏览: 46602 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
         在备忘录模式中,需要设计一个宽接口(对某个某个特殊对象SpecialObject提供的接口),而窄接口对所有对象(OtherObject)提供的接口。怎样才能满足这样的需求呢?这种情况应该把宽接口设计成SpecialObject的内部类,但是有个问题就是这个类的接口方法不能被其他对象调用,需要做的就是把这个内部类的所有方法设置为private,那么怎样暴露一个窄接口给外部呢? 有个最窄的接口就是标记接口(类似Cloneable接口)只起一个标记左右,里面没有任何方法的申明。可以让这个内部实现标记接口,然后通过这个接口发布出去。这样就实现了这个需求。下面用双接口模式实现备忘录模 ...
http://90haofang-163-com.iteye.com/blog/1901416http://90haofang-163-com.iteye.com/blog/1902211 JMX的Server和connetor的编写在之前的博客中已经写了。现在谈谈如何在用spring整合JMX,首先看看spring,JMX的优点。 spring提供了很简便的方式整合JMX到应用程序中,它提供了一下四个特性:1.自动注册Spring bean为JMX MBean2.灵活的管理beans 接口机制3.声明MBean通过远程连接4.给本地或者远程资源提供了简单代理这些特性使用起来,与应用程序 ...
     继续之前的,之前介绍了MBean server (http://90haofang-163-com.iteye.com/blog/1901416),这次主要简述如果使用JMX技术管理MBean,执行远程操作。通过RMI 作为connectors访问MBeans。这块需要实现服务端和客户端。 首先编写服务端: 1.创建MBean接口类SimpleStandardMBean   package git.git.tudou.manage.jmx.test.connectors; /** * Date: 13-7-9 * Time: 下午4:06 */ publ ...
     一台测试机,为了多个项目同时在一台测试机上测试,可以使用了nginx挂载多个tomcat应用。我使用的ubuntu 12.0.4。 准备:下载nginx : http://nginx.org/download/nginx-1.5.0.tar.gz         : 下载tomcat:http://mirrors.cnnic.cn/apache/tomcat/tomcat-6/v6.0.37/bin/apache-tomcat-6.0.37.tar.gz 如果链接无效,可以去官网上面下载。也可以使用附件里的包。 export.zip:http://pan.baidu.c ...
 http://90haofang-163-com.iteye.com/blog/2096073         前段时间线上出了一次内存溢出的问题,对heap dump做了一些分析,同时也对thread dump做了了解,查了些资料,这篇文章是总结如何对thread dump进行分析,从而定位问题并解决。 java ...

GoLang adapter

 
看了下gopush的代码,被它的简洁震惊到了。。 http server  writed by golang   package main import ( "net/http" "fmt" "handler" ) //golang adapter //interface func(ResponseWriter, *Request) func ErrorHanler(f func(ResponseWriter,*Request)) http.HandlerFunc { return func( ...
/*=DLOG4J /jkstatus=status !/*.gif=DLOG4J !/*.jpg=DLOG4J !/*.png=DLOG4J !/*.css=DLOG4J !/*.js=DLOG4J !/*.htm=DLOG4J !/*.html=DLOG4J 所有的请求都由 DLOG4J 这个 worker 进行处理,但是有几个例外,/jkstatus 请求由 status 这个 worker 处理。另外这个配置中每一行数据前面的感叹号是什么意思呢?感叹号表示接下来的 URI 不要由 JK 进行处理,也就是 Apache 直接处理所有的图片、css 文件、js ...
http://xumingming.sinaapp.com/185/twitter-storm-%E5%9C%A8%E7%94%9F%E4%BA%A7%E9%9B%86%E7%BE%A4%E4%B8%8A%E8%BF%90%E8%A1%8Ctopology/ public static java.lang.String STORM_ZOOKEEPER_SERVERS A list of hosts of ZooKeeper servers used to manage the cluster.   STORM_ZOOKEEPER_PORT public static java. ...

SOA基础理论

    博客分类:
  • soa
设计时治理:通常提供一个从服务设计到服务部署的各个环节对服务进行管理和整合注册库或存储。 运行时治理:在服务运行时对服务策略的执行与实现。 定义一些策略 1.谁可以访问服务,访问控制。 2.他们可以对服务做哪些操作。 3.服务变更对其他服务的有何影响 4.服务变更对其他应用有何影响。 5.如何安全的对待安全相关的治理。 6.治理与与服务测试的关系。 7.治理如何与服务发现协作。 8.治理如何与服务交付协作。 9.如何设定并维护合理的服务级别。 10.如何管理错误和异常。 11.如何实现在线升级和版本控制 12.如何执行服务校验。 13如何执行审核和日志。 方式 ...

clojure笔记

storm-clojure clojure方法定义 defn 宏用来定义一个函数。它的参数包括一个函数名字,一个可选的注释字符串,参数列表,然后一个方法体。而函数的返回值则是方法体里面最后一个表达式的值。所有的函数都会返回一个值, 只是有的返回的值是nil。 fn定义匿名函数,通过fn定义的函数可以包含任意个数的表达式,而通过#(..)只能使用一个表达式 ,如果想包含多个表达式,那么就可以用do包含起来,如果只有一个参数,通过%获得,如果有多个参数可以通过%1 %2获得 (def years [1940 1944 1961 1985 1987]) (filter (fn [year] ...
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; /** * Created by luochao on 14-1-4. */ public class ConcurrentQueue<Content> { private volatile Node<Content> head; private volatile Node<Content> tail; private final static AtomicReferenceField ...

mockito 很好mock框架

    博客分类:
  • java
  package com.zero.orzprofiler.mockito; import org.junit.Test; import java.util.*; import static org.mockito.Mockito.*; /** * User: luochao * Date: 14-1-3 * Time: 上午9:54 */ public class MockitoTest { @Test public void testVerify() throws RuntimeException{ //m ...

这个月的任务

    博客分类:
  • java
1 .重构-改善既有代码设计 2.timetunnel broker部分 3.hbase 权威指南 4.看完剩下的 effective java 2013-12-12  ---1-2013-01-12
  守护进程:通常被定义为一个后台进程,而且它不属于任何一个终端会话(terminal session)。许多系统服务由守护程序实施;如网络服务,打印等。  1. 调用fork()以便父进程可以退出,这样就将控制权归还给运行你程序的命令行或shell程序。需要这一步以便保证新进程不是一个进程组头领进程(process group leader)。下一步,‘setsid()’,会因为你是进程组头领进程而失败。  说明:当进程是会话的领头进程时setsid()调用失败并返回(-1)。setsid()调用成功后,返回新的会话的ID,调用setsid函数的进程成为新的会话的领头进程,并与其 ...
    最近准备编写一个对外的python语言的api,于是开始学习了python,以及python的web框架,了解到django很火,所以尝试安装。由于一直都是做java开发的,所以我用的python编辑器,还是eclipse,提供了一个很好的插件叫做pydev。 1.安装python  下载http://www.python.org/getit/ 我下载是python2.7(Python 3.3.2 Windows X86-64 MSI Installer (Windows AMD64 / Intel 64 / X86-64 binary [1] -- does not inclu ...
Global site tag (gtag.js) - Google Analytics