自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

helloworld的专栏

helloworld的专栏

  • 博客(28)
  • 资源 (9)
  • 收藏
  • 关注

转载 TCC事务机制简介

TCC事务机制简介关于TCC(Try-Confirm-Cancel)的概念,最早是由Pat Helland于2007年发表的一篇名为《Life beyond Distributed Transactions:an Apostate’s Opinion》的论文提出。在该论文中,TCC还是以Tentative-Confirmation-Cancellation作为名称;正式以Try-Confirm...

2018-03-29 16:56:56 874

转载 对分布式事务及两阶段提交、三阶段提交的理解

对分布式事务及两阶段提交、三阶段提交的理解 一、分布式数据一致性在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。1.什么是数据一致性在数据有多份副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致,数据内容冲突,造成事实上的数据不一致。...

2018-03-29 15:34:58 9189

转载 HTTP幂等性概念和应用

Idempotence, in programming and mathematics, is a property of some operations such that no matter how many times you execute them, you achieve the same result.基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式...

2018-03-29 14:16:31 1230

转载 Dubbo的前世今生

SOA与服务治理SOA(面向服务的体系结构)概念由来已久,在10多年前便开始进入到我们广大软件开发者的视线中。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、Web Service技术之后的自然延伸。 服务治理,也称为SOA治理,是指用来管理SOA的采用和实现的过程。以下是在2006年时IBM对于服务治...

2018-03-29 10:14:27 3830

转载 浅谈服务治理、微服务与服务网格(Service Mesh)

浅谈服务治理、微服务与Service MeshSpring Cloud 之“出身名门望族”作为当下最火热的微服务框架,Spring Cloud的名字可以说是无人不知、无人不晓,凭借之前Spring Framework的良好群众基础和Cloud这个具有时代感的名字,Spring Cloud一出现便被大家认知。 提到Spring Cloud,便会让人想起刚刚发布了2.0版本的Spri...

2018-03-29 10:00:26 14059 1

转载 远程过程调用

简介RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。比如说,一个方法可能是这样定义的: Employee getEmployeeByName(String fullName)那么:首先,要解决通讯的问题,主要是通过在客户端...

2018-03-20 11:23:56 1589

转载 Remote Procedure Calls

Remote Procedure Calls Paul Krzyzanowski October 2, 2017 Introduction, or what’s wrong with sockets?Sockets are a fundamental part of client-server networking. Theyprovide a relativel...

2018-03-20 10:23:09 19116

原创 TCP三次握手

SYN:Synchronize Sequence Numbers ACK:AcknowledgementTCP建立连接三次握手过程建立连接时,客户端发送SYN包(SYN=j)到服务器,并进入SYN_SENT状态,等待服务器确认。服务器收到syn包,必须确认客户的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器进入...

2018-03-20 09:35:53 409

原创 OSI七层模型与TCP/IP四层模型

OSI:Open System Interconnect

2018-03-20 08:58:34 328

转载 微服务实践(七):从单体式架构迁移到微服务架构

微服务实践(七):从单体式架构迁移到微服务架构【编者的话】这是用微服务开发应用系列博客的第七篇也是最后一篇。第一篇中介绍了微服务架构模式,并且讨论了微服架构的优缺点;接续文章讨论了微服务架构不同方面:使用API网关,进程间通信,服务发现,事件驱动数据管理以及部署微服务。本篇,我们将探讨将应用从单体式架构迁移到微服务架构需要考虑的策略。 希望读者通过本系列文章对微服务优缺点有一个比较好的理...

2018-03-15 08:58:55 340

转载 微服务实战(六):选择微服务部署策略

微服务实战(六):选择微服务部署策略【编者的话】这篇博客是用微服务建应用的第六篇, 第一篇 介绍了微服务架构模板,并且讨论了使用微服务的优缺点。随后的文章讨论了微服务不同方面:使用API网关,进程间通讯,服务发现和事件驱动数据管理。这篇文章,我们将讨论部署微服务的策略。 动机部署一个单体式应用意味运行大型应用的多个副本,典型的提供若干个(N)服务器(物理或者虚拟),运行若干个(M)...

