daiwei-dave
码龄9年
求更新 关注
提问 私信
  • 博客:363,533
    社区:1
    问答:377
    363,911
    总访问量
  • 141
    原创
  • 493
    粉丝
  • 64
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
加入CSDN时间: 2016-04-27

个人简介:剖开表象,理解实质.一个领域深入的越深,扩展另一个领域时则更全面

博客简介:

sinat_34814635的博客

查看详细资料
个人成就
  • 获得602次点赞
  • 内容获得65次评论
  • 获得1,510次收藏
  • 代码片获得872次分享
  • 博客总排名85,991名
  • 原力等级
    原力等级
    4
    原力分
    965
    本月获得
    1
创作历程
  • 27篇
    2024年
  • 15篇
    2023年
  • 16篇
    2022年
  • 18篇
    2021年
  • 1篇
    2020年
  • 28篇
    2018年
  • 18篇
    2017年
  • 18篇
    2016年
成就勋章
TA的专栏
  • 架构设计
    10篇
  • jvm
    5篇
  • mq
    5篇
  • 服务治理
    12篇
  • 容器
    1篇
  • 分库分表
    2篇
  • 分布式配置中心
    2篇
  • 开发工具
    1篇
  • core Java
    11篇
  • 程序人生
    2篇
  • java编程基础
    4篇
  • 数据结构与算法
    1篇
  • mysql
    11篇
  • java web
    2篇
  • ORM
    5篇
  • spring
    9篇
  • java并发
    7篇
  • java集合
    4篇
  • 缓存
    3篇
  • 分布式
    11篇
  • 数据库
  • 微服务组件
    8篇
  • tomcat
    3篇
  • 操作系统与计算机网络
    7篇

TA关注的专栏 1

TA关注的收藏夹 0

TA关注的社区 6

TA参与的活动 0

创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

90人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Java8 Labmbda 表达式

groupby方法有几个重载方法,上面使用的方法有三个参数第一个参数表示分组按照什么进行分类第二个参数表示分组结果最后用什么容器保存并返回,可以指定为LinkedHashMap,HashMap等第三个参数表示分类后,对应的分类的结果如何收集踩坑分享。
原创
博文更新于 2025.06.24 ·
484 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

java io模型

在《Unix网络编程》一书中提到了五种IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。具体方面请参考我的另一篇博客。
原创
博文更新于 2025.02.07 ·
1061 阅读 ·
8 点赞 ·
0 评论 ·
13 收藏

微服务架构设计

微服务(Microservice Architecture)是近几年流行的一种架构思想,关于它的概念很难一言以蔽之。究竟什么是微服务呢?简而言之,微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。
原创
博文更新于 2025.02.07 ·
1106 阅读 ·
27 点赞 ·
1 评论 ·
23 收藏

架构设计导论

它通过 Façade 服务适配不同的前端,通过服务组合和编排,组织和协调微服务。BFF 微服务可根据需求和流程变化,与前端应用版本协同发布,避免中台微服务为适配前端需求的变化,而频繁地修改和发布版本,从而保证微服务核心领域逻辑的稳定。企业级业务流程往往是多个微服务一起协作完成的,每个单一职责的微服务就像积木块,它。,微服务内的应用服务也是处理服务的组合和编排,那这二者有什么差异呢?BFF 位于中台微服务之上,主要职责是微服务之间的服务协调;BFF主要职责是处理微服务之间的服务组合和编排。
原创
博文更新于 2025.01.23 ·
1107 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

网络io模型

所谓的I/O就是计算机内存与外部设备之间拷贝数据的过程。我们知道CPU访问内存的速度远远高于外部设备,因此CPU是先把外部设备的数据读到内存里,然后再进行处理。请考虑一下这个场景,当你的程序通过 CPU向外部设备发出一个读指令时,数据从外部设备拷贝到内存往往需要一段时间,这个时候CPU没事干 了,你的程序是主动把CPU让给别人?还是让CPU不停地查:数据到了吗、数据到了吗…这就是I/O模型要解决的问题。
原创
博文更新于 2025.01.21 ·
789 阅读 ·
25 点赞 ·
0 评论 ·
12 收藏

