后端

为何最终我放弃了 Go 的 sync.Pool

声明: 本文并非否定 sync.Pool,而是分享技术选型的思考过程,帮助大家更准确地使用它 为何最终我放弃了 Go 的 sync.Pool 一、使用场景 1.1、引入: 1.2、什么是sync.pool? 二、如何使用 2.1、声明对象池 2.2、GET & PUT 三、实例

【MySQL】从零开始学习MySQL:基础与安装指南

MySQL作为世界上最受欢迎的关系型数据库之一,在电商、SNS、论坛等场景中应用广泛。作为学计算机的,数据库的水平是衡量一个程序员水平的重要指标需要掌握MySQL。本文 将以Linux下的MySQL,从基础概念出发,完成MySQL安装。 一、MySQL基础认知:为什么选择它? 1.1什么是数据库?

《数据结构和算法之美》学习笔记 Day 2

课程:《复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?》 总结 算法的一个非常重要的的考量指标是执行效率,复杂度分析就是用来衡量代码执行效率的一种方法。前面又提到复杂度分析是数据结果和算法学习的精髓。 为什么需要复杂度分析? 1. 实际的测试结果非常依赖测试环境 比如测试环境硬件配置不一样,得到的结果截然不同 2. 测试结果受数据规模的影响很大 比如排序算法,就会受实际测试数据的有序

No.43 重力问题和锚问题

原文摘录: ”锚问题“和”重力问题“的区别: ”锚问题“,是指有一类问题不会自行消失,我们把这样的问题称为”锚问题“。 这类问题就像真正的锚一样,把你固定在一个地方,让你无法前进。 "锚问题”,是一个现实问题,它只是难以解决,它具有可操作性——但是因为我们被困在上面的时间太长,所以感觉它变得难以逾越了。这就是必须对锚问题重新定义的原因。这类问题需要我们开拓思路、寻找新的解决办法,如原型测试。 ”重

Leetcode 102. 二叉树的层序遍历

题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] </pre> 示例 2: 输入:root = [1] 输出:[[1]] 示例 3: 输入:root = [] 输出:[] </pre> 提示:

LeetCode - #124 二叉树中的最大路径和(Top 100)

前言 本题为 LeetCode 前 100 高频题 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新到 123 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提

Android性能优化之启动优化(实战篇)

目录 一、启动优化的意义 二、启动时间检测 三、启动优化工具---traceview 四、优化方案 1.异步初始化 2.延迟初始化 3.懒加载 五、源码地址 六、总结 一、启动优化的意义 用户新安装一个app,第一印象很重要,那首先给用户感受的就是启动时间,如果用户等待时间过长,就体验很差,如果我们能在满足功能的基础上,把启动时间提升一个等级,无疑给我们的产品赢得更多的用户量打下来基础。

如何使用SpringBoot的缓存 @Cacheable

一、简介 1、缓存介绍 Spring 从 3.1 开始就引入了对 Cache 的支持。定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术。并支持使用 JCache(JSR-107)注解简化我们的开发。 其使用方法和原理都类似于 Spring 对事务管理的支持。Spring

【教3妹学java】6.String是引用类型吗?

3妹 2哥:3妹,我们已经学习了java的基本数据类型和引用类型,那你知道String是引用类型吗? 3妹:String是引用类型。Java语言除了8大基本类型(byte,short,char,int,long,float,double,boolean), 其他的都是引用类型, 所以String也是引用类型。 2哥:great, 答对了,那我再问你,以下这些概念你了解吗? Strin