2018-03-15 08:52:40 551

转载 微服务实践(五):微服务的事件驱动数据管理

微服务实践(五):微服务的事件驱动数据管理【编者的话】本文是使用微服务创建应用系列的第五篇文章。第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点;第二和第三篇描述了微服务架构模块间通讯的不同方面;第四篇研究了服务发现中的问题。本篇中,我们从另外一个角度研究一下微服务架构带来的分布式数据管理问题。 1.1 微服务和分布式数据管理问题单体式应用一般都会有一个关系型数据库,...

2018-03-15 08:39:16 444

转载 微服务实战(四):服务发现的可行方案以及实践案例

微服务实战(四):服务发现的可行方案以及实践案例这是关于使用微服务架构创建应用系列的第四篇文章。第一篇介绍了微服务架构的模式,讨论了使用微服务架构的优缺点。第二和第三篇描述了微服务架构内部的通讯机制。这篇文章中,我们将会探讨服务发现相关问题。为什么要使用服务发现?设想一下,我们正在写代码使用了提供RESTAPI或者ThriftAPI的服务,为了完成一次服务请求,代码需要知道服务实例...

2018-03-13 22:06:44 746

转载 微服务实战(三):深入微服务架构的进程间通信

微服务实战(三):深入微服务架构的进程间通信【编者的话】这是采用微服务架构创建自己应用系列第三篇文章。第一篇介绍了微服务架构模式,和单体式模式进行了比较,并且讨论了使用微服务架构的优缺点。 第二篇 描述了采用微服务架构应用客户端之间如何采用APIGateway方式进行通信。在这篇文章中,我们将讨论系统服务之间如何通信。 简介在单体式应用中,各个模块之间的调用是通过编程语言级别的方法或...

2018-03-13 21:52:19 537

转载 微服务实战(二):使用API Gateway

微服务实战(二):使用API Gateway【编者的话】本系列的第一篇介绍了微服务架构模式。它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择。 当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交互。在单体式程序中,通常只有一组冗余的或者负载均衡的服务提供点。在微服务架构中,每一个微服务暴露一组细粒度的服务提供点。在本篇文章中,我们来看它如何...

2018-03-13 21:32:50 1225

转载 微服务实战(一):微服务架构的优势与不足

微服务实战(一):微服务架构的优势与不足【编者的话】本文来自Nginx官方博客,是微服务系列文章的第一篇,主要探讨了传统的单体式应用的不足,以及微服务架构的优势与挑战。正如作者所说,微服务架构更适合用于构建复杂的应用,尽管它也有自己的不足。 这篇文章作者是Chris Richardson,他是早期基于Java的Amazonite EC2 PaaS平台CloudFoundry.com的创始...

2018-03-13 20:51:19 428

原创 JDK语法糖之switch字串与枚举支持

