关系逻辑

笔记-摘录-杂项:20191130

天涯浪子 提交于 2019-12-06 04:31:34
ylbtech-笔记-摘录- 杂项 :20191130 1. 返回顶部 1、 1. SOFA(Scalable Open Financial Architecture)是蚂蚁金服自主研发的金融级分布式中间件,专注为金融用户提供安全、稳定、可靠、高效、敏捷的基础架构能力,帮助金融用户解决传统集中式架构转型的困难,打造大规模高可用的分布式系统架构,加快金融“互联网+”推进的速度。 海量高并发的真实场景验证:经受过 2016 年春节红包咻一咻峰值 177 亿次/分钟;2016 年双 11 支付峰值 12 万笔/秒的真实考验,轻巧、灵便的分布式架构保障了用户访问依然保持了顺畅。 金融业务全方位覆盖应用 :广泛地应用蚂蚁金服旗下的支付宝、花呗、余额宝、借呗、网商银行等业务的核心资金链路,包括于交易、转账、红包等,保障上千亿资金的安全操作。 本次系列培训将从理论+实战的方式着手,帮助大家在学中做,在做中学,通过面对面的深入探讨和交流,轻松掌握所需技术能力,加速提升能力! 2. 胡哲敷:五百年来,能把学问在事业上表现出来的,只有两人:一为明朝的王守仁,一则清朝的曾国藩。 3. Maple T.A.:在线考试和自动评估系统 4. 类库 - 类库是一些函数的集合,它能帮助你写WEB应用。起主导作用的是你的代码,由你来决定何时使用类库。类库有:jQuery等 框架 - 框架是一种特殊的

详解Condition的await和signal等待/通知机制

谁说胖子不能爱 提交于 2019-12-06 03:34:59
本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。 传送门: https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q 1.Condition简介 任何一个java对象都天然继承于Object类,在线程间实现通信的往往会应用到Object的几个方法,比如wait(),wait(long timeout),wait(long timeout, int nanos)与notify(),notifyAll()几个方法实现等待/通知机制,同样的, 在java Lock体系下依然会有同样的方法实现等待/通知机制。从整体上来看Object的wait和notify/notify是与对象监视器配合完成线程间的等待/通知机制,而Condition与Lock配合完成等待通知机制,前者是java底层级别的,后者是语言级别的,具有更高的可控制性和扩展性。两者除了在使用方式上不同外,在功能特性上还是有很多的不同: Condition能够支持不响应中断,而通过使用Object方式不支持; Condition能够支持多个等待队列(new 多个Condition对象),而Object方式只能支持一个;

SDN课程阅读作业(2)

蓝咒 提交于 2019-12-06 03:24:51
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 可编程网络的发展可分为以下三个阶段 (1)主动网络(Active networking,20世纪90年代中期到21世纪初):在网络中引入了可编程功能,以实现更大的创新。 开创了可编程网络的概念,以此来降低网络创新的障碍。 主动网络是第一批干净的网络架构方法。 提供了平台的可移植性和一些代码安全。 网络虚拟化,以及基于数据包头对软件程序进行多路分解的能力。 为middlebox编排提供统一架构的构想。 (2)将控制面与数据面分离(Separating Control and Data Planes,2001年-2007年左右):开发了控制和数据平面之间的开放接口。 催生了两项创新:控制平面与数据平面之间的开放接口和在逻辑上对网络的集中控制。 将控制功能从网络设备转移到单独的服务器上。逻辑集中式路由控制器是通过开源路由软件的出现而实现的,它降低了创建原型实现的障碍。服务器技术的进步意味着单个商品服务器可以存储所有的路由状态并计算大型ISP网络的所有路由决策。着反过来又启用了简单的主备份复制策略,其中备份服务器存储于主服务器相同的状态并执行相同的计算,以确保控制器的可靠性。 提出了两个概念:使用数据平面的开放接口进行逻辑控制和分布式状态管理。 4D项目主张四个主要层:数据平面(用于基于可配置规则处理分组)、发现平面

Spring初探:概念认知与特点分析

