你的boy_Z
码龄8年
关注
提问 私信
  • 博客:52,886
    52,886
    总访问量
  • 44
    原创
  • 2,116,555
    排名
  • 25
    粉丝
  • 0
    铁粉

个人简介:timianer

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2016-11-06
博客简介:

你的BoyZ的博客

博客描述:
走春夏秋冬天南地北母亲已经白头,我也不在年幼。
查看详细资料
个人成就
  • 获得27次点赞
  • 内容获得10次评论
  • 获得109次收藏
创作历程
  • 1篇
    2022年
  • 29篇
    2021年
  • 11篇
    2020年
  • 3篇
    2019年
成就勋章
TA的专栏
  • 算法
    9篇
  • 计算机网络
    3篇
  • 数据库
    4篇
  • JVM
    1篇
  • kafka
    3篇
  • TCP/IP
    2篇
  • 系统设计
    2篇
  • 并发
    6篇
  • java基础
    9篇
  • io
    1篇
  • 微服务
    1篇
  • spring
    7篇
  • leetcode
    8篇
  • Redis
    1篇
  • l链表
    1篇
  • Demo
    1篇
  • idea
    1篇
  • DB
    1篇
兴趣领域 设置
  • 后端
    spring架构
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

多线程无锁红包实现方案

多线程无锁红包实现方案背景朋友面试遇到过写好红包的场景,遂自己尝试了下。刚开始在如何分配的时候还是有点疑惑,后来慢慢解决,并写了一个无锁的版本,希望大家一起讨论下。如果大家用得到,帮忙点个赞哈。代码@Datapublic class RedPacket { //红包总额 private Double total; //红包份数 private Integer counts; //红包分隔之后的载体 private List<Double&g
原创
发布博客 2022.01.06 ·
647 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HTTP协议学习(一)

HTTP协议学习(一)背景up二刷《Http/2 in Action》时,记录一些自认为重要的知识点;内容HTTP1.1根本的问题一个域名下的多个请求需要排队执行,不能并发的获取资源。这样就造成了时间的浪费。这种现象会随着资源数量的增多更加严重。也可以说是客户端和服务端处理资源的时间远小于http消息传输时间;HTTP/1.1管道化技术可以解决该问题,但由于多种原因,它很难实现,易于出错,并且没有获得Web浏览器和Web服务器的良好支持。因此,它很少被使用。没有一个主流的Web浏览器支持管道
原创
发布博客 2021.12.07 ·
624 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL学习四之锁

MySQL学习四之锁一、为什么需要锁锁机制用于对共享资源的并发访问。当多个用户并发地存取数据时,在数据库中就可能会产生多个事务同时操作同一行数据的情况,若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据的一致性。一种典型的并发问题——丢失更新(其他锁问题及解决方法会在后面说到):执行顺序事务A事务B1开启事务A2开始事务B3查询当前商品S库存为1004查询当前库存为1005业务逻辑处理,增加库存106业务处理增加
原创
发布博客 2021.10.14 ·
200 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

mySql学习(三)之Innodb事务学习

Innodb事务学习1 事务的实现事务的隔离性是由锁来实现的。原子性、一致性、持久性是通过数据库的redo log和undo log来实现的。redo log称为重做日志,用来保证事务的持久性。undo log用来保证事务的一致性。这里不要认为undo log 是redo log的逆过程,这种理解是不对的。 redo 中记录的是恢复提交事务修改的页的操作,也就说page no ,offset 修改成了啥,而undo回滚行记录到某个特定版本。因此两者记录的内容不同, redo通常是物理日志, 记录的是
原创
发布博客 2021.10.08 ·
221 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

海量数据处理学习

海量数据处理学习前言本篇博客学习一下常见的海量数据处理的问题。还记得博主去年面试度娘的时候就考了一道。题目大概的意思就是有一个很大的文件,文件中是一串数字,在有限内存的机器下,怎么将这个很大内存的文件排序。当时说了归并排序,感觉没说到重点。遂来学习学习。如何从大量的 URL 中找出相同的 URL?题目描述给定 a、b 两个文件,各存放 50 亿个 URL,每个 URL 各占 64B,内存限制是 4G。请找出 a、b 两个文件共同的 URL。解答思路1. 分治策略每个 URL 占 64B,那么
原创
发布博客 2021.07.05 ·
527 阅读 ·
0 点赞 ·
3 评论 ·
3 收藏

Kafka学习之消费者

Kafka学习之消费者前言本博客主要介绍up在学习kafka中间件时候觉得需要记录的知识点。内容1、消费者与消费组消费者(Consumer)负责订阅Kafka中的主题(Topic),并且从订阅的主题上拉取消息。与其他一些消息中间件不同的是:在Kafka的消费理念中还有一层消费组(Consumer Group)的概念,每个消费者都有一个对应的消费组。当消息发布到主题后,只会被投递给订阅它的每个消费组中的一个消费者(也就是说订阅了同一个主题的消费组会收到同样的消息,但是同一消费组里面的消费者获取的是不
原创
发布博客 2021.07.01 ·
534 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Kafka学习之生产者

Kafka学习之生产者前言本篇博客记录一下up学习kafka时候对生产者学习的一些知识点。原理分析整体架构分析首先我们来看一下生产者客户端的整体架构,如下图所示:可以看出,整个生产者是通过两种线程协调运行的,分别是主线程和Sender线程。 主线程的作用是创建消息,然后经过拦截器、序列号器和分区器发送到消息累加器。(可以理解为把消息缓存到内存里面了,对于客户端使用者来说,感受的流程就结束了,其余的流程都是kafka自己完成的) Sender线程的作用可以理解为拉取,从消息累加器(RecordA
原创
发布博客 2021.06.24 ·
273 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

kafka之事务

kafka学习之事务前言为了实现EOS(exactly once semantics,精确一次处理语义)karka从0.11.0.0版本开始引入了幂等性和事务两个特性来支撑。场景最简单的需求是producer发的多条消息组成一个事务这些消息需要对consumer同时可见或者同时不可见 。producer可能会给多个topic,多个partition发消息,这些消息也需要能放在一个事务里面,这就形成了一个典型的分布式事务。kafka的应用场景经常是应用先消费一个topic,然后做处理再发到另一个
原创
发布博客 2021.06.21 ·
7117 阅读 ·
11 点赞 ·
2 评论 ·
53 收藏

TCP三次握手和四次挥手学习

TCP三次握手和四次挥手学习前言近期对TCP协议进行复习,发现很多地方在上学的时候理解不是很深刻,所以再次学习和总结一下。1、三次握手三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP(发送/接受/拥塞/滑动)窗口大小信息。刚开
原创
发布博客 2021.05.19 ·
130 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

TCP拥塞机制学习

TCP拥塞机制学习写在前面很早就想总结一下tcp方面的知识了,心动不如行动,这一块面试重点,而其也是coder的必修课。一、TCP头部报文格式了解任何一个协议都要从它的协议报文开始,我们先看一下他的格式和一些基本概念。TCP头部标准长度是20字节。包含源端口,目的端口、序列号、确认号、数据偏移、保留位、控制位、窗口大小、校验和、紧急指针、选项等。1.1 数据偏移(Data Offset)该字段长4位,单位是4字节。表示tcp头部的长度,默认一般是20字节,最大就是1111(二进制)*4字节
原创
发布博客 2021.05.18 ·
1599 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

系统设计学习(二)系统怎样做到高可用

系统设计学习(二)系统怎样做到高可用写在前面​ 这篇文章主要分享再系统设计中怎样设计高可用系统,整体偏理论,up也会根据自己的项目来写一些自己如何改造成高可用的列子。​ 高可用性(High Availability, HA)是我们经常听到的名字,无论是再平时的工作还是面试中,都是一个热点词汇,up再面试各种大厂中都会问就是了解系统的高可用嘛? 怎么保证高可用?你做过那些高可用? 这些问题真的是很常见。所以才有了这一系列文章的诞生。言归正传,我们在很多开源组件的文档中都会看到HA的方案,它可以有限性的避
原创
发布博客 2021.04.21 ·
573 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

mysql学习之InnoDB(二)

mysql学习之InnoDB(二)写在前面本篇博客主要记录一下innoDB存储引擎中比较常见和重要得文件学习。这些文件主要是分为以下几类:参数文件:告诉MySQL实例启动时在哪里可以找到数据库文件,并 且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置, 还会介绍各种参数的类型。日志文件:用来记录MySQL实例对某种条件做出响应时写入的文 件,如错误日志文件、二进制日志文件、慢查询日志文件、查询日志文 件等。socket文件:当用UNIX域套接字方式进行连接时需要的文件。
原创
发布博客 2021.04.20 ·
743 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mysql学习之InnoDB

mysql学习之InnoDB(一)写在前面InnoDB通过使用多版本并发控制(MVCC)来获得高并发性,并且实现 了SQL标准的4种隔离级别,默认为REPEATABLE级别。同时,使用一 种被称为next-key locking的策略来避免幻读(phantom)现象的产生。 除此之外,InnoDB储存引擎还提供了插入缓冲(insert buffer)、二次写 (double write)、自适应哈希索引(adaptive hash index)、**预读(read ahead)**等高性能和高可用的功能
原创
发布博客 2021.04.12 ·
336 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

系统设计学习(一) 如何提升系统性能?

系统设计学习(一) 如何提升系统性能?一、前言性能反应了系统的使用体验,两个系统QPS都是1w,如果第一个响应是毫秒级别,第二个响应是秒级别,它们带给用户的体验肯定是不同的。二、性能优化原则想实现一个功能,就要了解这个功能的原则。**首先,性能优化一定不能盲目,一定是问题导向的。**脱离了问题,盲目地提早优化会增加系统的复杂度,浪费开发人员的时间,并且也因为某些优化可能对业务上有些折中的考虑,所以也会损伤业务。**其次,性能优化也遵循“八二原则”,**即你可以用20%的精力解决80%的性能问题。
原创
发布博客 2021.03.20 ·
1647 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

线程数确定

线程数确定前言这篇文章主要介绍系统中线程数量怎么确定解决方案根据线程计算时间和等待时间Ncpu : 服务器cpu核心数量Ucpu: 服务器cpu的利用率W: 线程的等待时间(IO操作)C: 线程的计算时间Nthread : 系统理想化线程数量Nthread = Ncpu * Ucpu * (1+W/C);常规方案2*Ncpu 我觉得这里是认为线程等待时间等于线程计算时间TPS方案tps(transcationsPerSecond):也就是事务数/秒。它是软件测试结果的测量单位。一
原创
发布博客 2021.02.20 ·
437 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

IO学习

IO学习之IO模型前言五种IO模型包括:阻塞IO、非阻塞IO、信号驱动IO、IO多路转接、异步IO。其中,前四个被称为同步IO。一 、阻塞IO由名字可以得知,该io操作是阻塞的。阻塞这个概念我们在锁的时候接触过,当一个线程获取不到锁的时候就会阻塞。IO一样,当前线程去申请一个阻塞IO,这个是会阻塞该线程,直达请求数据拿到。下面详细说一下流程,一个线程调用高级语言 file获取文件接口(fd:文件描述符)–》系统IO接口–》驱动—》中断–》CPU–》磁盘。 在调用系统接口时,由于我们是用户空间调用
原创
发布博客 2021.02.20 ·
328 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

微服务学习之Consul与Feign

微服务学习之Consul&&Feign1、ConsulCAP原理:​ Consistency(一致性) :​ Availability(可用性):​ Partition Tolerance(分区容错):Eureka : 保证 AP Consul:则是 CP1、各个注册中心的比较FeatureeuerkaConsulzookeeperetcd服务健康检查可配支持服务状态,内存,硬盘等(弱)长连接,keepalive连接心跳多数据中
原创
发布博客 2021.02.08 ·
2041 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

Springboot学习(五)WEB

Spring Boot学习(五)Web1、SpringBoot对静态资源的映射规则;@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)public class ResourceProperties {//可以设置和静态资源有关的参数, 缓存时间@Override public void addResourceHandlers(ResourceHandlerRegistry reg
原创
发布博客 2021.02.08 ·
176 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

spring学习之aop

spring学习之Aop一:AOP@EanbleAspectJAutoProxy被代理类@Service("calculate")public class CalculateImpl implements Calculate { @Override public int add(int numA, int numB) { System.out.println("执行目标方法:add"); return numA + numB; }
原创
发布博客 2021.02.08 ·
143 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring学习之ContextRefreshr

Spring学习之ContextRefresher前言工作中,遇到了可以监听通知不需要重启容器就可以自动更改Spring 中配置的方法,看了源码发现是利用了ContextRefresher。之前研究微服务的时候了解过全局配置,当时是主动触发/refresh接口实现的,其实原理都是一样,都是通过ContextRefresher,只是触发的方式不同罢了,这篇文章主要研究一下其源码和流程。@RefreshScope首先了解这个注解,只有这个注解标注的类才具有刷新功能。spring 的是scopeSco
原创
发布博客 2021.02.08 ·
3331 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏
加载更多