新猿一马
码龄11年
  • 186,223
    被访问
  • 121
    原创
  • 8,165
    排名
  • 134
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2011-06-25
博客简介:

新猿一马

博客描述:
一个乐观的码农
查看详细资料
  • 4
    领奖
    总分 547 当月 42
个人成就
  • 获得278次点赞
  • 内容获得141次评论
  • 获得498次收藏
创作历程
  • 13篇
    2022年
  • 25篇
    2021年
  • 65篇
    2020年
  • 59篇
    2019年
成就勋章
TA的专栏
  • 最佳实践
    9篇
  • 供应链业务
    1篇
  • RPC框架
    1篇
  • 工作实践总结
    36篇
  • 微服务实践
    16篇
  • Spring Boot
    14篇
  • Spring Cloud
    1篇
  • Java学习笔记
    20篇
  • Java 8
    4篇
  • jvm
    2篇
  • 数据库学习
    27篇
  • Redis
    14篇
  • Mysql
    11篇
  • 分布式技术与原理
    8篇
  • Spring技术与原理
    3篇
  • 数据通信技术
    7篇
  • 消息队列
    4篇
  • 工具提升效率
    12篇
  • 算法和数据结构
    3篇
  • Linux命令学习
    4篇
  • 值得推荐书籍
    5篇
  • 阿里巴巴开发手册
    5篇
  • 代码整洁之道
    1篇
  • 重构-改善既有代码的设计
    6篇
  • 设计模式学习
    7篇
  • 大数据学习
    3篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

CodeTop 记录

