后端

Buffer/ByteBuffer/ByteBuf详解

ByteBuffer ByteBuffer是一个抽象类,NIO编程中经常会使用,Netty常用的ByteBuf实际上也是对其的一种封装 Byte即字节,一个8位的二进制 Buffer即缓冲区,所谓缓冲区,其实就是一个临时存储数据的容器(可以理解为一个数组),而且一般可以重用 缓冲区 缓冲区有什么用呐? 减少实际的物理读写次数 缓冲区创建时分配固定内存,这块内存区域可被重用,减少动态分配和

17. equals和==的区别

文章参考: # 1、背景介绍 == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。 equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有

代码坏味道:大类

一个类之所以成为大类,一种表现形式是长函数,还有一种表现形式是类里面有特别多的字段和函数,也许,每个函数都不大,但架不住数量众多。这次我们就主要来说一下这种形式的大类。 之所以说大类是一个坏味道,因为一个人理解的东西是有限的,没有人能同时面对所有细节。而人类面对复杂事物给出的解决方案是分而治之。经过分解拆分,人们面对的不再是细节,而是模块,模块的数量显然会比细节数量少,这样人们的理解成本就降低了。

图解LeetCode——792. 匹配子序列的单词数(难度:中等)

一、题目 给定字符串 s 和字符串数组 words, 返回 words[i] 中是s的子序列的单词个数 。 字符串的 子序列 是从原始字符串中生成的新字符串,可以从中删去一些字符(可以是none),而不改变其余字符的相对顺序。 例如, “ace” 是 “abcde” 的子序列。 二、示例 2.1> 示例 1: 【输入】 s = "abcde", words = ["a","bb","

LeetCode练习day7-贪心

* [1. 分配饼干] * [2. 不重叠的区间个数] * [3. 投飞镖刺破气球] * [4. 根据身高和序号重组队列] * [5. 买卖股票最大的收益] * [6. 买卖股票的最大收益 II] * [7. 种植花朵] * [8. 判断是否为子序列] * [9. 修改一个数成为非递减数组] * [10. 子数组最大的和] * [11. 分隔字符串使同种字符出现在一起] 保证每次操作都是局部最

算法与活法

最初听到算法这个词的时候, 头脑中闪现出来的第一印象就是数学, 等到深入了解的时候, 才发现算法之中的奇妙之处。 某些方面来看, 一个人都有自己的人生算法, 这些人生算法也决定了会有什么样的活法。 这一句话也可以反过来看, 有什么样的活法, 背后就是与之匹配的算法。 某个层面上来看, 任何的事物都有一套自己的算法, 也可以说, 你有你的算法, 别人有别人的算法, 当这些算法接近的时候, 大家得到

Spring源码启动过程以及拓展点

容器启动过程 第一步先调用this();构造方法,这时父类构造器会初始化容器的 beanFactory 属性,属性为DefaultListableBeanFactory,带有存储BeanDefinition 和单例 bean 的功能 新建一个注解Bean定义读取器 new AnnotatedBeanDefinitionReader(this); 这个读取器主要是初始化环境变量,以及注册 一些

第9章·代码的进化

书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 总目录 第 9 章 代码的进化 1、目录 9.1 遗传算法:启发自真实现象 9.2 为什么使用遗传算法 9.3 达尔文的自然选择 9.4 遗传算法,第一部分:创建种群 9.5 遗传算法,第二部分:选择 9.6 遗传算法,第三部分:繁殖 9.7 创建

webpack4+react项目搭建(一)

webpack配置 1.初始化项目 npm init 安装webpack npm install webpack 2.创建配置目录结构 build---webpack配置 webpack.common.js webpack基础配置 webpack.dev.js webpack开发配置 webpack.prod.js webpack生产配置 config---项目环境配置 scripts---

微服务架构下网关的技术选型

1 简介 当使用单体应用程序架构时,客户端(Web 或移动端)通过向后端应用程序发起一次 REST 调用来获取数据。负载均衡器将请求路由给 N 个相同的应用程序实例中的一个。然后应用程序会查询各种数据库表,并将响应返回给客户端。微服务架构下,单体应用被切割成多个微服务,如果将所有的微服务直接对外暴露,势必会出现安全方面的各种问题,另外内外耦合严重。 客户端可以直接向每个微服务发送请求,其问题主要如