- 博客(13)
- 收藏
- 关注
转载 使用 RMI + ZooKeeper 实现远程调用框架
在 Java 世界里, 有一种技术可以实现“跨虚拟机”的调用,它就是 RMI(Remote Method Invocation,远程方法调用) 。例如,服务A 在 JVM1 中运行,服务B 在 JVM2 中运行,服务A 与 服务B 可相互进行远程调用,就像调用本地方法一样,这就是 RMI。在分布式系统中,我们使用 RMI 技术可轻松将 服务提供者(Service Provider)与 服务消费
2017-01-20 17:32:21 403
转载 spring中注册bean(通过代码动态注册)
//将applicationContext转换为ConfigurableApplicationContext ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) applicationContext; // 获取bean工厂并转换为DefaultLi
2017-01-20 17:21:08 765
转载 RMI(Remote Method Invocation)初窥门径
【引言】作为J2EE核心技术之一的RMI,它允许客服端调用一个远程服务器的组件,并返回调用结果(返回值或异常),可以完成分布式应用。整个调用过程由RMI实现,对使用者透明。【Stub和Skeleton】1、要了解RMI原理,Stub和Skeleton是必须先理解的两个概念。以下引用别的一段话:做个比方说明这两个概念。 假如你是A,你想借D的工具,但是又不认识D的管家C,
2017-01-20 16:34:02 309
转载 Java RMI远程服务调用
RMI的定义RPC (Remote Procedure Call):远程方法调用,用于一个进程调用另一个进程中的过程,从而提供了过程的分布能力。RMI(Remote Method Invocation):远程方法调用,即在RPC的基础上有向前迈进了一步,提供分布式对象间的通讯。允许运行在一个java 虚拟机的对象调用运行在另一个java虚拟机上对象的方法。这两个虚拟机可以是运行在相同计算机
2017-01-20 11:13:55 661
转载 Spring MVC 4.2 增加 CORS 支持
Spring MVC 4.2 增加 CORS 支持跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求。比如说,域名A(http://domaina.example)的某 Web 应用程序中通过标签引入了域名B(http://domainb.foo)站点的某图片资源(http://domainb.foo/
2017-01-20 09:45:35 328
转载 zookeeper 最佳教程
1、Zookeeper深入理解(一)(概念及基础)http://hao0.me/zookeeper/2015/02/28/zk-basic.html2、Zookeeper深入理解(二)(编程实践之Master-Worker)http://hao0.me/zookeeper/2015/03/02/zk-program-master-worker.html3、Zookeeper
2017-01-17 01:41:39 862
转载 Exception异常处理反模式
应该抛出一个异常还是应该返回一个null?是抛出checked类型异常还是抛出unchecked类型异常?对于很多中级的开发人员而言,异常处理往往是一件事后才去考虑的事情。他们经常使用的异常处理方式是try/catch/printStackTrace()。当这些开发人员想要尝试更有新意的异常处理方式时,常常会陷入一些常见的异常处理反模式中。 随着1998年《反模式:危机中软件、架构和项目的重
2017-01-17 01:39:47 1046
转载 RabbitMQ消息处理机制fanout,direct,topic,header
RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储RabbitMQ提供了四种Exchange:fanout,direct,topic,headerheader模式在实际使用中较少,本文只对前三种模式进行比较。 性能排序:fanout > direct >> topic。比例大约为11:10:6 一.
2017-01-15 13:21:12 3939
转载 Docker网络原则入门:EXPOSE,-p,-P,-link
编者的话】构建多容器应用程序,需要定义网络参数来设置容器间的通信,可以通过EXPOSE或者-expose暴露端口、使用-p发布特定端口,还可以用-link等等来实现,这些方法可能会得到一样的效果,但是这些方法之间是否有不同,应该选择什么样的方法,将是本文讨论的重点内容。如果你已经构建了一些多容器的应用程序,那么肯定需要定义一些网络规则来设置容器间的通信。有多种方式可以实现:可以通过--
2017-01-14 21:50:02 1477
转载 Java 8 Optional
我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了OptionalUser> user = ...... if (user.isPresent()) { return user.getOrders();} else
2017-01-07 21:01:33 317
转载 java 二进制兼容性概述
现在的软件越来越依赖于不同厂商、作者开发的共享组件,组件管理也变得越来越重要。在这方面,一个极其重要的问题是类的不同版本的二进制兼容性,即一个类改变时,新版的类是否可以直接替换原来的类,却不至于损坏其他由不同厂商/作者开发的依赖于该类的组件? Java二进制兼容性概念的主要目标是推动Internet上软件的广泛重用,同时它还避免了大多数C++环境面临的基础类脆弱性问题——例如,在
2017-01-07 19:39:23 646
转载 @SuppressWarnings
一、前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些“感叹号”。 二、 @SuppressWarings注解
2017-01-07 17:35:36 399
转载 Modifier静态属性
JAVA 反射机制中,Field的getModifiers()方法返回int类型值表示该字段的修饰符。其中,该修饰符是java.lang.reflect.Modifier的静态属性。对应表如下:PUBLIC: 1PRIVATE: 2PROTECTED: 4STATIC: 8FINAL: 16SYNCHRONIZED: 32VOLATILE: 64
2017-01-05 15:07:02 911
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人