在JDK1.7之前,switch只支持byte,short,char,int,注意1.5之后的自动拆箱,对应的这四种基础类型的封装类也同样支持Byte,Short,Character,Integer,比如,对于代码: switch (new Integer(5)) { case 5: System.out.println("5");...

2018-03-12 14:52:42 4165 1

原创 Spring中事务的propagation配置

配置 说明 备注 REQUIRED 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 Support a current transaction, create a new one if none exists SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行。 Support a current trans...

2018-03-11 20:39:48 432

原创 迭代器模式

迭代器模式 Provides a way to access the elements of an aggregate object without exposing its underlying represenation.迭代器模式可以用以访问聚合对象中各个元素, 而又无须暴露该对象的内部表示。 代码示例 Iterator接口,泛型接口public int...

2018-03-08 14:43:54 415

原创 责任链模式

责任链模式目的是为了避免请求发送者与请求接收者耦合,从而给予多个对象来处理同一个请求,链收到请求之后,会沿着链传递请求,直至有对象处理它。现实中的例子:银行业务场景中,你的请求可能在多个部门当中依次传递,直至特定部门进行处理。ATM机使用责任链模式进行用户取钱吐钞 代码示例 责任链上的Handler接口public interface EmailHandl...

2018-03-08 10:37:02 247

翻译 命令模式

命令模式在命令模式中,请求会发送给调用方,调用方会将请求传递给已经封装好的命令对象,然后命令对象会把请求发送给目标接收者来执行相应的操作。客户端会创建接收者对象,并且将对象与命令相关联。之后,客户端会创建调用者对象并且将命令对象关联来执行操作,当客户端执行操作时,它就会基于命令和接收者来执行相应的操作。现实世界中命令模式的一个例子是餐馆里的点餐场景:餐馆服务员收到订单请求,这就是来自客...

2018-03-08 09:20:05 227

原创 中介者模式

中介者模式 按照“四人帮”(GoF)的说法,中介者设计模式通过封装不同的对象集交互和通信的方式,进而达到对象与对象之间的松耦合。中介者模式允许每个对象的动作彼此相互独立地变化。简介在一个企业级的应用当中,会包含很多对象相互之间关联的场景,如果他们直接调用,可能带来的结果就是系统耦合度太高,进而导致系统维护成本过高,并且难以扩展。而中介者模式就是为系统各对象之间提供沟通桥梁,从...

2018-03-07 11:55:31 245

原创 再谈Java中的覆盖(Overriding)与重载(Overloading)

在 Overriding vs Overloading in Java 中,我们简单介绍了Java中的Overriding 与 Overloading ,下面我们就此话题继续探讨:问题一:什么是静态绑定?答: 在JAVA源码编译阶段,JVM将方法调用与实际方法进行绑定的过程,这就是静态绑定,我们常见的方法重载绑定( method Overloading binding )就是静态绑...

2018-03-06 18:59:28 869

原创 Overriding vs Overloading in Java

定义Overloading::同一个类中,方法名相同,但参数不同Overriding:两个类中(父类与子类)方法签名相同(方法名称一样,参数完全一致),Overriding允许子类根据实际场景“重载”实现父类中同名方法。Overriding vs OverloadingOverriding涉及的是一个运行时概念,而Overloading涉及的是编译期概念 多态...

2018-03-06 18:52:56 502

原创 常见设计模式代码实现

以前学设计模式的时候,有点模模糊糊的感觉,不知道为什么是这样子,经过这些年的“浸淫”,现在再看,发现还真有点感觉了,于是,我决定将其记录下来,一来是为了巩固记忆,二来也为以后查阅方便,所有代码都是根据我自己的理解实现,我不敢贸然说已经打通了任督二脉,但至少已经知其然了,后续,也会随着自己的理解逐步补充,知其然更要知其所以然。 愿不负光阴,没有翅膀的孩子只能努力奔跑。github 地址...

2018-03-05 16:52:29 821

原创 JVM指令之invokestatic,invokespecial,invokeinterface,invokevirtual,invokedynamic

指令 说明 invokeinterface 用以调用接口方法,在运行时搜索一个实现了这个接口方法的对象,找出适合的方法进行调用。(Invoke interface method) invokevirtual 指令用于调用对象的实例方法,根据对象的实际类型进行分派(Invoke instance method; dispatch based on class)...

2018-03-02 15:27:30 16232 7

转载 java泛型(一)泛型的基本介绍和使用

一、泛型的基本概念 泛型的定义:泛型是JDK1.5的一项新特性,它的本质是参数化类型(Parameterized Type)的应用,也就是说所操作的数据类型被指定为一个参数,在用到的时候在指定具体的类型。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口和泛型方法。 泛型思想早在C++语言的模板(Templates)中就开始生根发芽,在Java语言处于还没有出现泛型的...

2018-03-01 13:55:16 312

转载 java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题

参考:java核心技术一、Java泛型的实现方法:类型擦除前面已经说了,Java的泛型是伪泛型。为什么说Java的泛型是伪泛型呢?因为,在编译期间,所有的泛型信息都会被擦除掉。正确理解泛型概念的首要前提是理解类型擦除(type erasure)。Java中的泛型基本上都是在编译器这个层次来实现的。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在...

2018-03-01 11:53:32 345

Axis2_WebService_经典教程.doc

Axis2_WebService_经典教程.doc

2014-05-11

C++ Builder 汉诺塔算法动态演示系统

采用C++ Buidler开发环境,C++ 语言,结合线程技术,将经典的汉诺塔算法的执行过程动态的演示出来,对于用户理解汉诺塔算法产生巨大的帮助

2009-03-29

3DES加密算法源码

3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。 最早的定义了该算法的标准(ANS X9.52,1998年发布)将其描述为“三重数据加密算法(TDEA)”— 即为ANSI X3.92中定义的数据加密算法(DEA)的三次重复操作— 而完全没有使用术语“3DES”或“DES”。FIPS PUB 46-3(1999)定义了“三重数据加密算法”(TDEA),也使用了术语“Triple DES”和“DES”。该标准中互换的使用“数据加密算法”(DEA)和“DES”的概念,其中以此开始DES的定义: 数据加密标准(DES)应当包括下文中的数据加密算法(DES[4])与三重数据加密算法(TDEA,如ANSI X9.52中所描述的) NIST SP 800-67(2004,2008[5])主要使用术语TDEA,但也提到了“Triple DES(TDEA)”。ISO/IEC 18033-3(2005)使用“TDEA”,但其中提到: TDEA通称Triple DES(数据加密标准)。 没有一个定义了本算法的标准使用术语“3DES”。 3DESughhhg34465345556555678==算法== 3DES使用“密钥包”,其包含3个DES密钥,K1,K2和K3,均为56位(除去奇偶校验位)。加密算法为: 密文 = EK3(DK2(EK1(平文))) 也就是说,使用K1为密钥进行DES加密,再用K2为密钥进行DES“解密”,最后以K3进行DES加密。 而解密则为其反过程: 平文 = DK1(EK2(DK3(密文))) 即以K3解密,以K2“加密”,最后以K1解密。 每次加密操作都只处理64位数据,称为一块。 无论是加密还是解密,中间一步都是前后两步的逆。这种做法提高了使用密钥选项2时的算法强度,并在使用密钥选项3时与DES兼容。 密钥选项[编辑] 标准定义了三种密钥选项: 密钥选项1:三个密钥是独立的。 密钥选项2:K1和K2是独立的,而K3=K1 密钥选项3:三个密钥均相等,即K1=K2=K3 密钥选项1的强度最高,拥有3 x 56 = 168个独立的密钥位。 密钥选项2的安全性稍低,拥有2 x 56 = 112个独立的密钥位。该选项比简单的应用DES两次的强度较高,即使用K1和K2,因为它可以防御中途相遇攻击。 密钥选项3等同与DES,只有56个密钥位。这个选项提供了与DES的兼容性,因为第1和第2次DES操作相互抵消了。该选项不再为国家标准科技协会(NIST)所建议[6],亦不为ISO/IEC 18033-3所支持。

2015-01-21

jsp-api.jar

jsp-api.jar

2014-05-10

Java使用SOAP获取webservice实例解析.doc

Java使用SOAP获取webservice实例解析.doc

2014-05-11

servlet-api

servlet-api

2014-05-10

dom4j-1.6.1

dom4j-1.6.1

2014-05-10

mail.jar mail.jar

mail.jar

2014-05-11

Java2WSDL和WSDL2Java操作指南.doc

Java2WSDL和WSDL2Java操作指南.doc

2014-05-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除