- 博客(13)
- 资源 (11)
- 收藏
- 关注
原创 Shell脚本编程(二):管道操作
例: free -m | grep men "|" 就像一个水管一样,将 free -m 执行返回的结果 交给后面的命令 grep men来处理也可以多个“|”管道命令同时使用例如: 命令1 | 命令2 | 命令3
2016-05-26 21:15:36 1107
原创 Shell脚本编程(一):输出重定向
1.shell的作用2.重定向例如: ls / >> haha.txt 就是将 ls / 返回的结果保存到 haha.txt文件中 命令 1> 文件名就是当命令执行正确的时候将结果输出到文件中 命令 &> 文件名就是当命令执行错误的时候将错误的结果信息输出到文件中
2016-05-26 21:01:52 759
转载 Java 工程师成神之路
Java 工程师成神之路 Linux中国微信号 linux-cn功能介绍 面向Linux爱好者,提供Linux技术文章、新闻资讯和交流平台。 每天推送一条最新精选Linux资讯和技术文章;支持Linux命令查询、Linux资讯搜索及微信群的交流。参考原文:http://www.hollischuang.com/
2016-05-12 11:32:29 1686
原创 Dubbo源码分析(十):服务发布
服务发布是服务提供方向注册中注册服务过程,以便服务消费者从注册中心查阅并调用服务。服务发布方在spring的配置文件中配置如下:上面是在spring中配置的服务的具体实现,是spring中的一个普通的bean上面的配置spring容器在启动的过程中会解析自定义的schema元素dubbo转换成实际的配置实现ServiceBean ,并把服务暴露出去。ServiceCon
2016-05-08 14:39:59 2478
原创 Dubbo源码分析(九):与spring融合
Spring中bean的定义可以通过编程,可以定义在properties文件,也可以定义在通过xml文件中,用的最多的是通过xml形式,由于xml格式具有很好的自说明便于编写及维护。对于xml的文档结构、数据定义及格式验证可以通过DTD和Schema, 在spring2.0之前采用的是DTD,在spring2.0之后采用Schema。使用Schema方式使得spring更加便于与第三方进行集成
2016-05-08 11:26:48 1459
原创 Dubbo源码分析(八):Javassist字节码技术生成代理
Java动态编程的作用: 通过配置生成代码,减少重复编码和维护成本 我们常用到的动态特性主要是反射,在运行时查找对象属性、方法,修改作用域,通过方法名称调用方法等。在线的应用不会频繁使用反射,因为反射的性能开销较大。其实还有一种和反射一样强大的特性,但是开销却很低,它就是Javassit。 Javassit其实就是一个二方包,提供了运行时操作Ja
2016-05-08 10:51:41 3352
原创 (未完成)Dubbo源码分析(七):Dubbo内核实现之基于SPI思想Dubbo内核实现
SPI接口定义定义了@SPI注解package com.alibaba.dubbo.common.extension;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lan
2016-05-07 15:55:32 1629
原创 Dubbo源码分析(六):Dubbo内核实现之动态编译
我们运行的java代码,一般都是编译之后的字节码。Dubbo为了实现基于spi思想的扩展特性,特别是能够灵活添加额外功能,对于扩展或者说是策略的选择这个叫做控制类也好设配类也好的类要能够动态生成。当然对应已知需求如Protocol, ProxyFactory他们的策略选择的设配类代码dubbo直接提供也无妨,但是dubbo作为一个高扩展性的框架,使得用户能够添加自己的需求,根据配置动态生成自己的设
2016-05-07 15:10:10 2684 1
原创 Dubbo源码分析(五):Dubbo内核实现之SPI简单介绍
Dubbo采用微内核+插件体系,使得设计优雅,扩展性强。那所谓的微内核+插件体系是如何实现的呢!大家是否熟悉spi(service provider interface)机制,即我们定义了服务接口标准,让厂商去实现(如果不了解spi的请谷歌百度下), jdk通过ServiceLoader类实现spi机制的服务查找功能。 JDK实现spi服务查找: ServiceLoader 首先
2016-05-06 21:14:03 1981
原创 Dubbo源码分析(四):dubbo中bean的加载
Dubbo首先使用com.alibaba.dubbo.config.spring.schema.NamespaceHandler注册解析器,当spring解析xml配置文件时就会调用这些解析器生成对应的BeanDefinition交给spring管理:public class DubboNamespaceHandler extends NamespaceHandlerSupport {
2016-05-06 21:03:39 4114
原创 Dubbo源码分析(三):自定义Schema--基于Spring可扩展Schema提供自定义配置支持(spring配置文件中 配置标签支持)
在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。Spring提供了可扩展Schema的支持,这是一个不错
2016-05-06 14:10:45 2538 1
原创 Dubbo源码分析(二):Dubbo中采用的设计模式
1、工厂模式 ServiceConfig中有个字段,代码是这样的: 查看文本打印 private static final Protocol protocol =ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension(); Dubbo里有很多这种代码。这也是
2016-05-06 11:58:08 6901
原创 Dubbo源码分析(一):Dubbo源码的结构概述
1.dubbo源码的结构Dubbo源文件主要包含以上这么多包,其中: dubbo-common 公共逻辑模块,包括Util类和通用模型。 dubbo-remoting 远程通讯模块,相当于Dubbo协议的实现,如果RPC用RMI协议则不需要使用此包。 dubbo-rpc 远程调用模块,抽象各种协议,以及动态代理,只包含一对一的调用,不关心集群的
2016-05-06 11:41:38 10941
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人