jvm-内存管理

JVM的内存区域划分根据《Java虚拟机规范》的规定,运行时数据区通常包括这几个部分:程序计数器(Program Counter Register)、Java栈(VM Stack)、本地方法栈(Native Method Stack)、方法区(Method Area)、堆(Heap)。3.1 内存分配3.1.1 程序计数器想必学过汇编语言的朋友对程序计数器这个概念并不陌生,在汇编语言中,程序计数器是指CPU中的寄存器,它保存的是程序当前执行的指令的地址(也可以说保存下一...
原创
博文更新于 2025.01.21 ·
1269 阅读 ·
3 点赞 ·
1 评论 ·
7 收藏

RocketMQ

## RocketMQRocketMQ 是什么Github 上关于 RocketMQ 的介绍:RcoketMQ 是一款低延迟、高可靠、可伸缩、易于使用的消息中间件。具有以下特性:1.支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型2.在一个队列中可靠的先进先出(FIFO)和严格的顺序传递3.支持拉(pull)和推(push)两种消息模式4.单一队列百万消息的堆积能力5.支持多种消息协议,如 JMS、MQTT 等6.分布式高可用的部署架构,满足至少一次消息传递语义7.提供 d
原创
博文更新于 2025.01.20 ·
3635 阅读 ·
4 点赞 ·
0 评论 ·
12 收藏

Java高级特性

对比面向过程,是两种不同的处理问题的角度。面向过程更注重事情的每一个步骤及顺序,面向对象更注重事情有哪些参与者模型(对象)、及各自需要做什么(方法),及各自含有的特征(属性)。面向对象编程我个人理解就是:把一些特有的特征(属性)和行为(方法)封装在一个类里面,我们要去使用某个属性或者方法,就通过这个类来进行使用。比如:洗衣机洗衣服面向过程会将任务拆解成一系列的步骤(函数),1、打开洗衣机----->2、放衣服----->3、放洗衣粉>4、清洗----->5、烘干。
原创
博文更新于 2025.01.09 ·
809 阅读 ·
12 点赞 ·
0 评论 ·
10 收藏

JVM虚拟机总揽

不同的是,Java 虚拟机会将栈细分为面向 Java 方法的 Java 方法栈,面向本地方法(用 C++ 写的 native 方法)的本地方法栈,以及存放各个线程执行位置的 PC 寄存器。即 首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。当退出当前执行的方法时,不管是正常返回还是异常返回,Java 虚拟机均会弹出当前线程的当前栈帧,并将之舍弃。
原创
博文更新于 2025.01.09 ·
728 阅读 ·
13 点赞 ·
0 评论 ·
19 收藏

JVM-类加载机制

那么什么是类加载?Java的类加载,就是把字节码格式“.class”文件加载到JVM的方法区,并在JVM的堆区建立一 个java.lang.Class对象的实例,用来封装Java类相关的数据和方法。那Class对象又是什么呢?你可以 把它理解成业务类的模板,JVM根据这个模板来创建具体业务类对象实例。参考:https://gitee.com/daiwei-dave/core-java.git。
原创
博文更新于 2025.01.09 ·
1136 阅读 ·
26 点赞 ·
0 评论 ·
29 收藏

微服务组件nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
原创
博文更新于 2025.01.09 ·
5834 阅读 ·
3 点赞 ·
0 评论 ·
23 收藏

JVM调优

堆内存调整参数如图所示:我们可以发现每一个区域都有一个可变的伸缩区,当我们的内存空间不足的时候,会在可变的范围内扩大内存空间,当我们的内存空间变得不紧张的时候我们再释放可变空间。在堆内存的调优之中我们要特别注意两个参数-Xms初始化内存分配大小,默认为物理内存的1/64,-Xmx 最大的分配内存默认为物理内存的1/4。查看jvm配置可使用下面的命令。
原创
博文更新于 2025.01.08 ·
1131 阅读 ·
30 点赞 ·
0 评论 ·
22 收藏

分布式事务

一、基础概念1.1 假如没有分布式事务在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子:上图中包含了库存和订单两个独立的微服务,每个微服务维护了自己的数据库。在交易系统的业务逻辑中,一个商品在下单之前需要先调用库存服务,进行扣除库存,再调用订单服务,创建订单记录。正常情况下,两个数据库各自更新成功,两边数据维持着一致性。但是,在非正常情况下,有可能库存的扣减完成了,随后的订单记录却因为某些原因插入失败。这个时候,两边数据..
原创
博文更新于 2025.01.07 ·
4101 阅读 ·
6 点赞 ·
2 评论 ·
34 收藏

计算机网络基础

那是因为 2MSL 是一份报文存在于网络中最长的时间,超过该时间到达的报文都将被丢弃,而如果客户端最后的确认报文于网络中丢失的话,服务端必将发起超时请求,重新发送第三次挥手动作,此时等待中的客户端就可随即重新发送一份确认请求。这是为什么客户端等待一个最长报文传输时间的原因。有人可能好奇为什么前面的各次请求都没有做超时等待而只最后一次数据发送做了超时等待?
原创
博文更新于 2025.01.06 ·
850 阅读 ·
12 点赞 ·
0 评论 ·
11 收藏

分布式事务Seata

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。其中,TC 为单独部署的 Server 服务端,TM 和 RM 为嵌入到应用中的 Client 客户端。管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。定义全局事务的范围:开始全局事务、提交或回滚全局事务。维护全局和分支事务的状态,驱动全局事务提交或回滚。
原创
博文更新于 2025.01.03 ·
968 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

分布式架构

首先是无状态前端机器不足以承载请求流量,需要进行水平扩展,一般QPS是千级。然后是关系型数据库无法承载读取或写入峰值,需要数据库横向扩展或引入nosql,一般是千到万级。之后是单机nosql无法承载,需要nosql横向扩展,一般是十万到百万QPS。最后是难以单纯横向扩展nosql,比如微博就引入多级缓存架构,这种架构一般可以应对百万到千万对nosql的访问QPS。当然面向用户的接口请求一般到不了这个量级,QPS递增大多是由于读放大造成的压力,但也属于高并发架构考虑的范畴。相关联的领域概念。
原创
博文更新于 2024.12.18 ·
915 阅读 ·
26 点赞 ·
0 评论 ·
28 收藏

数据库选型

关系数据库经过几十年的发展后已经非常成熟,强大的 SQL 功能和 ACID 的属性,使得关系数据库广泛应用于各式各样的系统中,但这并不意味着关系数据库是完美的,关系数据库存在如下缺点。关系数据库缺点以微博的关注关系为例,“我关注的人”是一个用户 ID 列表,使用关系数据库存储只能将列表拆成多行,然后再查询出来组装,无法直接存储一个列表。
原创
博文更新于 2024.12.17 ·
1073 阅读 ·
12 点赞 ·
1 评论 ·
28 收藏

Tomcat架构设计

Tomcat总体架构ServerServer是Tomcat中最顶层的组件,它可以包含多个Service组件。在Tomcat源代码中Server组件对应源码中的 org.apache.catalina.core.StandardServer 类。Service接下来咋们来看看Service组件,Service组件相当于Connetor和Engine组件的包装器,它将一个或...
原创
博文更新于 2024.12.11 ·
953 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

传统SOA架构

一、基础概念分布式处理则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来, 在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。适用场景 1)性能瓶颈 首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也不能进一步优化的时候,......
原创
博文更新于 2024.12.09 ·
1775 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

MyBatis- plus

使用saveBatch()方法时, MySQL JDBC驱动在默认情况下会无视executeBatch()语句,把我们期望批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,批量插入实际上是单条插入,直接造成较低的性能。查看对应源码。
原创
博文更新于 2024.11.29 ·
2319 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏
加载更多