1 【常规】Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以...
为了达到如下关系路径的实现于是我们建立两层 Map 即可让我们先看第一层 map,即可将父 - 子节点的映射关系建立,如果没有父节点的设为 root 为父.,即为顶级节点.再建立子节点和行对应关系...
1 概览完好的程序都满足以下特征自动运行我们的程序和指令都是一条条顺序执行,不需要通过键盘或者网络给这个程序任何输入正常运行没有遇到计算溢出之类的程序错误。不过,现实的软件世界可没有这么简单程序不仅是简单的执行指令,更多的还需要和外部的输入输出打交道程序在执行过程中,还会遇到各种异常情况,比如除以0、 溢出,甚至我们自己也可以让程序抛出异常。遇到这些情况,计算机是...
CopyOnWriteArrayList.java和ArrayList.java,这2个类的构造函数,注释中有一句话 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public ArrayList(Collection<? ...
0 简介0.1 记忆技巧实线-继承 虚线-实现实线-关联 虚线-依赖空心菱形-聚合 实心菱形-组合时序图2 UML类图讲解- 自上而下2.1 依赖关系(Dependency)依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。大多数情况下,依赖关系体现在某个...
时序图
如今的世界,正是因为互联网,才连接在一起。当"Hello World!"从显示器打印出来的时候,还记得你激动的心情吗?作为程序员,一定看得懂上面这一段文字。这是每一个程序员向计算机世界说“你好,世 界”的方式。但是,你不一定知道,这段文字也是一种协议,是人类和计算机沟通的协议,只有通过这种协议,计算机才知道我们想让它做什么。1 协议三要
1 概述限流算法主要有如下几种:基于信号量Semaphore只有数量维度,没有时间维度基于fixed window带上了时间维度,不过在两个窗口的临界点容易出现超出限流的情况,比如限制每分钟10个请求,在00:59请求了10次,在01:01又请求了10次,而从00:30-01:30这个时间窗口来看,这一分钟请求了20次,没有控制好基于rolling window就是要解决fixed window没解决的窗口临界问题,主要有基于token bucket的算法,以及基于leaky bucket的
1 倒排索引1.1 书的目录和索引正排索引即目录页,根据页码去找内容倒排索引即索引页,根据关键词去找对应页码1.2 搜索引擎正排索引文档Id =》文档内容、单词的关联关系倒排索引单词 =》 文档Id的关联关系左:正排索引 =》 右:倒排索引倒排索引查询流程查询包含"搜索引擎”的文档通过倒排索引获得"搜索引擎”对应的文档Id有1和3通过正排索引查询1和3的完整内容返回最终结果1.3 倒排索引的组成1.3.1 单词词典( Term Dictionar
1 mapping 作用类似数据库中的表结构定义,主要作用如下:定义Index下的字段名( Field Name )定义字段的类型,比如数值型、字符串型、布尔型等定义倒排索弓|相关的配置,比如是否索引、记录position等2 查看 mapping{ "index" : { "mappings" : { "properties" : { "JSON 数据" : { "type" : "text", "fields
控制台warn提示 Illegal DefaultValue null for parameter type integer java出现这个问题主要是使用了 ApiModelProperty 注解修饰了非 String 类型的变量,而此时,example 未赋值造成。@ApiModelProperty(value = "用户 id", dataType = "int", example = "1")private int id;上面这种写法就不会报警告了。除了上面这种方式,还可以使用如下配置避
1 Search API简介实现对 ES 中存储的数据进行查询,endpoint 为 _search//查询全部GET /_search // 指定单个索引查询GET /my_index/_search // 指定多个索引查询GET /my_index1,my_index2/_search // 通配符查询GET /my_*/_search 查询形式URI Search方便通过命令行测试,仅能包含 es 提供的部分查询语法。GET /my_index/_search?q=u
对竞争的态度乐观锁(java.util.concurrent 包中的原子类)悲观锁( Synchronized)等待锁的人是否公平而言公平锁new ReentrantLock (true)非公平锁new ReentrantLock ()是否可以共享共享锁与独享锁: ReadWriteLock ,其读锁是共享锁,其写锁是独享锁...
使用 lambda 配合 stream 时该字段为空了,没有过滤造成的,使用 filter 将该字段为空的过滤即可。
Session代表的是客户端与服务器的一次交互过程,这个过程可以是连续也可以是时断时续的。曾经的Sevlet时代(JSP),一旦用户与服务端交互,Tomcat就会为用户创建一个session,同时前端会有一个jsessionid,每次交互都会携带。服务器只要在接到用户请求时候,就可以拿到jsessionid, 并根据这个ID在内存中找到对应的会话session,当拿到session会话后,那么我们就可以操作会话了。会话存活期间,我们就能认为用户一直处于正在使用着网站的状态,session超期过时,那么就可
过了元旦,以前都和别人说我去年才毕业,好像自己还是个应届生,如今变成前年就毕业了。2020这全球都多灾多难的一年,我的职业历程也是几近颠沛流离。我应该也算是个的老用户了,从我大二开始自学 Java 起,就开始在这里书写每一篇文章,沉淀至今,这些文章都是我四年所学所闻的精华汇集。在 2020 年初,我也创作了一篇阅读量过了三十万的离职文章,很多同学可能也是通过那篇认识我的。的确,在有限的程序员职业生涯中,大家都知道 35 是个过不了的门槛,所以这十年,我们能做出的离职选择也不会太多,但是所有选
IaaS主要是运维负责。ebay中台架构staffjoy 中台参考https://www2.slideshare.net/tcng3716/ebay-architecture
简介Server这里指服务端,它是Serverless解决问题的边界;而less我们可以理解为较少关心,它是Serverless解决问题的目的。组合在一起就是“较少关心服务端”。什么是服务端?现代研发体系主要分为前端和后端,前端负责客户终端的体验,也就是View层;后端负责商业的业务逻辑和数据处理,也就是Control层和Model层。在自己电脑上启动一个端口,浏览器访问即可调试自己的代码,但要将应用部署到互联网,就需运维技能。部署运维一个应用时,由于要考虑容灾和容错,都会保障异地多活,会部署
1 微服务架构的挑战1.1 网络通信服务间网络通信分布式计算的8个谬论Fallacies of Distributed Computing Explained:网络是可靠的网络延迟是0带宽是无限的网络是安全的网络拓扑从不改变只有一个管理员传输成本是0网络是同构的如何管理和控制服务间的通信服务注册、发现路由,流量转移弹性能力(熔断、超时、重试)安全可监控Service Mesh演进史第一阶段:控制逻辑和业务逻辑耦合服务发现(Service disco
serverless字面意思,无服务的架构,当没有request访问或触发时,他不启动任何服务和资源,一旦触发了就会启动服务去处理任务。好处是不用关心服务是否挂了,它适合处理耗时不长的快速事务处理,当流量大的时候,它也能自动扩容去响应客户端。但是如果大量的并发一下冲过来的时候或者一下子没有流量的时候,它的自动扩容和
简介Sentinel 流量控制、熔断降级。会进行流量统计,执行流量控制规则。而统计数据的展示和规则的设置在 sentinel-dashboard 项目中,这是一个 Spring MVC 应用,有后台管理界面,我们通过这个管理后台和各个应用进行交互。当然,你不一定需要 dashboard,很长一段时间,我仅仅使用 sentinel-core,它会将统
由于日志配置繁杂,很多同学喜欢直接cv其他项目或网上博客的配置文件,而不仔细研究每个配置项。最常见的就是重复记录日志,这不但给查看和统计带来不必要麻烦,还会增加磁盘和日志收集系统负担。 下面看几个常见导致该错误的案例,大家引以为戒,避免被辞退。 1 logger配置继承关系错误 定义方法记录debug、info、warn、error四种日志: Logback配置 配置看没啥问题,但执行
创建虚拟DOM元素什么是虚拟DOM用Js对象的形式,来表示DOM和DOM之间的嵌套关系。const mydiv = React. createElement('div', { id: 'mydiv', title: 'div aaa' },'这是一 个div元素' )HTML是
简介Istio,希腊语,意扬帆起航。一个完全开源的服务网格产品,对分布式应用是透明的。也是一个平台,可与任何日志、遥测和策略系统集成。服务于微服务架构,并提供保护、连接和监控微服务的统一方法。...
架构设计1.0架构Istio 服务网格从逻辑上分为数据平面和控制平面。数据平面由一组智能代理(Envoy)组成,被部署为 sidecar。这些代理负责协调和控制微服务之间的所有网络通信。他们还收集和报告所有网格流量的遥测数据。Envoysidecar集合。Istio 使用 Envoy 代理的扩展版本。Envoy 是用 C++ 开发的高性能代理,用于协调服务网格中所有服务的入站和出站流量。Envoy 代理是唯一与数据平面流量交互的 Istio 组件。Envoy 代理被部署为服务的 sideca
XA,2PC,two-phase commit protocol。两阶段事务提交采⽤的是 X/OPEN 组织定义的DTP 模型所抽象的AP应用程序,Application Program,定义事务边界(即定义事务的开始和结束),并且在事务边界内对资源进行操作TM(事务管理器)Transaction Manager,负责分配事务唯一标识,监控事务的执行进度,并负责事务的提交、回滚等RM(资源管理器)Resource Manager,如数据库、文件系统等,并提供访问资源的方式XA 接口xa
消息存储我们回想一下上一篇的内容,即时消息系统中,消息作为互动的载体,是必不可少的要素之一。一般来说,大部分即时消息系统为了便于查看历史消息或者用于暂存离线消息,都需要对消息进行服务端存储,因此,我们先来看一看,这些互动过程产生的消息在服务端应该怎么存储或者暂存。消息索引和消息内容这里,我以点对点消息的存储为例,来讲解一下。点对点消息的参与方有两个:消息发送方和消息接收方。收发双方的历史消息都是相互独立的。互相独立的意思就是:假设发送方删除了某一条消息,接收方仍然可以获取到这条消息。所以,从库.
如果直接在表格这里么写是不行的,只能识别到竖线之前的字符。需要转义用| 或者|来代替
1 注解的字段@RabbitListener注解指定目标方法作为消费消息的方法,通过注解参数指定所监听的队列或者Binding。1.1 containerFactory使用@RabbitListener的containerFactory可设置一个自己明确默认值的RabbitListenerContainerFactory对象。RabbitListenerContainerFactory的bean名称用以创建负责服务于这个端点的消息监听器容器。如果没有指定,使用默认的容器工厂。如果指定了,则返回其工
1 面试题分布式服务接口请求的顺序性如何保证?2 考点分析分布式系统接口的调用顺序,一般来说是不用保证的.但是有时候可能确实需要严格的顺序保证.举个例子:服务 A 调用服务 B,先插入再删除。好,结果俩请求过去了,落在不同机器上,可能插入请求因为某些原因执行慢了一些,导致删除请求先执行了,此时因为没数据所以啥效果也没有;结果这个时候插入请求过来了,好,数据插入进去了,尴尬咯~本该 “...
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号