扶醉桌前 提交于 2019-12-06 02:55:31
Spring初探 1. Spring是什么? Spring 是一个开源的轻量级 Java SE( Java 标准版本)/Java EE( Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成的。所以开发一个应用除了要开发业务逻辑之外,最多的是关注使这些对象协作来完成所需功能的同时,实现低耦合、高内聚。所以,业务逻辑开发是不可避免的。如果有个框架可以帮我们来创建对象及管理这些对象之间的依赖关系,能通过配置方式来创建对象,管理对象之间依赖关系,我们不需要通过工厂和生成器来创建及管理对象之间的依赖关系,这样我们必然会减少许多工作量,加快开发。Spring 框架问世之初主要就是来完成这个功能。 2. Spring技术可以用来干什么? Spring 框架除了帮我们管理对象及其依赖关系,还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,可以帮我们管理最头疼的数据库事务,同时,它本身提供了一套简单的 JDBC 访问实现,能与第三方数据库访问框架集成(如 Hibernate、JPA ),与各种 Java EE 技术整合(如 Java Mail、任务调度等等),提供一套自己的 web 层框架 Spring MVC 、而且还能非常简单的与第三方 web 框架集成。从这里我们可以认为 Spring

揭秘 TiDB 新优化器:Cascades Planner 原理解析

不羁岁月 提交于 2019-12-05 22:22:52
作者:MingCong Han 在《 十分钟成为 Contributor 系列 | 为 Cascades Planner 添加优化规则 》中,我们简单介绍了 Cascades 的相关背景知识,本文将为大家深入介绍 TiDB 新的优化器——Cascades Planner 的框架及原理。 TiDB 当前优化器简介 关系型数据库中查询优化器的作用是为一个 SQL 在合理的开销内产生一个合适的查询计划, TiDB 源码阅读系列文章(六)Select 语句概览 中介绍过 TiDB 当前优化器的基本组成,TiDB 当前的优化器将优化过程主要分为逻辑优化(Logical Optimize)和物理优化(Physical Optimize)两个阶段。逻辑优化是将一棵逻辑算子树(LogicalPlan Tree)进行逻辑等价的变化,最后的结果是一棵更优的逻辑算子树;而物理优化则是将一棵逻辑算子树转换成一棵物理算子树(PhysicalPlan Tree)。这棵物理算子树就是我们说的物理执行计划,将交由 TiDB 执行引擎去完成后续的 SQL 执行过程。 逻辑优化 TiDB 中,一个 SQL 在进入到逻辑优化阶段之前,它的 AST(抽象语法树)已经转换成了对应的逻辑算子树,因此逻辑优化就是将一个逻辑算子树进行逻辑上等价变换的过程。逻辑优化是基于规则的优化(Rule-Based Optimization

数据结构 期末复习(1) 数据结构基本概念与顺序表基本操作

痴心易碎 提交于 2019-12-05 21:55:24
数据结构基本概念与顺序表基本操作 判断题 若用链表来表示一个线性表,则表中元素的地址一定是连续的。F 解析:存储方式为链式存储,地址可以是连续的也可以是分散的。 抽象数据类型中基本操作的定义与具体实现有关。F 解析:!!抽象数据类型、存储结构定义 单选题 在数据结构中,与所使用的计算机无关的数据结构是(A) A. 逻辑结构 B. 存储结构 C. 逻辑结构与存储结构 D. 物理结构 从物理存储上可以把数据结构分为 B A. 动态结构、静态结构 B. 顺序结构、链式结构 C. 线性结构、树形结构、图形结构和集合结构 D. 基本结构、构造型结构 下列关于数据的逻辑结构的叙述中,(A)是正确的。 A. 数据的逻辑结构是数据元素间关系的描述 B. 数据的逻辑结构反映了数据在计算机中的存储方式 C. 数据的逻辑结构分为顺序结构和链式结构 D. 数据的逻辑结构分为静态结构和动态结构 图形结构中元素之间存在(C)关系。 A. 一对一 B. 一对多 C. 多对多 D. 多对一 以下说法正确的是(D)。 A. 数据元素是数据的最小单位 B. 数据项是数据的基本单位 C. 数据结构是带有结构的各数据项的集合 D. 一些表面上很不相同的数据可以有相同的逻辑结构 数据的(B)包括集合、线性结构、树形结构和图形结构四种基本类型。 A. 存储结构 B. 逻辑结构 C. 基本运算 D. 算法描述

数学、逻辑与计算机科学的关系

荒凉一梦 提交于 2019-12-05 20:45:45
数学、逻辑与计算机科学的关系 数学、逻辑是与计算机科学密不可分的。数学是基础材料,逻辑是支柱,计算机科学是大厦。 首先,是数学与逻辑的关系。 数学基础的讨论主要在19世纪末20世纪初,当时对数学的看法有许多流派,其中一派是逻辑主义学派,认为数学可以完全由逻辑得到。但后来数理逻辑中的一些深刻结果则否定了这种观点。事实上,数学不能完全由逻辑得到,即,如果要求数学是无矛盾的,那么,它就不可能是完备的。 现在对数学看法的主流是源于Hilbert的形式主义数学的观点。粗略地说,就是公理化的观点。也就是说,人们可以从实际出发(也可以从空想出发),给出一组无矛盾、不多余的公理,这种公理系统下就形成一种数学。在建立公理以后的事情则属于逻辑。 所以,逻辑是数学的重要方法和基础,但不是数学的全部。反过来,数学也不包括逻辑的全部。逻辑学主要是(至少曾经是)哲学的一支,它不仅研究逻辑命题的推演关系,也研究这种关系为什么是对的,等等。逻辑学中影响数学的主要是形式逻辑和数理逻辑,但涉及哲学思辨的部分就不在数学的范畴之中了。 其次,是数学与计算机的关系。 因为计算机是一种进行数值计算、逻辑推理、符号处理等方面信息加工的机器,有人就称它为数学的机器;近年由于计算机应用的拓广,其系统软件与应用软件发展很大,吸引了甚为巨大的社会人力与财力,形成了一种新兴的工业,人们认为这是继土木工程,机械工程

Dubbo源码分析-Remoting层

余生长醉 提交于 2019-12-05 20:44:47
Dubbo Github地址 https://github.com/alibaba/dubbo.git Dubbo Remoting 模块是dubbo底层通信模块的实现。实现对请求/应答的各种逻辑处理,包括同步,异步,心跳等逻辑,最底层的通信借助netty或者mina实现,还有通过jetty servlet暴漏http服务的实现方式。 Remoting Api 公共基础接口类 Endpoint Endpoint 字面意思是端点,端点接口的基本操作有获取端点对应的URL,LocalAddress,及发送关闭Channel的操作; Channel Channel接口继承Endpoint ,多了对Attribute的操作接口(get,set,remove)及获取连接状态接口,多了获取远端的操作getRemoteAddress方法; ChannelHandler ChannelHandler 主要包含对Channel的一些处理: connected(Channel channel); disconnected(Channel channel); sent(Channel channel, Object message); received(Channel channel, Object message); Client Client继承了Endpoint, Channel,

Gradle之介绍

我的未来我决定 提交于 2019-12-05 20:05:21
Gradle是基于 JVM 构建工具的新一代版本。它从现有的构建工具如Ant和Maven中学到了很多东西,并且把它们的最优思想提升到更高层次。遵循 基于约定 的构建方式,Gradle可以用一种 声明式 的方式为你的问题领域建模,它使用一种强大的且具有表达性的基于 Groovy 的领域特定语言( DSL ),而不是XML,因为Gradle是基于JVM的,它允许你使用自己最喜欢的Java或Groovy语言来编写定制逻辑。 为什么应该选择Gradle Gradle构建脚本是声明式的,可读的,并且清晰地表达它们的意图。用Groovy而不是XML写代码,挥洒着Gradle基于约定建构的哲理,大大地降低构建脚本的大小而且更易读。看到用Gradle实现相同的目标所需要编写的代码时确实让人感到惊讶。使用Gradle时,你不需要做出妥协。而像 Maven 这样的构建工具提出的项目布局就是“ 要么我的方式,要么复杂的方式 ”,Gradle的DSL提供了灵活性去适应非约定项目布局。Gradle的座右铭: “让不可能成为可能,让可能变得简单,让简单变得优雅”。不要改变一个正在运行的系统,你说呢?你的团队已经花费大量的时间来建立项目构建代码基础设施。 Gradle并不强迫你完全迁移所有的构建逻辑。它和其他构建工具如Ant和Maven有非常好的集成,这是Gradle优先级列表中的最高优先级

一条 SQL 在 Apache Spark 之旅

喜夏-厌秋 提交于 2019-12-05 16:42:10
转载自过往记忆大数据 https://www.iteblog.com/archives/2561.html Spark SQL 是 Spark 众多组件中技术最复杂的组件之一,它同时支持 SQL 查询和 DataFrame DSL。通过引入了 SQL 的支持,大大降低了开发人员的学习和使用成本。目前,整个 SQL 、 Spark ML、Spark Graph 以及 Structured Streaming 都是运行在 Catalyst Optimization & Tungsten Execution 之上的,如下图所示: 所以,正常的 SQL 执行先会经过 SQL Parser 解析 SQL,然后经过 Catalyst 优化器处理,最后到 Spark 执行。而 Catalyst 的过程又分为很多个过程,其中包括: Analysis:主要利用 Catalog 信息将 Unresolved Logical Plan 解析成 Analyzed logical plan; Logical Optimizations:利用一些 Rule (规则)将 Analyzed logical plan 解析成 Optimized Logical Plan; Physical Planning:前面的 logical plan 不能被 Spark 执行,而这个过程是把 logical plan