5 zl_momomo

尚未进行身份认证

杂记博客

等级
TA的排名 5w+

GDS和OTA未来之路

1.1 GDS的发展全球分销系统,应用于民用航运输及整个旅游业的大型计算机信息服务系统航空公司发展初期,销售部门需要花费大量的时间手工处理和保存预订信息。20 世纪50年代后期,随着旅客预订量增大,提高预订效率迫在眉睫,由此美利坚和众公司(AA) 和IBM共同创建了实时编目控制的计算机系统,供AA内部使用,这就是GDS的远祖--世界上第一家航空公司航班控制系统Sabre。1.2 ...

2019-11-01 00:01:08

Java8函数式编程 —— CompletableFuture

前言可完成的Future对于1.5提供的Future接口。有一定的局限性,很难直接表述多个future之间的依赖性。比如对于结果的获取只能通过阻塞或者轮询的方式获得,这违背了异步编程的初衷。下面通过一个简单的例子说明CompletableFuture的使用。例子将List中元素,异步方式全部小写转大写 List<String> list = ne...

2018-11-26 15:52:13

前后台全双工通信——基于rabbitmq的websocket服务

前端通过websocket连接RabbitMQ开启RabbitMQ对stomp的支持以及能够通过stomp去建立一个websocket连接。安装rabbitmq_stomp和rabbitmq_web_stomp插件rabbitmq-plugins enable rabbitmq_stomprabbitmq-plugins enable rabbitmq_web_stomprabbi...

2018-11-22 12:00:21

linux下rpm操作

1.安装一个包   # rpm -ivh 2.升级一个包   # rpm -Uvh 3.移走一个包   # rpm -e 4.安装参数   –force 即使覆盖属于其它包的文件也强迫安装   –nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。 5.查询一个包是否被安装   # rpm -q < rpm package name> 6.得...

2018-11-20 15:52:02

linux下firewall 防火墙的操作

对firewall 防火墙的操作centos7中 使用systemctrl命令操作服务#启动firewall 服务systemctl start firewalld#关闭systemctl stop firewalld#查看状态、systemctl status firewalld #开机禁用systemctl disable firewalld#开机启用systemc...

2018-11-20 11:52:14

前后端全双工通信 —— 基于Stomp Over Websocket

WebSocket协议概念:WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。HTTP 协议做不到服务器主动向客户端推送信息。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用轮询。轮询效率低,且很浪费资源。而WebSocket协议最大的特点就是...

2018-11-19 16:05:48

微信开发(二) -- 网页授权

微信网页授权如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。 开发前的准备在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 htt...

2018-11-16 14:03:03

Java并发之CAS机制 —— 乐观锁

引入在单实例(一个JVM)环境下,多个线程并发操作某一共享资源时,我们可以通过synchronized同步锁保证资源的可见性和原子性。但会存在性能问题:(Synchronized关键字会让没有得到锁资源的线程进入BLOCKED状态,而后在争夺到锁资源后恢复为RUNNABLE状态,这个过程中涉及到操作系统用户模式和内核模式的转换,代价比较高。尽管Java1.6为Synchronized做...

2018-11-09 15:15:43

Redis之阻塞队列

 redis 命令blpop key1...keyN timeout BLPOP 是阻塞式列表的弹出原语。 它是命令 LPOP 的阻塞版本,这是因为当给定列表内没有任何元素可供弹出的时候, 连接将被 BLPOP 命令阻塞。直到有另一个客户端对给定的这些 key 的任意一个执行 LPUSH 或 RPUSH 命令为止。 当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,...

2018-11-08 15:45:55

LUA脚本简介及使用redisTemplate 操作lua脚本

lua脚本介绍与使用 中文官网 从Redis2.6.0版本开始,通过内置的Lua解释器,可以使用EVAL命令对Lua脚本进行求值lua脚本在redis中的使用1.特性Redis保证脚本以原子性方式执行。当脚本被执行时,不会有其他脚本或者redis命令执行。2.优势在redis官方文档中管道的介绍中有提到大量 pipeline 应用场景可通过 Redis 脚本(Re...

2018-11-05 11:41:12

RedisTemplate执行lua脚本问题(java.lang.IllegalStateException: null)

1. ERR value is not an integer or out of range@Bean public RedisTemplate redisTemplate(LettuceConnectionFactory redisConnectionFactory){ RedisTemplate redisTemplate = new RedisTemplate(...

2018-11-02 15:33:21

Spring Boot2.x 整合quartz集群

springboot2.x支持对quartz的自动配置,引入jar <!-- spring boot2.x + quartz --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-qu...

2018-10-31 15:33:19

yml语法及yml属性值自动注入@ConfigurationProperties

前言在Springboot中,推荐使用properties或者YAML文件来完成配置,但是对于较复杂的数据结构来说,YAML远远优于propertiesyml语法YAML中允许表示三种格式,分别是常量值,对象和数组基本格式要求1.YAML大小写敏感2.使用缩进代表层级关系3.缩进只能使用空格,不能使用TAB,不要求空格个数,只需要相同层级左对齐(一般2个或4个空格)对象...

2018-10-31 14:52:38

Spring 中FactoryBean getObject获得空值

这里的JobDetail返回为null @Bean public JobDetail printTimeJobDetail(){ JobDetailFactoryBean jobDetailFactoryBean = new JobDetailFactoryBean(); // durability 表示任务完成之后是否依然保留到数据库,默认false...

2018-10-30 17:31:42

window下脚本linux下执行报错

问题收集:1.对手动创建的脚本赋予权限chmod 777  xxx.sh2.在windows里面编辑的.sh文件是doc格式的,而linux只支持unix格式的脚本使用vi xx.sh 并使用 :set ff=unix 或 :set fileformat=unix 命令修改格式...

2018-10-30 14:04:54

Java8 Stream 流库 (二)

stream API 简单应用1.循环list List<String> list = Lists.newArrayList(); //Lists 是一个工具类 类似还有Maps list.add("a"); list.add("b"); list.add("c"); list.add("d"); ...

2018-10-25 15:21:13

Java8 Lambda表达式 (一)

前言java8中有两个最值得学习的特性,Lambda表达式和Stream API定义:Lambda表达式是一种简洁的语法定义代码块,可以在以后执行一次或多次。由来:在此之前,在 Java 中传递一个代码段并不容易, 不能直接传递代码段 。Java 是一种面向对象语言,所以必须构造一个对象,这个对象的类需要有一个方法能包含所需的代码。java8通过lambda表达式来支持函数式编程。...

2018-10-24 17:26:31

Spring Boot 整合 RabbitMq — 三种Exchange模式

前言AMQP(Advanced Message Queuing Protocol, 高级消息队列协议)是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。RabbitMq与spring boot整合简单了解引入springboot am...

2018-10-16 15:03:16

RabbitMQ 入门 (三) Exchange三种模式 —发布订阅、路由、通配

ExchangeRabbitMQ的消息队列模型的核心概念是:生产者从不直接往队列里发送任何消息。实际上,多数情况下生产者甚至不知道消息是否会被发送到队列里。与此相反,生产者只能将消息发送到一个交换器里。交换器做的事情很简单。一方面它接收生产者发送过来的消息,另一方面它将收到的消息推入队列里。交换器必须明确对于收到的消息它该怎么处理。这条消息是否应该附加到某个特定的队列后面?这条消息是否应该...

2018-10-12 15:44:26

RabbitMQ入门 (二) Hello World 与 工作队列

  <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.4.2</version> </dependency>H

2018-10-12 10:35:44

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。