自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 oneAPI Deep Neural Network Library (oneDNN) 简要介绍与examples测试

oneDNN什么是oneDNN?编程模型基本概念介绍PrimitivesEnginesStreamsMemory ObjectsLevels of Abstraction内存格式传播Primitive Attributes浮点数学模式属性关于默认浮点数学模式的说明量化简介后置操作便笺数据类型推理和训练支持的原语Convolution在Intel oneAPI上运行什么是oneDNN?oneAPI 深度神经网络库 (oneDNN) 是一个开源的跨平台性能库,其中包含用于深度学习应用程序的基本构建块。该库针

2022-04-24 09:04:28 4735

原创 LeetCode - 20. Valid Parentheses

文章目录题干代码解题思路题干Given a string containing just the characters ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, determine if the input string is valid.An input string is valid if:Open brackets must be closed by the same type of brackets.Open brackets must be closed in t

2020-08-20 12:41:35 217

原创 LeetCode - 13. Roman to Integer

文章目录题干代码解题思路题干Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.Symbol ValueI 1V 5X 10L 50C 100D 500M 1000For example, two i

2020-08-20 10:31:15 173

原创 Dubbo引入与概述

文章目录引入单一应用架构垂直应用架构分布式服务架构流动计算架构概述什么是 RPC为什么要用 DubboDubbo架构图解重点知识说明工作原理各层说明引入随着互联网发展,网站应用规模的不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起优点:以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。缺点:所有功能都部署在一起,当部分功能

2020-05-20 15:22:24 264

原创 RabbitMQ之高级学习

文章目录实例3概述代码结果实例4概述代码结果实例5概述代码结果实例3概述在实例3里,我们会将同一个任务消息发送给多个工人。这种模式就是“发布/订阅”。以一个日志系统进行讲解:一个日志发送者,两个日志接收者,接收者1可以把这条日志写入到磁盘上,另外一个接收者2可以将这条日志打印到控制台中。“发布/订阅”模式的基础是将消息广播到所有的接收器上。交换器交换器必须知道它所接受的消息是什么?消息应该被放到哪个队列中?消息应该被添加到多个队列吗?还是应该丢弃?这些规则都是按照交换器的规则来确定的。

2020-05-17 15:51:54 156

原创 RabbitMQ之基础学习

文章目录RabbitMQ原理图基本操作流程实例1描述代码结果实例2描述代码结果涉及的函数消息确认basicQosbasicConsumebasicPublish()queueDeclare()RabbitMQ原理图发布消息需要经过Exchange交换机,然后它根据自身的交换类型以及和Queue的Binding Key来决定这条消息是发送到哪个队列。基本操作流程创建ConnectionFactory对象,利用抽象工厂模式获取连接。从获取的连接中获取通道。创建队列,将通道与队列绑定。生产者通过

2020-05-17 10:59:10 620

原创 RabbitMQ概述

RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue)的开源实现。RabbitMQ解决了什么问题对于一个大型的软件系统来说,它会有很多的组件或者说模块。那么这些模块如何通信?传统的IPC很多都是在单一系统上的,模块耦合性很大,不适合扩展。就算使用socket也还有许多问题:1. 信息的发送者和接受者如何维持这个连接,如果一方的连接中断,这期间的数据怎么办?2. 如何降低发送者和接受者的耦合度?3. 如何让Priority高的接受者先接到数据?4. 如

2020-05-17 10:33:48 317

原创 Nginx概述

文章目录Nginx五大模块核心模块标准HTTP模块可选HTTP模块邮件HTTP模块第三方模块Nginx服务器处理请求Nginx架构架构-进程交互Nginx五大模块Nginx核心模块标准HTTP模块可选HTTP模块邮件服务模块第三方模块核心模块提供最基本的核心服务。像进程管理、权限控制、错误日志记录等。标准HTTP模块支持标准HTTP功能可选HTTP模块扩展标准HTTP功能。邮件HTTP模块支持Nginx的邮件服务。第三方模块完成开发者想要的功能。Nginx服务器处理请求Nginx

2020-05-12 11:56:00 121

原创 CDN之负载均衡系统

文章目录概述负载均衡的实现四层负载均衡七层负载均衡两者对比负载均衡算法轮询均衡(Round Robin)权重轮询均衡(Weighted Round Robin)随机均衡(Random)权重随机均衡(Weighted Random)响应速度均衡(Response Time)最少连接数均衡(Least Connection)处理能力均衡DNS响应均衡(Flash DNS)散列算法均衡IP地址散列URL散列概述负载均衡系统是整个CDN系统的核心,负载均衡根据当前网络的流量分布、各中心机房服务器的负载和用户请求

