后端

LeetCode-165-比较版本号

比较版本号 题目描述:给你两个版本号 version1 和 version2 ,请你比较它们。 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。 比较版本号

代码生成器辅助类Stub、StubQueue与CodeletMark

认识Stub与StubQueue 初始化模板表我们介绍过TemplateInterpreter::initialize()函数,在这个函数中会调用TemplateTable::initialize()函数初始化模板表,随后会使用new关键字初始化定义在AbstractInterpreter类中的_code静态属性,如下: static StubQueue* _code; 由于TemplateIn

分类讨论——一元一次方程的应用之相距问题

行程问题中有三个基本量:速度、时间、路程,他们之间的关系为:速度×时间=路程。一般地,若同向则为追及问题;若相向则为相遇问题。 无论是追及还是相遇问题,在追及/相遇之前,两者的距离越来越小直到为0,在追及/相遇之后,两者的距离又从0开始越来越大。所以,若题目涉及两者相距多少距离的问题时,则需分两种情况进行讨论:①追上/相遇之前,两者相距这个距离;②追上/相遇之后,两者相距这个距离。 在解决行程问题

Java可变参数与数组

1. 可变参数 可接收多个同类型实参,本质是一个数组 语法:数据类型... 形参名 必须定义在参数列表的最后,且一个方法只能有一个可变参数 Class<?>... parameterTypes Class<?>[] types 可变参数和数组作为方法参数时的区别: 可变参数只能有一个,数组可以有多个 可变参数只能定义在参数列表的末尾,数组可以在任何位置 可变参数可以

python之多线程

1. 相关概念 1.1 解释器 Python 解释器的主要作用是将我们在 .py 文件中写好的代码交给机器去执行,比较常见的解释器包括如下几种: CPython:官方解释器,我们从官网下载安装后获得的就是这个解释器,它使用 C 语言开发,是使用范围最广泛的 Python 解释器。 Jython:由 Java 编写,它可以将 Python 代码编译成 Java 字节码,再由 JVM 执行对应的字节

动态代理-Java-含源码解析

什么是代理模式:代理模式是一种结构型设计模式,主要用于给某一个对象提供代理对象,并由代理对象控制对真实对象的访问。 主要应用:Spring AOP、日志、用户鉴权、Hibernate数据查询、测试框架的后端mock、RPC远程调用、Java注解对象获取、、全局性异常处理、性能监控,甚至事务处理等。 代理模式角色:主要分为调用方、代理对象,业务对象、抽象接口 抽象接口:定义对外提供的方法(功能)。

非官方常用类:MessageInfo 消息接口

消息接口 消息接口定义了两个方法: String getCode()和 String getMessage() getCode()返回编码,对应接口调用时返回成功或者失败的返回码或者错误码 getMessage()返回文字描述信息,对应接口调用时的成功或者失败的描述,或者详细的异常信息,用于展示 使用 本接口常用于构造Result类。 由于 MessageInfo 是一个接口,其实现就非常灵活

从单机架构到分布式:Redis为何成为架构升级的关键一环?

 目录1.前言插播一条消息~2.正文2.1单机架构2.1.1核心定义与应用场景2.1.2优势2.1.3缺点2.1.4走向分布式2.2何为分布式2.3数据库分离2.3.1问题分析2.3.2解决方案2.3.3新的局限与问题2.4负载均衡2.4.1问题分析2.4.2解决方案:负载均衡2.4.3优势以及新瓶颈2.5读写分离2.5.1核心与流程2.5.2局限与新问题 2.6引入缓存2.6.1读

分治法求序列中的最大和次大元素

分治法是指将一个复杂的,规模为n的问题分解为k个规模较小的子问题,这些子问题相互独立且与原问题形式相同,递归的解这些子问题,然后将各子问题的解合并得到原问题的解的算法设计策略。 对于无序序列a[low...high],采用分治法求最大元素max1和次大元素max2的过程如下: [if !supportLists](1)  [endif]若a[low...high]中只有一个元素,则max1 = a