206 反转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]实现:class Solution { public ListNode reverseList(ListNode head) { if(head == null) { return head; } ListNode pre = null;
原创
发布博客 2022.05.16 ·
236 阅读 ·
0 点赞 ·
0 评论

Redis集群(主从)脑裂及解决方案

1 集群脑裂redis 的集群脑裂是指因为网络问题,导致 redis master 节点跟 redis slave 节点和 sentinel 集群处于不同的网络分区,此时因为 sentinel 集群无法感知到 master 的存在,所以将 slave 节点提升为master 节点。此时存在两个不同的 master 节点,就像一个大脑分裂成了两个。集群脑裂问题中,如果客户端还在基于原来的 master 节点继续写入数据,那么新的 master 节点将无法同步这些数据,当网络问题解决之后,sentinel
转载
发布博客 2022.05.11 ·
34 阅读 ·
0 点赞 ·
0 评论

如何理解BIO、NIO、AIO的区别?

很多文章在谈论到BIO、NIO、AIO的时候仅仅是抛出一堆定义,以及一些生动的例子。看似很好理解。但是并没有将最基础的本质原理显现出来,如果没有没有从IO的原理出发的话是很难理解这三者之间的区别的。所以本篇文章从Java是如何进行IO操作为开头进行分析。Java中的IO原理首先Java中的IO都是依赖操作系统内核进行的,我们程序中的IO读写其实调用的是操作系统内核中的read&write两大系统调用。那内核是如何进行IO交互的呢?网卡收到经过网线传来的网络数据,并将网络数据写到内.
转载
发布博客 2022.05.10 ·
44 阅读 ·
0 点赞 ·
0 评论

Spring 事务失效的7种场景

目录1、事务失效的7种情况1.1、未启用 spring 事务管理功能1.2、方法不是 public 类型的1.3、数据源未配置事务管理器1.4、自身调用问题1.5、异常类型错误1.6、异常被吞了1.7、业务和spring事务代码必须在一个线程中2、如何快速定位事务相关bug?1、事务失效的7种情况1.1、未启用 spring 事务管理功能@EnableTransactionManagement 注解用来启用 spring 事务自动管理事务的功能,这个注解.
转载
发布博客 2022.05.09 ·
25 阅读 ·
0 点赞 ·
0 评论

深入理解OAuth 2.0

一OAuth 2.0 是什么OAuth 2.0 是一种授权协议。二 为什么用OAuth 2.0OAuth 2.0 这种授权协议,能保证第三方软件只有在获得授权之后,才可以进一步访问授权者的数据,能保证授权者数据的安全性。三OAuth 2.0四种授权流程在 OAuth 2.0 的体系里面有 4 种角色,它们分别是资源拥有者、客户端、授权服务和受保护资源。为了详细的讲解四种授权流程,以产品 A 集成产品 B 进行授权登录为例,来具体说明四种授权流程和应用场景。3.1授权码模...
原创
发布博客 2022.04.30 ·
110 阅读 ·
1 点赞 ·
0 评论

必知必会的正则表达式

目录1 正则表达式概念2 正则表达式语法元字符限定符反义词3 正则表达式的应用汉字字符数字邮政编码日期格式手机号码IP地址邮箱地址身份证号特殊字符4 正则表达式可视化iHate Regexregex101The Regular Expression Visualizer, Simulator & Cross-Compiler Tool1 正则表达式概念正则表达式,又称规则表达式。(英语:Regular Ex
原创
发布博客 2022.04.30 ·
92 阅读 ·
1 点赞 ·
0 评论

Java 线程生命周期

Java线程生命周期
原创
发布博客 2022.04.21 ·
90 阅读 ·
1 点赞 ·
0 评论

Java 并发编程三要素

并发编程三要素学习。
原创
发布博客 2022.04.20 ·
1006 阅读 ·
2 点赞 ·
3 评论

Java 并发笔记

Java并发学习笔记。
原创
发布博客 2022.04.19 ·
514 阅读 ·
1 点赞 ·
0 评论

Optional 最佳实践

目录一 Optional 是什么二 Optional API介绍三 Optional 最佳实践3.1 不要直接返回 null,使用 Optional.empty();3.2 正确使用 ifPresent()3.3 少用 get(),多用orElse()和orElseGet()3.4 少用of(),多用ofNullable()一 Optional 是什么Optional 的作者 Brian Goetz 对这个 API 的说明:Our intention was
原创
发布博客 2022.04.09 ·
325 阅读 ·
1 点赞 ·
1 评论

MySQL存储时间的最佳实践

平时开发中经常需要记录时间,比如用于记录某条记录的创建时间以及修改时间。在数据库中存储时间的方式有很多种,比如 MySQL 本身就提供了日期类型,比如 DATETIME,TIMESTAMEP 等,我们也可以直接存储时间戳为 INT 类型,也有人直接将时间存储为字符串类型。那么到底哪种存储时间的方式更好呢?不要使用字符串存储时间类型这是初学者很容易犯的错误,容易直接将字段设置为 VARCHAR 类型,存储"2021-01-01 00:00:00"这样的字符串。当然这样做的优点是比较简单,上手快。
转载
发布博客 2022.03.13 ·
137 阅读 ·
1 点赞 ·
0 评论

SQL 优化最佳实践

本文是通过实践总结的,SQL优化的重点和要点。还需要在实践中灵活运用。
原创
发布博客 2022.02.26 ·
215 阅读 ·
1 点赞 ·
1 评论

List 分割最佳实践

List分割成多个子数组实践总结,它山之石可以攻玉。
原创
发布博客 2022.01.09 ·
307 阅读 ·
1 点赞 ·
0 评论

代码整洁之道学习

目录2.1 介绍2.2 名副其实2.3 避免误导2.4 做有意义的区分2.5 使用读的出来的名称2.6 使用可搜索的名称2.7 避免使用编码2.8 避免思维映射2.9 类名2.10 方法名2.11 别扮可爱2.12 每个概念对应一个词2.13 别用双关语2.14 使用解决方案领域名称2.15 使用源自所涉问题领域的名称2.16 添加有意义的语境2.17 不要添加没有用的语境2.1 介绍软件开发中命名随处可见,做好命名是必要且重要的。
原创
发布博客 2021.12.25 ·
218 阅读 ·
1 点赞 ·
0 评论

供应链服务术语

目录1 范围2 规范性引用文件3 供应链服务基础术语4 供应链服务商流术语5 供应链服务物流术语6 供应链服务资金流术语7 供应链服务信息流术语8 供应链服务综合术语1 范围本文件界定了供应链服务的术语及其定义。本文件适用于供应链服务及相关领域的信息处理和信息交换。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。 凡是不注日期的引用文件,其最新版本(包...
转载
发布博客 2021.11.21 ·
618 阅读 ·
1 点赞 ·
0 评论

为什么数组的下标都是从0开始而不是1?

目录一 数组寻址公式二 数组模型表示三 数组寻址计算一 数组寻址公式a[i]_address = base_address + i * data_type_sizedata_type_size 是数组中每一个元素大小。二 数组模型表示以 int[] a = new int[10] 为例。计算机给数组 a[10],分配了一块连续内存空间 2000~2039,内存块的首地址为 base_address = 2000。三 数组寻址计算假设数组从0开始,计算第9个元
原创
发布博客 2021.09.19 ·
157 阅读 ·
1 点赞 ·
0 评论

RPC必知必会

目录一 RPC是什么二 RPC通信流程2.1 请求部分2.2 响应部分一 RPC是什么RPC的全称是 Remote Procedure Call,即远程过程调用。什么是远程调用?本地服务调用远程服务。什么是RPC?RPC是帮助我们屏蔽网络编程细节,实现调用远程方法就像调用本地方法一样。总结来讲,RPC作用有两个:屏蔽远程调用跟本地调用的区别,让我们感觉就是调用项目内的方法; 隐藏底层网络通信的复杂性,让我们更专注于业务逻辑。二 RPC通信流程RPC通信流.
原创
发布博客 2021.08.28 ·
78 阅读 ·
1 点赞 ·
0 评论

工作中如何成长

德雷福斯模型德雷福斯是一个专业人员能力成长模型,这个模型认为所有专业人员都需要经历 5 个成长阶段,任何专业技能的从业者都需要经历新手、高级新手、胜任者、精通者、专家 5 个阶段。新手:无法独立完成工作,必须在有经验的同事指导下,学习相关的技能,完成工作。技能指的是:工具:开发用什么工具、开发用什么框架,怎么开发。协作:如何开会,如何写周报,如何与同事协作。业务:了解业务,了解业务领域知识。高级新手:不需要别人指导工作,能独立完成工作,缺少对工具和框架的思考,无法解决在工作中
原创
发布博客 2021.08.21 ·
43 阅读 ·
1 点赞 ·
0 评论

TP50、TP90、TP99的理解和使用

一 TP50、TP90、TP99 的概念1.1 什么是 TPTP 是 Top Percentile 的缩写,中文译作百分位。1.2 什么是百分位百分位是一个统计学的术语。如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。可表示为:一组N个观测值按数值大小排列。如,处于P%位置的值称第P百分位数。1.3 TP50、TP90、TP99 怎么理解TP50、TP90、TP99 是工程性能指标,以网络请求耗时为例:TP50:表
原创
发布博客 2021.04.24 ·
1421 阅读 ·
1 点赞 ·
0 评论

09-Redis IO 多路复用

目录一 Redis 是单线程还是多线程?二 为什么单线程的 Redis 性能很高?三 什么是 IO 多路复用技术?一 Redis 是单线程还是多线程?这个问题可以一分为二:Redis 是单线程,是因为 Redis 使用文件事件分派器来处理事件队列,且该文件事件分派器是单线程的,所以 Redis 才叫做单线程的模型。Redis 是多线程,是因为持久化、异步删除、集群数据同步等操作都是由数据读写线程之外其他线程执行的,所以 Redis 也可以叫做多线程模型。之所以大家都说是单线程
原创
发布博客 2021.04.18 ·
263 阅读 ·
1 点赞 ·
0 评论
加载更多