2020-05-12 11:50:32 750

原创 CDN原理

文章目录概述CDN的关键技术内容发布内容路由内容交换性能管理CDN主要特点本地缓存加锁镜像服务带宽优化集群抗攻击概述CDN(Content Delivery Network )内容分发网络,指基于部署在各地的机房服务器,通过中心平台的负载均衡、内容分发、调度的能力,使用户就近获取所需内容,降低网络延迟,提升用于用户访问的响应速度和体验度。CDN的关键技术内容发布借助建立索引、缓存、流分裂、组播等技术,将内容发布到网络上距离用户最近的中心机房。内容路由通过内容路由器中的重定向(DNS)机制,在多

2020-05-12 11:46:18 124

原创 基于ZooKeeper的分布式锁——抢购书本

目录简要config层controller层dto层mapper和model层service层util过程简要记录一个小项目,通过ZooKeeper加锁实现并发控制。config层@Configurationpublic class CuratorConfig { @Autowired private Environment env; @Bean pub...

2020-05-06 22:15:44 198

原创 ZooKeeper之session

目录什么是session为什么会有会话机制Sessionsession实现什么是session使用客户端来创建一个和zk服务端连接的句柄,这就是一个会话(session)。为什么会有会话机制Sessionclient跟ZooKeeper集群中的某一台server保持连接,发送读/写请求,读请求直接由当前连接的server处理,写请求由于是事务请求,由当前server转发给leader进行...

2020-05-05 22:18:31 199

原创 ZooKeeper之Zab协议

目录实现什么是Zab协议Zab 协议的特性Zab协议原理Zab协议核心Zab协议内容崩溃恢复消息广播Zab 的四个阶段选举阶段(Leader Election)发现阶段(Descovery)同步阶段(Synchronization)广播阶段(Broadcast)实现ZooKeeper服务可以在两种模式下运行。在standalone模式下,我们可以运行一个单独的ZooKeeper服务器,我们可...

2020-05-05 22:15:24 230

原创 ZooKeeper简介与应用

简介ZooKeeper是一款开源的分布式服务协调中间件。其设计初衷是开发一个通用的无单点问题的分布式协调框架,采用统一的协调管理方式更好地管理各个子系统,从而让开发者将更多的精力集中在业务逻辑处理上,最终使整个分布式系统看上去就像是一个大型的动物园,而ZooKeeper则正好用来协调分布式环境中的各个子系统。...

2020-05-05 21:58:13 265

原创 为什么需要ZooKeeper?

我们需要一个用起来像单机但是又比单机更可靠的东西。在分布式系统中,也需要这样的协调者,来回答系统下各个节点的提问。比如我们搭建了一个数据库集群,里面有一个Master,多个Slave,Master负责写,Slave只读,我们需要一个系统,来告诉客户端,哪个是Master。有人说,很简单,我们把这个信息写到一个Java服务器的内存就好了,用一个map,key:master,value:mast...

2020-05-05 21:38:44 409

原创 在Linux上安装与运行ZooKeeper

目录上传文件解压文件配置文件运行上传文件这里使用的是WinSCP。解压文件tar -zxvf zookeeper-3.4.13.tar.gz进入bin可以看到如下文件配置文件在bin同级目录下新建文件data更改conf文件中的zoo_sample.cfg为zoo.cfg编辑zoo.cfg,将dataDir更改为新建的data路径运行进入bin目录.sh在L...

2020-05-05 21:27:14 139

原创 Java NIO

目录概述Java NIOBufferChannelSelector概述NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Java NIOBuffer一个用于特定基本数据类行的容器。有java....

2020-05-05 10:46:09 124

原创 Java网络编程 I/O模型

网络编程概述网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用。网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一些处理,代码、开发工具、数据库、服务器架设和网页设计这5部分你都要接触。同步与异...

2020-05-05 10:35:59 339

转载 【转】使用CSDN的markdown编辑器插入数学公式

mark一下:原文链接

2020-05-05 09:45:38 152

原创 LeetCode - 633. Sum of Square Numbers

目录概述ExampleExplanation思路代码LeetCode:633. Sum of Square Numbers概述EasyGiven a non-negative integer c, your task is to decide whether there’re two integers a and b such that a2 + b2 = c.一个非负数能否是两个数的...

2020-05-05 09:03:12 109

原创 LeetCode - 167.Two Sum II - Input array is sorted

@[TO奥德赛)欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。[ ][ ] sas我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写...

2020-05-05 08:22:12 167

空空如也

空空如也

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

TA关注的人

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